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
12 #include "SUPERVGUI_Def.h"
13 #include "SUPERVGUI_CanvasNode.h"
15 #include <qcombobox.h>
17 class SUPERVGUI_CanvasComputeNode : public SUPERVGUI_CanvasNode {
21 SUPERVGUI_CanvasComputeNode( SUIT_ResourceMgr*, 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( SUIT_ResourceMgr*, 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( SUIT_ResourceMgr*, 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 // mkr : IPAL9815 : commented the following code
63 /*virtual void addInputPort();
64 virtual void addOutputPort();*/
65 virtual void pastePort();
68 virtual SUPERVGUI_CanvasNodePrs* createPrs() const;
71 virtual void onDestroyed(QObject*);
74 friend class SUPERVGUI_CanvasEndNode;
75 void setCoupled(SUPERVGUI_CanvasEndNode* theEnd) { myCoupled = theEnd; }
77 SUPERVGUI_CanvasEndNode* myCoupled;
82 class SUPERVGUI_CanvasEndNode : public SUPERVGUI_CanvasNode {
86 SUPERVGUI_CanvasEndNode( SUIT_ResourceMgr*, QObject* theParent, SUPERVGUI_Main* theMain, SUPERV_CNode theNode,
87 SUPERVGUI_CanvasStartNode* theStart);
88 virtual ~SUPERVGUI_CanvasEndNode() {}
90 SUPERVGUI_CanvasStartNode* getCoupled() const { return myCoupled; }
92 virtual QPopupMenu* getPopupMenu(QWidget* theParent);
94 // mkr : IPAL9815 : commented the following code
96 virtual void addInputPort();*/
99 virtual SUPERVGUI_CanvasNodePrs* createPrs() const;
102 SUPERVGUI_CanvasStartNode* myCoupled;
107 class SUPERVGUI_CanvasGotoNode : public SUPERVGUI_CanvasNode {
111 SUPERVGUI_CanvasGotoNode( SUIT_ResourceMgr*, QObject* theParent, SUPERVGUI_Main* theMain, SUPERV_CNode theNode);
112 virtual ~SUPERVGUI_CanvasGotoNode() {}
114 virtual QPopupMenu* getPopupMenu(QWidget* theParent);
120 virtual SUPERVGUI_CanvasNodePrs* createPrs() const;
123 class SUPERVGUI_CanvasCellNode : public SUPERVGUI_CanvasNode {
127 SUPERVGUI_CanvasCellNode( SUIT_ResourceMgr*, QObject* theParent,
128 SUPERVGUI_Main* theMain,
129 SUPERV_CNode theNode);
130 virtual ~SUPERVGUI_CanvasCellNode();
132 // asv : 26.01.05 : everything moved to CanvasNode::getPopupMenu()
133 //virtual QPopupMenu* getPopupMenu(QWidget* theParent);
135 void setPairCell(SUPERVGUI_CanvasCellNode* thePairCell);
136 SUPERVGUI_CanvasCellNode* getPairCell();
140 // asv : 26.01.05 : decided to remove all "edition" operations on nodes in Table view
141 //virtual bool setNodeName(QString aName);
144 virtual SUPERVGUI_CanvasNodePrs* createPrs() const;
147 SUPERVGUI_CanvasCellNode* myPairCell; //for ControlNodes
155 class SUPERVGUI_CanvasCellEndNode: public SUPERVGUI_CanvasCellNode {
158 SUPERVGUI_CanvasCellEndNode( SUIT_ResourceMgr*, QObject* theParent,
159 SUPERVGUI_Main* theMain,
160 SUPERV_CNode theNode,
161 SUPERVGUI_CanvasCellNode* theStart);
162 virtual ~SUPERVGUI_CanvasCellEndNode() {}
164 // asv : 26.01.05 : decided to remove all "edition" operations on nodes in Table view
165 //virtual bool setNodeName(QString theName);
169 * Taken from SUPERVGUI_ControlNode.h without change
171 class SUPERVGUI_SelectInlineDlg: public QDialog {
175 SUPERVGUI_SelectInlineDlg(SUPERVGUI_Main* theMain);
176 virtual ~SUPERVGUI_SelectInlineDlg() {};
178 QString getName() { return myCombo->currentText(); }