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/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::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 TFilter* filter( ) const;
\r
39 const Editor* editor( ) const;
\r
40 void setEditor( Editor* editor );
\r
42 void setNamePort( const QString& txt );
\r
43 InputPort* addInputPort( const QString& txt );
\r
44 OutputPort* addOutputPort( const QString& txt );
\r
46 InputPort* inputPort( const QString& txt );
\r
47 OutputPort* outputPort( const QString& txt );
\r
49 QString namePort( ) const;
\r
50 const InputPort* inputPort( const QString& txt ) const;
\r
51 const OutputPort* outputPort( const QString& txt ) const;
\r
53 inline int type( ) const
\r
54 { return( this->Type ); }
\r
58 const QStyleOptionGraphicsItem* option,
\r
63 QVariant itemChange( GraphicsItemChange change, const QVariant& value );
\r
64 void _setTypeInfo( const QString& txt );
\r
65 void _configPort( Port* port );
\r
67 virtual void mouseReleaseEvent( QGraphicsSceneMouseEvent* evt );
\r
68 virtual void contextMenuEvent( QGraphicsSceneContextMenuEvent* evt );
\r
76 NamePort* m_NamePort;
\r
77 std::map< std::string, InputPort* > m_InputPorts;
\r
78 std::map< std::string, OutputPort* > m_OutputPorts;
\r
86 #endif // __CPPIPELINEEDITOR__BLOCK__H__
\r