]> Creatis software - cpPlugins.git/blobdiff - appli/cpPipelineEditor/QNEBlock.h
More on graph editor
[cpPlugins.git] / appli / cpPipelineEditor / QNEBlock.h
index 516e871c71ca2b9dde5b5ac993665ce036567024..6b591ac726c15b8cae1016398d936289ff762bf6 100644 (file)
@@ -21,7 +21,8 @@
    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\r
    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r
    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */\r
+   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+*/\r
 \r
 #ifndef __PIPELINEEDITOR__QNEBLOCK__H__\r
 #define __PIPELINEEDITOR__QNEBLOCK__H__\r
 namespace PipelineEditor\r
 {\r
   class QNEPort;\r
+  class QNENamePort;\r
+  class QNETypePort;\r
+  class QNEInputPort;\r
+  class QNEOutputPort;\r
 \r
   class QNEBlock\r
     : public QGraphicsPathItem\r
@@ -40,39 +45,59 @@ namespace PipelineEditor
     typedef QGraphicsPathItem Superclass;\r
   \r
   public:\r
-    enum { Type = QGraphicsItem::UserType + 3 };\r
+    enum { Type = QGraphicsItem::UserType + 6 };\r
 \r
     QNEBlock( QGraphicsItem* parent = NULL, QGraphicsScene* scene = NULL );\r
     virtual ~QNEBlock( );\r
 \r
-    QNEPort* addPort(\r
-      const QString& name, bool isOutput, int flags = 0, int ptr = 0\r
-      );\r
-    void addInputPort( const QString& name );\r
-    void addOutputPort( const QString& name );\r
-    void addInputPorts( const QStringList& names );\r
-    void addOutputPorts( const QStringList& names );\r
-    void save( QDataStream& ds );\r
-    void load( QDataStream& ds, QMap< quint64, QNEPort* >& portMap );\r
+    void setNamePort( const QString& txt );\r
+    void setTypePort( const QString& txt );\r
+    void addInputPort( const QString& txt );\r
+    void addOutputPort( const QString& txt );\r
+    QVector< QNEPort* > ports( );\r
+\r
+    inline QNENamePort* namePort( )\r
+      { return( this->m_NamePort ); }\r
+    inline QNETypePort* typePort( )\r
+      { return( this->m_TypePort ); }\r
+    inline QVector< QNEInputPort* >& inputPorts( )\r
+      { return( this->m_InputPorts ); }\r
+    inline QVector< QNEOutputPort* >& outputPorts( )\r
+      { return( this->m_OutputPorts ); }\r
+\r
+    inline const QNENamePort* namePort( ) const\r
+      { return( this->m_NamePort ); }\r
+    inline const QNETypePort* typePort( ) const\r
+      { return( this->m_TypePort ); }\r
+    inline const QVector< QNEInputPort* >& inputPorts( ) const\r
+      { return( this->m_InputPorts ); }\r
+    inline const QVector< QNEOutputPort* >& outputPorts( ) const\r
+      { return( this->m_OutputPorts ); }\r
+\r
+    QNEBlock* clone( );\r
+    inline int type( ) const\r
+      { return( this->Type ); }\r
+\r
     void paint(\r
       QPainter* painter,\r
       const QStyleOptionGraphicsItem* option,\r
       QWidget* widget\r
       );\r
-    QNEBlock* clone( );\r
-    QVector< QNEPort* > ports( );\r
-\r
-    int type( ) const\r
-      { return( this->Type ); }\r
-\r
+    \r
   protected:\r
     QVariant itemChange( GraphicsItemChange change, const QVariant& value );\r
+    void _configPort( QNEPort* port );\r
 \r
   private:\r
     int m_HorzMargin;\r
     int m_VertMargin;\r
     int m_Width;\r
     int m_Height;\r
+\r
+    QNENamePort* m_NamePort;\r
+    QNETypePort* m_TypePort;\r
+    QVector< QNEInputPort* >  m_InputPorts;\r
+    QVector< QNEOutputPort* > m_OutputPorts;\r
   };\r
 \r
 } // ecapseman\r