#ifndef SUPERVGUI_H
#define SUPERVGUI_H
-// Acces a l'ihm de SALOME
+// Acces a l`ihm de SALOME
// -----------------------
-#include "QAD_Desktop.h"
-
-
#include "SUPERVGUI_Def.h"
#include "SUPERVGUI_Service.h"
#include "SUPERVGUI_Main.h"
-//#include "SUPERVGUI_Information.h"
+#include "SalomeApp_Module.h"
+
+class SUIT_Study;
// Definition de la classe principale du module de supervision
// -----------------------------------------------------------
-class SUPERVGUI: public QObject {
+class SUPERVGUI: public SalomeApp_Module {
Q_OBJECT
public:
SUPERVGUI();
virtual ~SUPERVGUI();
- QAD_Desktop* getDesktop();
+ static SUPERVGUI* Supervision();
+
+ virtual void initialize( CAM_Application* );
+ virtual QString engineIOR() const;
SUPERV_Engine getEngine();
- QAD_Study* getActiveStudy()
- { return study; };
+ SUIT_Study* getActiveStudy() { return study; }
SUPERVGUI_Service* getBrowser();
QCursor getCursor();
void suspendResumeDataflow();
void showComponents();
- void init(QAD_Desktop* parent);
SUPERVGUI_Main* getMain();
- void customPopup(QPopupMenu* popup);
- void activeStudyChanged();
- bool isContains(QAD_Study* theStudy, const QString theKey);
+ bool OnGUIEvent(int theCommandID);
+ //bool SetSettings();
+ //void DefinePopup(QString & theContext,
+ // QString & theParent,
+ // QString & theObject ) ;
+ //bool CustomPopup(QPopupMenu* popup,
+ // const QString & theContext,
+ // const QString & theParent,
+ // const QString & theObject);
+ bool ActiveStudyChanged();
+ //void SupportedViewType (int* buffer, int bufferSize);
+
+ bool isContains(SUIT_Study* theStudy, const QString theKey);
void registerGraph(QString theName, SUPERVGUI_Main* theGraph);
void unregisterGraph(SUPERVGUI_Main* theGraph);
- QAD_StudyFrame* createGraph();
+ SUIT_ViewWindow* createGraph();
/** Returns:
theIsOwner = true if Selected object belongs to Suipervision.
*/
void whatIsSelected(const Handle(SALOME_InteractiveObject)& theObj, bool& theIsOwner, bool& theIsDataflow);
+ /* asv : bug [VSR Bugs and Improvements in Supervisor] 1.8 : when exporting a file,
+ a backup copy of an existing file must be created (in case Export fails..)
+ This method creates a backup file and returns its name or QString::null if it fails
+ Function is static because it is called from
+ SUPERVGUI::exportDataflow() and SUPERVGUI_CanvasMacroNode::exportDataflow()
+ */
+ static QString createBackupFile( const QString& theOriginalFileName );
+
+ virtual void windows( QMap<int, int>& ) const;
+
+ signals:
+ void KillMainThread(bool theValue);
+
private slots:
- void setMain(QWidget* w);
+ void setMain(SUIT_ViewWindow* w);
void displayDataflow();
void renameDataflow();
void deleteObject();
- void onGraphClosed(QAD_StudyFrame* );
+ void onGraphClosed( SUIT_ViewWindow* );
+ void OnGUIEvent();
+
+ public slots:
+ virtual void activateModule( SUIT_Study* );
+ virtual void deactivateModule( SUIT_Study* );
+
+ protected:
+ virtual CAM_DataModel* createDataModel();
private:
void loadEngine(SALOME_NamingService* namingService);
+ // enumeration used in newDataflow() method
+ enum NEW_DF_MODE { Import, Modify, New };
+ // method called from importDataflow(), modifyDataflow(), newDataflow() with
+ // different modes. The behavior of the function is very similar in all 3 cases,
+ // but some differences still exist. These differences are implemented using NEW_DF_MODE param.
+ bool createDataflow( const NEW_DF_MODE f );
+
+ void createSupervAction( const int id, const QString& po_id, const QString& icon_id = QString(""),
+ const int key = 0, const bool toggle = false );
+
static int factory;
- QAD_Desktop* desktop;
- QAD_Study* study;
+ SUIT_Study* study;
SUPERV_Engine engine;
SUPERVGUI_Service* browser;
//SUPERVGUI_Information* info;
QPtrList<SUPERVGUI_Main> myGraphList;
};
-
-// Acces a l'instance unique de la classe du module de l'interface graphique de la supervision
-// -------------------------------------------------------------------------------------------
-extern SUPERVGUI Supervision;
-
#endif