]> SALOME platform Git repositories - modules/shaper.git/blob - src/XGUI/XGUI_Workshop.h
Salome HOME
Implimentation of the Config XML Reader
[modules/shaper.git] / src / XGUI / XGUI_Workshop.h
1
2 #ifndef XGUI_WORKSHOP_H
3 #define XGUI_WORKSHOP_H
4
5 #include "XGUI_Interfaces.h"
6
7 #include <Event_Message.hxx>
8 #include <Event_Listener.hxx>
9
10 #include <QObject>
11 #include <QMap>
12 #include <QIcon>
13 #include <QKeySequence>
14
15 class XGUI_MainWindow;
16 class XGUI_Command;
17 class XGUI_Module;
18
19 class Config_FeatureMessage;
20
21 class XGUI_Workshop: public QObject, public Event_Listener, public IWorkshop
22 {
23         Q_OBJECT
24 public:
25
26         XGUI_Workshop();
27         virtual ~XGUI_Workshop();
28
29     void startApplication();
30
31     XGUI_MainWindow* mainWindow() const { return myMainWindow; }
32
33     virtual IWorkbench* addWorkbench(const QString& theName);
34
35     virtual void ProcessEvent(const Event_Message* theMessage);
36
37 public slots:
38     void onNew();
39     void onOpen();
40     void onSave();
41     void onSaveAs();
42     void onExit();
43
44 protected:
45     //Event-loop processing methods:
46     void addFeature(const Config_FeatureMessage*);
47
48 private:
49     void initMenu();
50
51     IModule* loadModule(const QString& theModule);
52     bool activateModule();
53
54     XGUI_MainWindow* myMainWindow;
55 };
56
57 #endif