1 #ifndef __PIPELINEEDITOR__QNODESEDITORCANVAS__H__
2 #define __PIPELINEEDITOR__QNODESEDITORCANVAS__H__
4 #include <QtGui/QGraphicsView>
5 #include <cpExtensions/DataStructures/Graph.h>
6 #include <cpPlugins/Interface/Workspace.h>
8 namespace PipelineEditor
10 // Some other forward declarations
17 class QNodesEditorCanvas
18 : public QGraphicsView
23 typedef cpPlugins::Interface::Workspace TWorkspace;
24 typedef TWorkspace::TFilter TFilter;
26 cpExtensions::DataStructures::
27 Graph< QNEBlock*, QNEConnection*, std::string > TGraph;
30 QNodesEditorCanvas( QWidget* parent = 0 );
31 virtual ~QNodesEditorCanvas( );
33 TWorkspace* workspace( );
34 const TWorkspace* workspace( ) const;
35 void setWorkspace( TWorkspace* ws );
39 void keyPressEvent( QKeyEvent* event );
40 void timerEvent( QTimerEvent* event );
42 void wheelEvent( QWheelEvent* event );
44 void dragEnterEvent( QDragEnterEvent* event );
45 void dragLeaveEvent( QDragLeaveEvent* event );
46 void dragMoveEvent( QDragMoveEvent* event );
47 void dropEvent( QDropEvent* event );
49 void _scaleView( qreal scaleFactor );
50 void _createBlock( TFilter* f );
53 TWorkspace* m_Workspace;
54 QNodesEditor* m_Editor;
55 TGraph::Pointer m_Graph;
60 #endif // __PIPELINEEDITOR__QNODESEDITORCANVAS__H__