X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_Workshop.h;h=50e0a44cc0759dc0702f330cc29d552712a5c36c;hb=29b4b1b5e692ebc45e8a27703b9307b075d2cff2;hp=c84925f6c8cc2760a1568a3f06a078a41b288bdd;hpb=e607e2c793a83dc30d483e1819f44c3497a08555;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Workshop.h b/src/XGUI/XGUI_Workshop.h index c84925f6c..50e0a44cc 100644 --- a/src/XGUI/XGUI_Workshop.h +++ b/src/XGUI/XGUI_Workshop.h @@ -1,9 +1,8 @@ - #ifndef XGUI_WORKSHOP_H #define XGUI_WORKSHOP_H -#include -#include +#include "XGUI.h" +#include #include #include @@ -14,44 +13,81 @@ class XGUI_MainWindow; class XGUI_Command; class XGUI_Module; class XGUI_Workbench; +class XGUI_SelectionMgr; +class XGUI_Displayer; +class ModuleBase_Operation; +class ModuleBase_PropPanelOperation; class Config_FeatureMessage; +class Config_PointerMessage; -class XGUI_Workshop: public QObject, public Event_Listener +/**\class XGUI_Workshop + * \ingroup GUI + * \brief Class which defines a configuration of the application (Workshop) and launches it. + */ +class XGUI_EXPORT XGUI_Workshop: public QObject, public Event_Listener { - Q_OBJECT +Q_OBJECT public: - XGUI_Workshop(); - virtual ~XGUI_Workshop(); + XGUI_Workshop(); + virtual ~XGUI_Workshop(); + + //! Starting of the application + void startApplication(); + + //! Returns main window (Desktop) of the application + XGUI_MainWindow* mainWindow() const + { + return myMainWindow; + } + + //! Returns selection manager object + XGUI_SelectionMgr* selector() const { return mySelector; } - void startApplication(); + //! Returns displayer + XGUI_Displayer* displayer() const { return myDisplayer; } - XGUI_MainWindow* mainWindow() const { return myMainWindow; } + //! Creates and adds a new workbench (menu group) with the given name and returns it + XGUI_Workbench* addWorkbench(const QString& theName); - XGUI_Workbench* addWorkbench(const QString& theName); + //! Returns the current operation or NULL + ModuleBase_Operation* currentOperation() { return myCurrentOperation; } - virtual void ProcessEvent(const Event_Message* theMessage); + //! Redefinition of Event_Listener method + virtual void processEvent(const Event_Message* theMessage); public slots: - void onNew(); - void onOpen(); - void onSave(); - void onSaveAs(); - void onExit(); + void updateCommandStatus(); + + void onNew(); + void onOpen(); + void onSave(); + void onSaveAs(); + void onExit(); + void onUndo(); + void onRedo(); protected: - //Event-loop processing methods: - void addFeature(const Config_FeatureMessage*); + //Event-loop processing methods: + void addFeature(const Config_FeatureMessage*); + void fillPropertyPanel(ModuleBase_PropPanelOperation* theOperation); + void connectToPropertyPanel(ModuleBase_Operation* theOperation); + void setCurrentOperation(ModuleBase_Operation* theOperation); private: - void initMenu(); + void initMenu(); + + XGUI_Module* loadModule(const QString& theModule); + bool activateModule(); + + XGUI_MainWindow* myMainWindow; + XGUI_Module* myPartSetModule; - XGUI_Module* loadModule(const QString& theModule); - bool activateModule(); + XGUI_SelectionMgr* mySelector; + XGUI_Displayer* myDisplayer; - XGUI_MainWindow* myMainWindow; - XGUI_Module* myPartSetModule; + ModuleBase_Operation* myCurrentOperation; }; #endif