1 #ifndef __CPPIPELINEEDITOR__BLOCK__H__
\r
2 #define __CPPIPELINEEDITOR__BLOCK__H__
\r
4 #include <cpPipelineEditor/cpPipelineEditor_Export.h>
\r
5 #include <QGraphicsPathItem>
\r
6 #include <cpPlugins/Interface/ProcessObject.h>
\r
8 namespace cpPipelineEditor
\r
18 class cpPipelineEditor_EXPORT Block
\r
19 : public QGraphicsPathItem
\r
23 typedef QGraphicsPathItem Superclass;
\r
24 typedef cpPlugins::Interface::ProcessObject TFilter;
\r
27 enum { Type = QGraphicsItem::UserType + 6 };
\r
31 QGraphicsItem* parent = NULL, QGraphicsScene* scene = NULL
\r
35 void setNamePort( const QString& txt );
\r
36 InputPort* addInputPort( const QString& txt );
\r
37 OutputPort* addOutputPort( const QString& txt );
\r
39 InputPort* inputPort( const QString& txt );
\r
40 OutputPort* outputPort( const QString& txt );
\r
42 QString namePort( ) const;
\r
43 const InputPort* inputPort( const QString& txt ) const;
\r
44 const OutputPort* outputPort( const QString& txt ) const;
\r
46 inline int type( ) const
\r
47 { return( this->Type ); }
\r
51 const QStyleOptionGraphicsItem* option,
\r
56 QVariant itemChange( GraphicsItemChange change, const QVariant& value );
\r
57 void _setTypePort( const QString& txt );
\r
58 void _configPort( Port* port );
\r
60 virtual void mouseReleaseEvent( QGraphicsSceneMouseEvent* evt );
\r
61 virtual void contextMenuEvent( QGraphicsSceneContextMenuEvent* evt );
\r
69 NamePort* m_NamePort;
\r
70 TypePort* m_TypePort;
\r
71 std::map< std::string, InputPort* > m_InputPorts;
\r
72 std::map< std::string, OutputPort* > m_OutputPorts;
\r
79 #endif // __CPPIPELINEEDITOR__BLOCK__H__
\r