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
19 class cpPipelineEditor_EXPORT Block
\r
20 : public QGraphicsPathItem
\r
24 typedef QGraphicsPathItem Superclass;
\r
25 typedef cpPlugins::Interface::ProcessObject TFilter;
\r
28 enum { Type = QGraphicsItem::UserType + 6 };
\r
32 QGraphicsItem* parent = NULL, QGraphicsScene* scene = NULL
\r
37 const Editor* editor( ) const;
\r
38 void setEditor( Editor* editor );
\r
40 void setNamePort( const QString& txt );
\r
41 InputPort* addInputPort( const QString& txt );
\r
42 OutputPort* addOutputPort( const QString& txt );
\r
44 InputPort* inputPort( const QString& txt );
\r
45 OutputPort* outputPort( const QString& txt );
\r
47 QString namePort( ) const;
\r
48 const InputPort* inputPort( const QString& txt ) const;
\r
49 const OutputPort* outputPort( const QString& txt ) const;
\r
51 inline int type( ) const
\r
52 { return( this->Type ); }
\r
56 const QStyleOptionGraphicsItem* option,
\r
61 QVariant itemChange( GraphicsItemChange change, const QVariant& value );
\r
62 void _setTypePort( const QString& txt );
\r
63 void _configPort( Port* port );
\r
65 virtual void mouseReleaseEvent( QGraphicsSceneMouseEvent* evt );
\r
66 virtual void contextMenuEvent( QGraphicsSceneContextMenuEvent* evt );
\r
74 NamePort* m_NamePort;
\r
75 TypePort* m_TypePort;
\r
76 std::map< std::string, InputPort* > m_InputPorts;
\r
77 std::map< std::string, OutputPort* > m_OutputPorts;
\r
85 #endif // __CPPIPELINEEDITOR__BLOCK__H__
\r