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;
18 class ModuleBase_Operation;
19 class ModuleBase_PropPanelOperation;
21 class Config_FeatureMessage;
22 class Config_PointerMessage;
24 /**\class XGUI_Workshop
26 * \brief Class which defines a configuration of the application (Workshop) and launches it.
28 class XGUI_EXPORT XGUI_Workshop: public QObject, public Event_Listener
34 virtual ~XGUI_Workshop();
36 //! Starting of the application
37 void startApplication();
39 //! Returns main window (Desktop) of the application
40 XGUI_MainWindow* mainWindow() const
45 //! Returns selection manager object
46 XGUI_SelectionMgr* selector() const { return mySelector; }
49 XGUI_Displayer* displayer() const { return myDisplayer; }
51 //! Creates and adds a new workbench (menu group) with the given name and returns it
52 XGUI_Workbench* addWorkbench(const QString& theName);
54 //! Returns the current operation or NULL
55 ModuleBase_Operation* currentOperation() { return myCurrentOperation; }
57 //! Redefinition of Event_Listener method
58 virtual void processEvent(const Event_Message* theMessage);
61 void updateCommandStatus();
72 //Event-loop processing methods:
73 void addFeature(const Config_FeatureMessage*);
74 void fillPropertyPanel(ModuleBase_PropPanelOperation* theOperation);
75 void connectWithOperation(ModuleBase_Operation* theOperation);
76 void setCurrentOperation(ModuleBase_Operation* theOperation);
81 XGUI_Module* loadModule(const QString& theModule);
82 bool activateModule();
84 XGUI_MainWindow* myMainWindow;
85 XGUI_Module* myPartSetModule;
87 XGUI_SelectionMgr* mySelector;
88 XGUI_Displayer* myDisplayer;
90 ModuleBase_Operation* myCurrentOperation;