1 // SUPERV SUPERVGUI : GUI for Supervisor component
3 // Copyright (C) 2003 OPEN CASCADE
5 // File : SUPERVGUI_CanvasControlNode.h
6 // Author : Natalia KOPNOVA
9 #ifndef SUPERVGUI_CanvasControlNode_H
10 #define SUPERVGUI_CanvasControlNode_H
13 #include "SUPERVGUI_Def.h"
14 #include "SUPERVGUI_CanvasNode.h"
17 class SUPERVGUI_CanvasComputeNode : public SUPERVGUI_CanvasNode {
21 SUPERVGUI_CanvasComputeNode(QObject* theParent, SUPERVGUI_Main* theMain, SUPERV_CNode theNode);
22 virtual ~SUPERVGUI_CanvasComputeNode() {}
24 virtual QPopupMenu* getPopupMenu(QWidget* theParent);
27 class SUPERVGUI_CanvasMacroNode : public SUPERVGUI_CanvasComputeNode {
31 SUPERVGUI_CanvasMacroNode(QObject* theParent, SUPERVGUI_Main* theMain, SUPERV_CNode theNode);
32 virtual ~SUPERVGUI_CanvasMacroNode() {}
34 virtual QPopupMenu* getPopupMenu(QWidget* theParent);
38 void exportDataflow();
41 virtual SUPERVGUI_CanvasNodePrs* createPrs() const;
45 class SUPERVGUI_CanvasEndNode;
46 class SUPERVGUI_CanvasStartNode : public SUPERVGUI_CanvasNode {
50 SUPERVGUI_CanvasStartNode(QObject* theParent, SUPERVGUI_Main* theMain, SUPERV_CNode theNode);
51 virtual ~SUPERVGUI_CanvasStartNode() {}
53 virtual bool setNodeName(QString aName);
55 SUPERVGUI_CanvasEndNode* getCoupled() const { return myCoupled; }
57 virtual QPopupMenu* getPopupMenu(QWidget* theParent);
60 virtual void remove();
62 virtual void addInputPort();
63 virtual void addOutputPort();
66 virtual SUPERVGUI_CanvasNodePrs* createPrs() const;
69 virtual void onDestroyed(QObject*);
72 friend class SUPERVGUI_CanvasEndNode;
73 void setCoupled(SUPERVGUI_CanvasEndNode* theEnd) { myCoupled = theEnd; }
75 SUPERVGUI_CanvasEndNode* myCoupled;
80 class SUPERVGUI_CanvasEndNode : public SUPERVGUI_CanvasNode {
84 SUPERVGUI_CanvasEndNode(QObject* theParent, SUPERVGUI_Main* theMain, SUPERV_CNode theNode,
85 SUPERVGUI_CanvasStartNode* theStart);
86 virtual ~SUPERVGUI_CanvasEndNode() {}
88 SUPERVGUI_CanvasStartNode* getCoupled() const { return myCoupled; }
90 virtual QPopupMenu* getPopupMenu(QWidget* theParent);
93 virtual void addInputPort();
96 virtual SUPERVGUI_CanvasNodePrs* createPrs() const;
99 SUPERVGUI_CanvasStartNode* myCoupled;
104 class SUPERVGUI_CanvasGotoNode : public SUPERVGUI_CanvasNode {
108 SUPERVGUI_CanvasGotoNode(QObject* theParent, SUPERVGUI_Main* theMain, SUPERV_CNode theNode);
109 virtual ~SUPERVGUI_CanvasGotoNode() {}
111 virtual QPopupMenu* getPopupMenu(QWidget* theParent);
117 virtual SUPERVGUI_CanvasNodePrs* createPrs() const;