1 // SUPERV SUPERVGUI : GUI for Supervisor component
3 // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
25 // Author : Francis KLOSS
31 // Acces a l`ihm de SALOME
32 // -----------------------
34 #include "QAD_Desktop.h"
37 #include "SUPERVGUI_Def.h"
38 #include "SUPERVGUI_Service.h"
39 #include "SUPERVGUI_Main.h"
40 //#include "SUPERVGUI_Information.h"
42 #include "SALOMEGUI.h"
44 // Definition de la classe principale du module de supervision
45 // -----------------------------------------------------------
47 class SUPERVGUI: public SALOMEGUI {
51 SUPERVGUI( const QString&, QObject* = 0 );
54 QAD_Desktop* getDesktop();
55 SUPERV_Engine getEngine();
56 QAD_Study* getActiveStudy()
59 SUPERVGUI_Service* getBrowser();
61 //bool information(SUPERV_CNode node, bool isReadOnly);
62 void putInfo(const char* mess);
64 void importDataflow();
65 void exportDataflow();
67 void modifyDataflow();
68 void reloadDataflow();
72 void suspendResumeDataflow();
73 void showComponents();
75 void init(QAD_Desktop* parent);
76 SUPERVGUI_Main* getMain();
78 bool OnGUIEvent(int theCommandID, QAD_Desktop* parent);
79 bool SetSettings(QAD_Desktop* parent);
80 void DefinePopup(QString & theContext,
82 QString & theObject ) ;
83 bool CustomPopup(QAD_Desktop* parent,
85 const QString & theContext,
86 const QString & theParent,
87 const QString & theObject);
88 bool ActiveStudyChanged( QAD_Desktop* parent );
89 void SupportedViewType (int* buffer, int bufferSize);
91 bool isContains(QAD_Study* theStudy, const QString theKey);
93 void registerGraph(QString theName, SUPERVGUI_Main* theGraph);
94 void unregisterGraph(SUPERVGUI_Main* theGraph);
95 QAD_StudyFrame* createGraph();
98 theIsOwner = true if Selected object belongs to Suipervision.
99 theIsDataflow = true if Selected object is Dataflow
101 void whatIsSelected(const Handle(SALOME_InteractiveObject)& theObj, bool& theIsOwner, bool& theIsDataflow);
103 /* asv : bug [VSR Bugs and Improvements in Supervisor] 1.8 : when exporting a file,
104 a backup copy of an existing file must be created (in case Export fails..)
105 This method creates a backup file and returns its name or QString::null if it fails
106 Function is static because it is called from
107 SUPERVGUI::exportDataflow() and SUPERVGUI_CanvasMacroNode::exportDataflow()
109 static QString createBackupFile( const QString& theOriginalFileName );
112 void KillMainThread(bool theValue);
115 void setMain(QWidget* w);
116 void displayDataflow();
117 void renameDataflow();
119 void onGraphClosed(QAD_ViewFrame* );
122 void loadEngine(SALOME_NamingService* namingService);
125 QAD_Desktop* desktop;
127 SUPERV_Engine engine;
128 SUPERVGUI_Service* browser;
129 //SUPERVGUI_Information* info;
132 SUPERVGUI_Main* main; // active main
133 QPtrList<SUPERVGUI_Main> myGraphList;
137 // Acces a l'instance unique de la classe du module de l'interface graphique de la supervision
138 // -------------------------------------------------------------------------------------------
139 extern SUPERVGUI Supervision;