X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=appli%2FcpPipelineEditor%2FQNEBlock.h;h=8e95ce0863e1fc32df85f97d413b2baa47e3c2b2;hb=c06908465eb6da50572779f423d1e2c9e03b68dd;hp=dfe51991deb45c99bc576038c46b6a26853c4029;hpb=243d2b4557e27cde3789ab089403cbe03aede786;p=cpPlugins.git diff --git a/appli/cpPipelineEditor/QNEBlock.h b/appli/cpPipelineEditor/QNEBlock.h index dfe5199..8e95ce0 100644 --- a/appli/cpPipelineEditor/QNEBlock.h +++ b/appli/cpPipelineEditor/QNEBlock.h @@ -37,6 +37,7 @@ namespace PipelineEditor class QNETypePort; class QNEInputPort; class QNEOutputPort; + class QNEConnection; class QNEBlock : public QGraphicsPathItem @@ -56,34 +57,25 @@ namespace PipelineEditor 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 ); + + bool extendInputPort( const QString& txt, QNEConnection* conn ); + bool extendOutputPort( const QString& txt, QNEConnection* conn ); + + QNEInputPort* inputPort( const QString& txt ); + QNEOutputPort* outputPort( const QString& txt ); + + QString namePort( ) const; + const QNEInputPort* inputPort( const QString& txt ) const; + const QNEOutputPort* outputPort( const QString& txt ) const; + const QNEConnection* extendedInputPort( const QString& txt ) const; + const QNEConnection* extendedOutputPort( const QString& txt ) const; + inline int type( ) const { return( this->Type ); } - void paint( + virtual void paint( QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget @@ -91,8 +83,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; @@ -101,8 +96,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; + std::map< std::string, QNEConnection* > m_ExtOutputPorts; + std::map< std::string, QNEConnection* > m_ExtInputPorts; TFilter::Pointer m_Filter; };