#ifndef __PIPELINEEDITOR__QNODESEDITORCANVAS__H__ #define __PIPELINEEDITOR__QNODESEDITORCANVAS__H__ #include #include #include namespace PipelineEditor { // Some other forward declarations class QNEBlock; class QNEConnection; class QNodesEditor; /** */ class QNodesEditorCanvas : public QGraphicsView { Q_OBJECT; public: typedef cpPlugins::Interface::Workspace TWorkspace; typedef TWorkspace::TFilter TFilter; typedef cpExtensions::DataStructures:: Graph< QNEBlock*, QNEConnection*, std::string > TGraph; public: QNodesEditorCanvas( QWidget* parent = 0 ); virtual ~QNodesEditorCanvas( ); TWorkspace* workspace( ); const TWorkspace* workspace( ) const; void setWorkspace( TWorkspace* ws ); protected: /* TODO void keyPressEvent( QKeyEvent* event ); void timerEvent( QTimerEvent* event ); */ void wheelEvent( QWheelEvent* event ); void dragEnterEvent( QDragEnterEvent* event ); void dragLeaveEvent( QDragLeaveEvent* event ); void dragMoveEvent( QDragMoveEvent* event ); void dropEvent( QDropEvent* event ); void _scaleView( qreal scaleFactor ); void _createBlock( TFilter* f ); protected: TWorkspace* m_Workspace; QNodesEditor* m_Editor; TGraph::Pointer m_Graph; }; } // ecapseman #endif // __PIPELINEEDITOR__QNODESEDITORCANVAS__H__ // eof - $RCSfile$