1 #ifndef XGUI_WORKSHOP_H
2 #define XGUI_WORKSHOP_H
5 #include <Event_Listener.h>
10 #include <QKeySequence>
12 class XGUI_MainWindow;
16 class XGUI_SelectionMgr;
17 class ModuleBase_Operation;
18 class ModuleBase_PropPanelOperation;
20 class Config_FeatureMessage;
21 class Config_PointerMessage;
23 /**\class XGUI_Workshop
25 * \brief Class which defines a configuration of the application (Workshop) and launches it.
27 class XGUI_EXPORT XGUI_Workshop: public QObject, public Event_Listener
33 virtual ~XGUI_Workshop();
35 //! Starting of the application
36 void startApplication();
38 //! Returns main window (Desktop) of the application
39 XGUI_MainWindow* mainWindow() const
44 //! Returns selection manager object
45 XGUI_SelectionMgr* selector() const { return mySelector; }
47 //! Creates and adds a new workbench (menu group) with the given name and returns it
48 XGUI_Workbench* addWorkbench(const QString& theName);
50 //! Redefinition of Event_Listener method
51 virtual void processEvent(const Event_Message* theMessage);
54 void updateCommandStatus();
65 //Event-loop processing methods:
66 void addFeature(const Config_FeatureMessage*);
67 void fillPropertyPanel(ModuleBase_PropPanelOperation* theOperation);
68 void connectToPropertyPanel(ModuleBase_Operation* theOperation);
69 void setCurrentOperation(ModuleBase_Operation* theOperation);
74 XGUI_Module* loadModule(const QString& theModule);
75 bool activateModule();
77 XGUI_MainWindow* myMainWindow;
78 XGUI_Module* myPartSetModule;
80 XGUI_SelectionMgr* mySelector;
82 ModuleBase_Operation* myCurrentOperation;