X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=appli%2FcpPipelineEditor%2FQNodesEditor.h;h=f338d91a8a08566c437ac41d50584079f946e8d0;hb=f8c546490b7168b5c75d877bf66d27f83aa9412c;hp=c2db807d2d82f111e472fa547e50ae226ed9a8e3;hpb=9c75dcecf566cc567583caf4687ce523a2af586d;p=cpPlugins.git diff --git a/appli/cpPipelineEditor/QNodesEditor.h b/appli/cpPipelineEditor/QNodesEditor.h index c2db807..f338d91 100644 --- a/appli/cpPipelineEditor/QNodesEditor.h +++ b/appli/cpPipelineEditor/QNodesEditor.h @@ -28,10 +28,13 @@ #define __PIPELINEEDITOR__QNODESEDITOR__H__ #include +#include +#include +#include class QGraphicsScene; +class QGraphicsSceneMouseEvent; class QGraphicsItem; -class QPointF; namespace PipelineEditor { @@ -49,20 +52,40 @@ namespace PipelineEditor typedef QNodesEditor Self; typedef QObject Superclass; + typedef cpPlugins::Interface::Workspace TWorkspace; + typedef TWorkspace::TFilter TFilter; + typedef + cpExtensions::DataStructures:: + Graph< QNEBlock*, QNEConnection*, std::string > TGraph; + public: explicit QNodesEditor( QObject* parent = 0 ); virtual ~QNodesEditor( ); - void install( QGraphicsScene* s ); + TWorkspace* workspace( ); + const TWorkspace* workspace( ) const; + void setWorkspace( TWorkspace* ws ); + + std::string createFilter( + const std::string& filter, + const QPointF& pnt = QPointF( qreal( 0 ), qreal( 0 ) ) + ); + void install( QGraphicsScene* s ); bool eventFilter( QObject* o, QEvent* e ); private: QGraphicsItem* itemAt( const QPointF& pos ); + inline void _CreateBlock( TFilter* f, const QPointF& pnt ); + inline void _DoubleClick( QGraphicsSceneMouseEvent* evt, QGraphicsItem* item ); + private: QGraphicsScene* m_Scene; QNEConnection* m_Conn; + + TWorkspace* m_Workspace; + TGraph::Pointer m_Graph; }; } // ecapseman