X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=appli%2FcpPipelineEditor%2FQNEBlock.h;h=d1a398ee81330715559be639ebf10dc88a896abe;hb=f8c546490b7168b5c75d877bf66d27f83aa9412c;hp=6b591ac726c15b8cae1016398d936289ff762bf6;hpb=f4aeff15ebb41183d4b89f41b29ec26043848722;p=cpPlugins.git diff --git a/appli/cpPipelineEditor/QNEBlock.h b/appli/cpPipelineEditor/QNEBlock.h index 6b591ac..d1a398e 100644 --- a/appli/cpPipelineEditor/QNEBlock.h +++ b/appli/cpPipelineEditor/QNEBlock.h @@ -28,6 +28,7 @@ #define __PIPELINEEDITOR__QNEBLOCK__H__ #include +#include namespace PipelineEditor { @@ -43,38 +44,27 @@ namespace PipelineEditor public: typedef QNEBlock Self; typedef QGraphicsPathItem Superclass; + typedef cpPlugins::Interface::ProcessObject TFilter; public: enum { Type = QGraphicsItem::UserType + 6 }; - QNEBlock( QGraphicsItem* parent = NULL, QGraphicsScene* scene = NULL ); + QNEBlock( + TFilter* filter, + QGraphicsItem* parent = NULL, QGraphicsScene* scene = NULL + ); virtual ~QNEBlock( ); void setNamePort( const QString& txt ); - void setTypePort( const QString& txt ); - void addInputPort( const QString& txt ); - void addOutputPort( const QString& txt ); - QVector< QNEPort* > ports( ); - - inline QNENamePort* namePort( ) - { return( this->m_NamePort ); } - inline QNETypePort* typePort( ) - { return( this->m_TypePort ); } - inline QVector< QNEInputPort* >& inputPorts( ) - { return( this->m_InputPorts ); } - inline QVector< QNEOutputPort* >& outputPorts( ) - { return( this->m_OutputPorts ); } - - inline const QNENamePort* namePort( ) const - { return( this->m_NamePort ); } - inline const QNETypePort* typePort( ) const - { return( this->m_TypePort ); } - inline const QVector< QNEInputPort* >& inputPorts( ) const - { return( this->m_InputPorts ); } - inline const QVector< QNEOutputPort* >& outputPorts( ) const - { return( this->m_OutputPorts ); } - - QNEBlock* clone( ); + QNEInputPort* addInputPort( const QString& txt ); + QNEOutputPort* addOutputPort( const QString& txt ); + QNEInputPort* inputPort( const QString& txt ); + QNEOutputPort* outputPort( const QString& txt ); + + const QString& namePort( ) const; + const QNEInputPort* inputPort( const QString& txt ) const; + const QNEOutputPort* outputPort( const QString& txt ) const; + inline int type( ) const { return( this->Type ); } @@ -86,8 +76,11 @@ namespace PipelineEditor protected: QVariant itemChange( GraphicsItemChange change, const QVariant& value ); + void _setTypePort( const QString& txt ); void _configPort( QNEPort* port ); + virtual void mouseReleaseEvent( QGraphicsSceneMouseEvent* evt ); + private: int m_HorzMargin; int m_VertMargin; @@ -96,8 +89,10 @@ namespace PipelineEditor QNENamePort* m_NamePort; QNETypePort* m_TypePort; - QVector< QNEInputPort* > m_InputPorts; - QVector< QNEOutputPort* > m_OutputPorts; + std::map< std::string, QNEInputPort* > m_InputPorts; + std::map< std::string, QNEOutputPort* > m_OutputPorts; + + TFilter::Pointer m_Filter; }; } // ecapseman