1 // SUPERV SUPERVGUI : GUI for Supervisor component
3 // Copyright (C) 2003 OPEN CASCADE
5 // File : SUPERVGUI_CanvasNode.h
6 // Author : Natalia KOPNOVA
9 #ifndef SUPERVGUI_CanvasNode_H
10 #define SUPERVGUI_CanvasNode_H
13 #include "SUPERVGUI_Def.h"
14 #include "SUPERVGUI_BrowseNodeDlg.h"
15 #include <qstringlist.h>
18 class SUPERVGUI_CanvasNodePrs;
20 class SUPERVGUI_CanvasNode : public QObject {
24 SUPERVGUI_CanvasNode(QObject* theParent, SUPERVGUI_Main* theMain, SUPERV_CNode theNode);
25 virtual ~SUPERVGUI_CanvasNode();
27 // done to ignore port update when node is removed
28 bool isDestroyed() const { return myDestroyed; }
33 virtual void syncOnEvent(SUPERV::GraphState theStateFromEvent);
36 virtual void move(int x, int y);
38 virtual void hideAll();
39 virtual void showAll();
40 virtual bool setNodeName(QString aName);
42 SUPERV_CNode getEngine() const { return myNode; }
43 SUPERVGUI_Main* getMain() const { return myMain; }
44 SUPERVGUI_CanvasNodePrs* getPrs() const;
51 SUPERV::KindOfNode getNodeType() const { return myNode->Kind(); }
53 SUPERV_CNode getComputingNode() const { return myNode; }
54 SUPERV_FNode getFactoryNode() const { return SUPERV::FNode::_narrow(myNode); }
55 SUPERV_INode getInlineNode() const { return SUPERV::INode::_narrow(myNode); }
56 SUPERV_GNode getGotoNode() const { return SUPERV::GNode::_narrow(myNode); }
57 SUPERV_LNode getLoopNode() const { return SUPERV::LNode::_narrow(myNode); }
58 SUPERV_ELNode getEndLoopNode() const { return SUPERV::ELNode::_narrow(myNode); }
59 SUPERV_SNode getSwitchNode() const { return SUPERV::SNode::_narrow(myNode); }
60 SUPERV_ESNode getEndSwitchNode() const { return SUPERV::ESNode::_narrow(myNode); }
61 SUPERV_Graph getMacroNode() const { return SUPERV::Graph::_narrow(myNode); }
63 SUPERV_Port createInPort();
64 SUPERV_Port createOutPort();
65 QStringList getPortsNamesIN(SUPERV_INode theNode, bool theInputPorts);
67 virtual QPopupMenu* getPopupMenu(QWidget* theParent);
69 QString getLabelText() const { return myLabelText; }
78 virtual void rename();
79 virtual void remove();
80 void changeInformation();
86 void setWarning(bool b);
88 void setTrace(bool b);
89 void setVerbose(bool b);
91 virtual void addInputPort();
92 virtual void addOutputPort();
93 virtual void editFunction();
96 virtual SUPERVGUI_CanvasNodePrs* createPrs() const;
97 virtual void createPort(SUPERV::Port_ptr thePort) const;
98 virtual void createStreamPort(SUPERV::StreamPort_ptr thePort) const;
100 virtual bool eventFilter(QObject* o, QEvent* e);
101 SUPERVGUI_BrowseNodeDlg* myBrowseDlg;
106 virtual void onDestroyed(QObject*);
110 SUPERVGUI_Main* myMain;
113 SUPERVGUI_CanvasNodePrs* myPrs;