X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_Workshop.h;h=50e0a44cc0759dc0702f330cc29d552712a5c36c;hb=29b4b1b5e692ebc45e8a27703b9307b075d2cff2;hp=f25f355fb09fb4e79481a5f9129ed15c8b04f632;hpb=2a0dd5ede9110d423fbd6b038c0445cb819163a9;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Workshop.h b/src/XGUI/XGUI_Workshop.h index f25f355fb..50e0a44cc 100644 --- a/src/XGUI/XGUI_Workshop.h +++ b/src/XGUI/XGUI_Workshop.h @@ -1,8 +1,8 @@ #ifndef XGUI_WORKSHOP_H #define XGUI_WORKSHOP_H -#include -#include +#include "XGUI.h" +#include #include #include @@ -13,10 +13,19 @@ 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 public: @@ -24,27 +33,47 @@ public: 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; } + + //! Returns displayer + XGUI_Displayer* displayer() const { return myDisplayer; } + + //! Creates and adds a new workbench (menu group) with the given name and returns it XGUI_Workbench* addWorkbench(const QString& theName); - virtual void ProcessEvent(const Event_Message* theMessage); + //! Returns the current operation or NULL + ModuleBase_Operation* currentOperation() { return myCurrentOperation; } + + //! Redefinition of Event_Listener method + virtual void processEvent(const Event_Message* theMessage); public slots: + 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*); + void fillPropertyPanel(ModuleBase_PropPanelOperation* theOperation); + void connectToPropertyPanel(ModuleBase_Operation* theOperation); + void setCurrentOperation(ModuleBase_Operation* theOperation); private: void initMenu(); @@ -54,6 +83,11 @@ private: XGUI_MainWindow* myMainWindow; XGUI_Module* myPartSetModule; + + XGUI_SelectionMgr* mySelector; + XGUI_Displayer* myDisplayer; + + ModuleBase_Operation* myCurrentOperation; }; #endif