#define __PIPELINEEDITOR__QNODESEDITOR__H__\r
\r
#include <QObject>\r
+#include <QPointF>\r
+#include <cpExtensions/DataStructures/Graph.h>\r
+#include <cpPlugins/Interface/Workspace.h>\r
\r
class QGraphicsScene;\r
+class QGraphicsSceneMouseEvent;\r
class QGraphicsItem;\r
-class QPointF;\r
+class QGraphicsSceneContextMenuEvent;\r
+class QGraphicsSceneDragDropEvent;\r
+class QGraphicsSceneHelpEvent;\r
+class QGraphicsSceneHoverEvent;\r
+class QGraphicsSceneMouseEvent;\r
+class QGraphicsSceneMoveEvent;\r
+class QGraphicsSceneResizeEvent;\r
+class QGraphicsSceneWheelEvent;\r
+\r
+// -------------------------------------------------------------------------\r
+#define PipelineEditor_QNodesEditor_Callback_DCL( E ) \\r
+ void _##E##_cbk( Q##E##Event* e );\r
\r
namespace PipelineEditor\r
{\r
typedef QNodesEditor Self;\r
typedef QObject Superclass;\r
\r
+ typedef cpPlugins::Interface::Workspace TWorkspace;\r
+ typedef TWorkspace::TFilter TFilter;\r
+ typedef\r
+ cpExtensions::DataStructures::\r
+ Graph< QNEBlock*, QNEConnection*, std::string > TGraph;\r
+\r
public:\r
explicit QNodesEditor( QObject* parent = 0 );\r
virtual ~QNodesEditor( );\r
\r
- void install( QGraphicsScene* s );\r
+ TWorkspace* workspace( );\r
+ const TWorkspace* workspace( ) const;\r
+ void setWorkspace( TWorkspace* ws );\r
\r
+ std::string createFilter(\r
+ const std::string& filter,\r
+ const QPointF& pnt = QPointF( qreal( 0 ), qreal( 0 ) )\r
+ );\r
+\r
+ void install( QGraphicsScene* s );\r
bool eventFilter( QObject* o, QEvent* e );\r
\r
private:\r
QGraphicsItem* itemAt( const QPointF& pos );\r
\r
+ inline void _CreateBlock( TFilter* f, const QPointF& pnt );\r
+\r
+ protected:\r
+ typedef QGraphicsSceneDragDropEvent QGraphicsSceneDragEnterEvent;\r
+ typedef QGraphicsSceneDragDropEvent QGraphicsSceneDragLeaveEvent;\r
+ typedef QGraphicsSceneDragDropEvent QGraphicsSceneDragMoveEvent;\r
+ typedef QGraphicsSceneDragDropEvent QGraphicsSceneDropEvent;\r
+ typedef QGraphicsSceneHoverEvent QGraphicsSceneHoverEnterEvent;\r
+ typedef QGraphicsSceneHoverEvent QGraphicsSceneHoverMoveEvent;\r
+ typedef QGraphicsSceneHoverEvent QGraphicsSceneHoverLeaveEvent;\r
+ typedef QGraphicsSceneMouseEvent QGraphicsSceneMouseDoubleClickEvent;\r
+ typedef QGraphicsSceneMouseEvent QGraphicsSceneMouseMoveEvent;\r
+ typedef QGraphicsSceneMouseEvent QGraphicsSceneMousePressEvent;\r
+ typedef QGraphicsSceneMouseEvent QGraphicsSceneMouseReleaseEvent;\r
+\r
+ PipelineEditor_QNodesEditor_Callback_DCL( GraphicsSceneContextMenu );\r
+ PipelineEditor_QNodesEditor_Callback_DCL( GraphicsSceneDragEnter );\r
+ PipelineEditor_QNodesEditor_Callback_DCL( GraphicsSceneDragLeave );\r
+ PipelineEditor_QNodesEditor_Callback_DCL( GraphicsSceneDragMove );\r
+ PipelineEditor_QNodesEditor_Callback_DCL( GraphicsSceneDrop );\r
+ PipelineEditor_QNodesEditor_Callback_DCL( GraphicsSceneHelp );\r
+ PipelineEditor_QNodesEditor_Callback_DCL( GraphicsSceneHoverEnter );\r
+ PipelineEditor_QNodesEditor_Callback_DCL( GraphicsSceneHoverLeave );\r
+ PipelineEditor_QNodesEditor_Callback_DCL( GraphicsSceneHoverMove );\r
+ PipelineEditor_QNodesEditor_Callback_DCL( GraphicsSceneMouseDoubleClick );\r
+ PipelineEditor_QNodesEditor_Callback_DCL( GraphicsSceneMouseMove );\r
+ PipelineEditor_QNodesEditor_Callback_DCL( GraphicsSceneMousePress );\r
+ PipelineEditor_QNodesEditor_Callback_DCL( GraphicsSceneMouseRelease );\r
+ PipelineEditor_QNodesEditor_Callback_DCL( GraphicsSceneMove );\r
+ PipelineEditor_QNodesEditor_Callback_DCL( GraphicsSceneResize );\r
+ PipelineEditor_QNodesEditor_Callback_DCL( GraphicsSceneWheel );\r
+\r
private:\r
QGraphicsScene* m_Scene;\r
QNEConnection* m_Conn;\r
+\r
+ TWorkspace* m_Workspace;\r
+ TGraph::Pointer m_Graph;\r
};\r
\r
} // ecapseman\r
#endif // __PIPELINEEDITOR__QNODESEDITOR__H__\r
\r
// eof - $RCSfile$\r
+\r
+ /* TODO\r
+ case QEvent::GraphicsSceneContextMenu:\r
+ QGraphicsSceneContextMenuEvent* evt =\r
+ \r
+ case QEvent::GraphicsSceneDragEnter:\r
+ case QEvent::GraphicsSceneDragLeave:\r
+ case QEvent::GraphicsSceneDragMove:\r
+ case QEvent::GraphicsSceneDrop:\r
+ case QEvent::GraphicsSceneHelp:\r
+ case QEvent::GraphicsSceneHoverEnter:\r
+ case QEvent::GraphicsSceneHoverLeave:\r
+ case QEvent::GraphicsSceneHoverMove:\r
+ case QEvent::GraphicsSceneMouseDoubleClick:\r
+ case QEvent::GraphicsSceneMouseMove:\r
+ case QEvent::GraphicsSceneMousePress:\r
+ case QEvent::GraphicsSceneMouseRelease:\r
+ case QEvent::GraphicsSceneMove:\r
+ case QEvent::GraphicsSceneResize:\r
+ case QEvent::GraphicsSceneWheel:\r
+ */\r
+ \r