X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_Workshop.h;h=50e0a44cc0759dc0702f330cc29d552712a5c36c;hb=29b4b1b5e692ebc45e8a27703b9307b075d2cff2;hp=6628d12ef566d640ede3b1b2b0dd785cd3c9d5e8;hpb=78f3e64041d09a7611d77fe4df9d428a4d9410d2;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Workshop.h b/src/XGUI/XGUI_Workshop.h index 6628d12ef..50e0a44cc 100644 --- a/src/XGUI/XGUI_Workshop.h +++ b/src/XGUI/XGUI_Workshop.h @@ -1,7 +1,7 @@ #ifndef XGUI_WORKSHOP_H #define XGUI_WORKSHOP_H -#include +#include "XGUI.h" #include #include @@ -13,7 +13,10 @@ 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; @@ -22,7 +25,7 @@ class Config_PointerMessage; * \ingroup GUI * \brief Class which defines a configuration of the application (Workshop) and launches it. */ -class XGUI_Workshop: public QObject, public Event_Listener +class XGUI_EXPORT XGUI_Workshop: public QObject, public Event_Listener { Q_OBJECT public: @@ -39,23 +42,36 @@ public: 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); + //! 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_Operation* theOperation); + void fillPropertyPanel(ModuleBase_PropPanelOperation* theOperation); void connectToPropertyPanel(ModuleBase_Operation* theOperation); void setCurrentOperation(ModuleBase_Operation* theOperation); @@ -68,6 +84,9 @@ private: XGUI_MainWindow* myMainWindow; XGUI_Module* myPartSetModule; + XGUI_SelectionMgr* mySelector; + XGUI_Displayer* myDisplayer; + ModuleBase_Operation* myCurrentOperation; };