1 #ifndef __CPBASEQTAPPLICATION__EDITOR__H__
\r
2 #define __CPBASEQTAPPLICATION__EDITOR__H__
\r
4 #include <cpBaseQtApplication_Export.h>
\r
5 #include <cpPlugins/Interface/Workspace.h>
\r
9 class QGraphicsScene;
\r
10 class QGraphicsSceneMouseEvent;
\r
11 class QGraphicsItem;
\r
12 class QGraphicsSceneContextMenuEvent;
\r
13 class QGraphicsSceneDragDropEvent;
\r
14 class QGraphicsSceneHelpEvent;
\r
15 class QGraphicsSceneHoverEvent;
\r
16 class QGraphicsSceneMouseEvent;
\r
17 class QGraphicsSceneMoveEvent;
\r
18 class QGraphicsSceneResizeEvent;
\r
19 class QGraphicsSceneWheelEvent;
\r
21 // -------------------------------------------------------------------------
\r
22 #define cpBaseQtApplication_Editor_Callback_DCL( E ) \
\r
23 void _##E##_cbk( QGraphicsScene##E##Event* e );
\r
25 namespace cpBaseQtApplication
\r
33 class cpBaseQtApplication_EXPORT Editor
\r
39 typedef Editor Self;
\r
40 typedef QObject Superclass;
\r
42 typedef cpPlugins::Interface::Workspace TWorkspace;
\r
43 typedef cpPlugins::BaseObjects::ProcessObject TFilter;
\r
46 explicit Editor( QObject* parent = 0 );
\r
49 TWorkspace* workspace( );
\r
50 const TWorkspace* workspace( ) const;
\r
51 void setWorkspace( TWorkspace* ws );
\r
52 void redrawWorkspace( );
\r
54 std::string createFilter(
\r
55 const std::string& category, const std::string& filter,
\r
56 const QPointF& pnt = QPointF( qreal( 0 ), qreal( 0 ) )
\r
58 bool deleteFilter( const std::string& name );
\r
59 bool deleteConnection(
\r
60 const std::string& src, const std::string& des,
\r
61 const std::string& in, const std::string& out
\r
65 void install( QGraphicsScene* s );
\r
66 bool eventFilter( QObject* o, QEvent* e );
\r
68 void updateFilter( const std::string& name );
\r
69 void showData( const std::string& name, const std::string& port );
\r
70 void hideData( const std::string& name, const std::string& port );
\r
71 void dataProperties( const std::string& name, const std::string& port );
\r
74 void showOutputData(
\r
75 const std::string& filter_name,
\r
76 const std::string& output_name
\r
78 void hideOutputData(
\r
79 const std::string& filter_name,
\r
80 const std::string& output_name
\r
82 void visualPropertiesOutputData(
\r
83 const std::string& filter_name,
\r
84 const std::string& output_name
\r
88 void execFilter( const std::string& filter_name );
\r
89 void showFilterOutput(
\r
90 const std::string& filter_name,
\r
91 const std::string& output_name
\r
93 void hideFilterOutput(
\r
94 const std::string& filter_name,
\r
95 const std::string& output_name
\r
97 void visualPropertiesFilterOutput(
\r
98 const std::string& filter_name,
\r
99 const std::string& output_name
\r
104 QGraphicsItem* itemAt( const QPointF& pos );
\r
106 inline Block* _createBlock(
\r
107 TFilter* f, const QString& name, const QPointF& pnt
\r
111 typedef QGraphicsSceneDragDropEvent QGraphicsSceneDragEnterEvent;
\r
112 typedef QGraphicsSceneDragDropEvent QGraphicsSceneDragLeaveEvent;
\r
113 typedef QGraphicsSceneDragDropEvent QGraphicsSceneDragMoveEvent;
\r
114 typedef QGraphicsSceneDragDropEvent QGraphicsSceneDropEvent;
\r
115 typedef QGraphicsSceneHoverEvent QGraphicsSceneHoverEnterEvent;
\r
116 typedef QGraphicsSceneHoverEvent QGraphicsSceneHoverMoveEvent;
\r
117 typedef QGraphicsSceneHoverEvent QGraphicsSceneHoverLeaveEvent;
\r
118 typedef QGraphicsSceneMouseEvent QGraphicsSceneMouseDoubleClickEvent;
\r
119 typedef QGraphicsSceneMouseEvent QGraphicsSceneMouseMoveEvent;
\r
120 typedef QGraphicsSceneMouseEvent QGraphicsSceneMousePressEvent;
\r
121 typedef QGraphicsSceneMouseEvent QGraphicsSceneMouseReleaseEvent;
\r
123 cpBaseQtApplication_Editor_Callback_DCL( ContextMenu );
\r
124 cpBaseQtApplication_Editor_Callback_DCL( DragEnter );
\r
125 cpBaseQtApplication_Editor_Callback_DCL( DragLeave );
\r
126 cpBaseQtApplication_Editor_Callback_DCL( DragMove );
\r
127 cpBaseQtApplication_Editor_Callback_DCL( Drop );
\r
128 cpBaseQtApplication_Editor_Callback_DCL( Help );
\r
129 cpBaseQtApplication_Editor_Callback_DCL( HoverEnter );
\r
130 cpBaseQtApplication_Editor_Callback_DCL( HoverLeave );
\r
131 cpBaseQtApplication_Editor_Callback_DCL( HoverMove );
\r
132 cpBaseQtApplication_Editor_Callback_DCL( MouseDoubleClick );
\r
133 cpBaseQtApplication_Editor_Callback_DCL( MouseMove );
\r
134 cpBaseQtApplication_Editor_Callback_DCL( MousePress );
\r
135 cpBaseQtApplication_Editor_Callback_DCL( MouseRelease );
\r
136 cpBaseQtApplication_Editor_Callback_DCL( Move );
\r
137 cpBaseQtApplication_Editor_Callback_DCL( Resize );
\r
138 cpBaseQtApplication_Editor_Callback_DCL( Wheel );
\r
141 QGraphicsScene* m_Scene;
\r
142 Connection* m_ActualConnection;
\r
144 TWorkspace::Pointer m_Workspace;
\r
145 MainWindow* m_MainWindow;
\r
150 #endif // __CPBASEQTAPPLICATION__EDITOR__H__
\r