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
30 TFilter* filter, const QString& name,
\r
31 QGraphicsItem* parent = NULL, QGraphicsScene* scene = NULL
\r
36 const Editor* editor( ) const;
\r
37 void setEditor( Editor* editor );
\r
39 void setNamePort( const QString& txt );
\r
40 InputPort* addInputPort( const QString& txt );
\r
41 OutputPort* addOutputPort( const QString& txt );
\r
43 InputPort* inputPort( const QString& txt );
\r
44 OutputPort* outputPort( const QString& txt );
\r
46 QString namePort( ) const;
\r
47 const InputPort* inputPort( const QString& txt ) const;
\r
48 const OutputPort* outputPort( const QString& txt ) const;
\r
50 inline int type( ) const
\r
51 { return( this->Type ); }
\r
55 const QStyleOptionGraphicsItem* option,
\r
60 QVariant itemChange( GraphicsItemChange change, const QVariant& value );
\r
61 void _setTypeInfo( const QString& txt );
\r
62 void _configPort( Port* port );
\r
64 virtual void mouseReleaseEvent( QGraphicsSceneMouseEvent* evt );
\r
65 virtual void contextMenuEvent( QGraphicsSceneContextMenuEvent* evt );
\r
73 NamePort* m_NamePort;
\r
74 std::map< std::string, InputPort* > m_InputPorts;
\r
75 std::map< std::string, OutputPort* > m_OutputPorts;
\r
83 #endif // __CPPIPELINEEDITOR__BLOCK__H__
\r