--- /dev/null
+// SUPERV SUPERVGUI : GUI for Supervisor component
+//
+// Copyright (C) 2003 OPEN CASCADE
+//
+// File : SUPERVGUI_Canvas.h
+// Author : Natalia KOPNOVA
+// Module : SUPERV
+
+#ifndef SUPERVGUI_Canvas_H
+#define SUPERVGUI_Canvas_H
+
+using namespace std;
+#include "SUPERVGUI_Def.h"
+#include <qcanvas.h>
+
+class SUPERVGUI_Main;
+class SUPERVGUI_CanvasNode;
+class SUPERVGUI_CanvasPort;
+class SUPERVGUI_CanvasLink;
+
+class SUPERVGUI_Canvas: public QCanvas {
+ Q_OBJECT
+
+ public:
+
+ enum {
+ Rtti_Node = 10,
+ Rtti_LinkPoint = 11,
+ Rtti_LinkEdge = 12,
+ Rtti_Hook = 13
+ };
+
+ SUPERVGUI_Canvas(SUPERVGUI_Main* m);
+ virtual ~SUPERVGUI_Canvas();
+
+ void merge();
+ void sync();
+ void setAsFromStudy(bool theToStudy);
+
+ void addView(QCanvasView* theView);
+
+ void setFullView();
+ void setControlView();
+ bool isControlView() { return myIsControlView; }
+
+ SUPERVGUI_CanvasNode* getNode(SUPERV::CNode_ptr theNode) const;
+ SUPERVGUI_CanvasPort* getPort(SUPERV::Port_ptr thePort) const;
+ SUPERVGUI_CanvasLink* getLink(SUPERV::Link_ptr theLink) const;
+
+ QString getPortName(SUPERV::Port_ptr thePort) const;
+ QString getLinkName(SUPERV::Link_ptr theLink) const;
+
+ private:
+ void updateNodes(bool withPorts);
+ void updateLinks();
+
+ SUPERVGUI_Main* myMain;
+ bool myIsControlView;
+
+};
+
+#endif