29 #ifndef INTERFACE_APPLICATION_NETWORKEDITOR_H
30 #define INTERFACE_APPLICATION_NETWORKEDITOR_H
32 #include <boost/shared_ptr.hpp>
33 #include <QGraphicsView>
45 class DialogErrorControl;
46 Q_DECLARE_METATYPE (std::string)
50 namespace Dataflow {
namespace Engine {
class NetworkEditorController;
struct DisableDynamicPortSwitch; }}
58 virtual QString text()
const = 0;
59 virtual bool isModule()
const = 0;
77 void moduleExecuteStart(
const std::string&
id);
78 void moduleExecuteEnd(
const std::string&
id);
87 int max()
const {
return maxZ_; }
91 void setZValue(
int z);
93 QGraphicsScene* scene_;
96 enum { INITIAL_Z = 1000 };
101 class NetworkEditorControllerGuiProxy;
102 class DialogErrorControl;
113 explicit NetworkEditor(boost::shared_ptr<CurrentModuleSelection> moduleSelectionGetter, boost::shared_ptr<DefaultNotePositionGetter> dnpg,
114 boost::shared_ptr<DialogErrorControl> dialogErrorControl, QWidget* parent = 0);
116 QList<QAction*> getModuleSpecificActions()
const;
117 void setNetworkEditorController(boost::shared_ptr<NetworkEditorControllerGuiProxy> controller);
118 boost::shared_ptr<NetworkEditorControllerGuiProxy> getNetworkEditorController()
const;
127 size_t numModules()
const;
130 virtual int errorCode()
const;
132 void disableInputWidgets();
133 void enableInputWidgets();
136 void setRegressionTestDataDir(
const QString&
dir);
138 void setBackground(
const QBrush& brush);
139 QBrush background()
const;
141 int connectionPipelineType()
const;
145 boost::shared_ptr<Dataflow::Engine::DisableDynamicPortSwitch> createDynamicPortDisabler();
148 virtual void dropEvent(QDropEvent* event)
override;
149 virtual void dragEnterEvent(QDragEnterEvent* event)
override;
150 virtual void dragMoveEvent(QDragMoveEvent* event)
override;
151 virtual void mouseMoveEvent(QMouseEvent *event)
override;
152 virtual void mouseReleaseEvent(QMouseEvent *event)
override;
161 virtual void clear();
162 void setConnectionPipelineType(
int type);
163 void addModuleViaDoubleClickedTreeItem();
171 void networkExecuted();
172 void networkExecutionFinished();
173 void networkEditorMouseButtonPressed();
176 void sceneChanged(
const QList<QRectF>& region);
184 void updateActions();
187 typedef QPair<ModuleWidget*, ModuleWidget*> ModulePair;
188 void createActions();
191 void setZValue(
int z);
195 ModulePair selectedModulePair()
const;
196 void addNewModuleAtPosition(
const QPoint& position);
198 void unselectConnectionGroup();
203 QAction* deleteAction_;
204 QAction* sendToBackAction_;
205 QAction* propertiesAction_;
208 QGraphicsScene* scene_;
210 QPointF lastModulePosition_;
211 QPoint defaultModulePosition_;
212 boost::shared_ptr<DialogErrorControl> dialogErrorControl_;
213 boost::shared_ptr<CurrentModuleSelection> moduleSelectionGetter_;
214 boost::shared_ptr<NetworkEditorControllerGuiProxy> controller_;
215 boost::shared_ptr<DefaultNotePositionGetter> defaultNotePositionGetter_;
216 boost::shared_ptr<ModuleEventProxy> moduleEventProxy_;
217 boost::shared_ptr<ZLevelManager> zLevelManager_;
Definition: ConnectionId.h:67
Definition: ModulePositionGetter.h:49
boost::shared_ptr< NetworkFile > NetworkFileHandle
Definition: NetworkFwd.h:86
boost::shared_ptr< ModuleEventProxy > moduleEventProxy()
Definition: NetworkEditor.h:129
NotePosition
Definition: Note.h:47
string dir
Definition: eab.py:5
Definition: ModulePositionGetter.h:43
boost::shared_ptr< ModulePositions > ModulePositionsHandle
Definition: NetworkFwd.h:85
Definition: ConnectionId.h:58
Definition: PortInterface.h:48
Definition: ExecutableObject.h:45
const char * name[]
Definition: BoostGraphExampleTests.cc:87
Definition: ModuleDescription.h:77
Definition: NetworkEditor.h:104
Definition: NetworkEditor.h:70
Definition: Connection.h:60
Definition: NetworkEditor.h:54
Definition: NetworkEditor.h:83
int max() const
Definition: NetworkEditor.h:87
virtual ~CurrentModuleSelection()
Definition: NetworkEditor.h:57
boost::shared_ptr< ModuleInterface > ModuleHandle
Definition: NetworkFwd.h:74
virtual ~DefaultNotePositionGetter()
Definition: NetworkEditor.h:66
Definition: NetworkInterface.h:99
tuple file
Definition: eab.py:7
Definition: ControllerInterfaces.h:42
Definition: NetworkEditor.h:63
Definition: NetworkInterface.h:48