X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FXGUI%2FXGUI_Workshop.h;h=458b8a4c415a9a35c8d358ce98d574adc325900a;hb=dbe90044b0b96aa64dfe6609083413da2bdf08ec;hp=74c20b177a4f38e11d3b18166d66eda1ce7b3736;hpb=c57e24940c832457343b4fa2b36e0aee85e2238b;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Workshop.h b/src/XGUI/XGUI_Workshop.h index 74c20b177..458b8a4c4 100644 --- a/src/XGUI/XGUI_Workshop.h +++ b/src/XGUI/XGUI_Workshop.h @@ -6,13 +6,13 @@ #include #include #include +#include #include #include #include #include - class XGUI_MainWindow; class XGUI_Command; class XGUI_Workbench; @@ -46,10 +46,10 @@ class QAction; * \ingroup GUI * \brief Class which defines a configuration of the application (Workshop) and launches it. */ -class XGUI_EXPORT XGUI_Workshop: public QObject, public Events_Listener +class XGUI_EXPORT XGUI_Workshop : public QObject, public Events_Listener { Q_OBJECT -public: + public: XGUI_Workshop(XGUI_SalomeConnector* theConnector = 0); virtual ~XGUI_Workshop(); @@ -64,22 +64,41 @@ public: } //! Returns selection manager object - XGUI_SelectionMgr* selector() const { return mySelector; } + XGUI_SelectionMgr* selector() const + { + return mySelector; + } //! Returns displayer - XGUI_Displayer* displayer() const { return myDisplayer; } + XGUI_Displayer* displayer() const + { + return myDisplayer; + } //! ! Returns operation manager. - XGUI_OperationMgr* operationMgr() const { return myOperationMgr; } + XGUI_OperationMgr* operationMgr() const + { + return myOperationMgr; + } //! ! Returns an actions manager - XGUI_ActionsMgr* actionsMgr() const { return myActionsMgr; }; + XGUI_ActionsMgr* actionsMgr() const + { + return myActionsMgr; + } + ; //! Returns property panel widget - XGUI_PropertyPanel* propertyPanel() const { return myPropertyPanel; } + XGUI_PropertyPanel* propertyPanel() const + { + return myPropertyPanel; + } //! Returns context menu manager object - XGUI_ContextMenuMgr* contextMenuMgr() const { return myContextMenuMgr; } + XGUI_ContextMenuMgr* contextMenuMgr() const + { + return myContextMenuMgr; + } //! Creates and adds a new workbench (menu group) with the given name and returns it XGUI_Workbench* addWorkbench(const QString& theName); @@ -88,24 +107,39 @@ public: virtual void processEvent(const Events_Message* theMessage); //! Returns an object which provides interface to Salome Module (LightApp_Module) - XGUI_SalomeConnector* salomeConnector() const { return mySalomeConnector; } + XGUI_SalomeConnector* salomeConnector() const + { + return mySalomeConnector; + } //! Provides an object which provides interface to Salome Viewer XGUI_SalomeViewer* salomeViewer() const; //! Returns true if the application works as SALOME module - bool isSalomeMode() const { return mySalomeConnector != 0; } + bool isSalomeMode() const + { + return mySalomeConnector != 0; + } //! Returns Object browser - XGUI_ObjectsBrowser* objectBrowser() const { return myObjectBrowser; } + XGUI_ObjectsBrowser* objectBrowser() const + { + return myObjectBrowser; + } void salomeViewerSelectionChanged(); - XGUI_ViewerProxy* viewer() const { return myViewerProxy; } + XGUI_ViewerProxy* viewer() const + { + return myViewerProxy; + } /// Returns the module connectory /// \returns the instance of connector - XGUI_ModuleConnector* moduleConnector() const { return myModuleConnector; } + XGUI_ModuleConnector* moduleConnector() const + { + return myModuleConnector; + } //! Returns icon name according to feature Id static QString featureIcon(const std::string& theId); @@ -120,13 +154,16 @@ public: //! Show the given features in 3d Viewer void showObjects(const QList& theList, bool isVisible); - ModuleBase_IModule* module() const { return myModule; } + ModuleBase_IModule* module() const + { + return myModule; + } signals: void salomeViewerSelection(); void errorOccurred(const QString&); -public slots: + public slots: void updateCommandStatus(); void updateCommandsOnViewSelection(); @@ -137,6 +174,7 @@ public slots: void onExit(); void onUndo(); void onRedo(); + void onPreferences(); void showPropertyPanel(); void hidePropertyPanel(); @@ -148,7 +186,7 @@ public slots: void activateLastPart(); -protected: + protected: //Event-loop processing methods: void addFeature(const Config_FeatureMessage*); void connectWithOperation(ModuleBase_Operation* theOperation); @@ -159,9 +197,15 @@ protected: void onFeatureRedisplayMsg(const ModelAPI_ObjectUpdatedMessage* theMsg); void onObjectDeletedMsg(const ModelAPI_ObjectDeletedMessage* theMsg); + void validateOperation(const QString& theOperationId); + QList getModuleCommands() const; -protected slots: + void displayAllResults(); + void displayDocumentResults(DocumentPtr theDoc); + void displayGroupResults(DocumentPtr theDoc, std::string theGroup); + + protected slots: /// SLOT, that is called after the operation is started. Update workshop state according to /// the started operation, e.g. visualizes the property panel and connect to it. void onOperationStarted(); @@ -174,12 +218,13 @@ protected slots: void onWidgetValuesChanged(); -private: + void onStartWaiting(); + + private: void initMenu(); void registerValidators() const; - ModuleBase_IModule* loadModule(const QString& theModule); bool activateModule(); @@ -195,7 +240,7 @@ private: XGUI_PropertyPanel* myPropertyPanel; XGUI_SelectionMgr* mySelector; XGUI_Displayer* myDisplayer; - XGUI_OperationMgr* myOperationMgr; ///< manager to manipulate through the operations + XGUI_OperationMgr* myOperationMgr; ///< manager to manipulate through the operations XGUI_ActionsMgr* myActionsMgr; XGUI_SalomeConnector* mySalomeConnector; XGUI_ErrorDialog* myErrorDlg; @@ -205,7 +250,6 @@ private: QString myCurrentDir; static QMap myIcons; - }; #endif