X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FXGUI%2FXGUI_Workshop.h;h=aa12b955a32d98a6e5b8ff7ecb0f71f1b4f24a10;hb=5a5362530345c00af26fc8226f3066f749dde392;hp=e72ad9b6229299592b15326523ea042bf2a6e1a8;hpb=43439fdaa624bc161321e9caf56e48f259187dad;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Workshop.h b/src/XGUI/XGUI_Workshop.h old mode 100755 new mode 100644 index e72ad9b62..aa12b955a --- a/src/XGUI/XGUI_Workshop.h +++ b/src/XGUI/XGUI_Workshop.h @@ -1,68 +1,94 @@ -// Copyright (C) 2014-20xx CEA/DEN, EDF R&D --> +// Copyright (C) 2014-2022 CEA/DEN, EDF R&D +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// #ifndef XGUI_WORKSHOP_H #define XGUI_WORKSHOP_H #include "XGUI.h" -//#include "XGUI_Constants.h" -#include + #include #include +#include #include +#include +#include +#include + +#include #include -#include #include -#include +#include +#include #ifndef HAVE_SALOME -class AppElements_MainWindow; class AppElements_Command; +class AppElements_MainWindow; class AppElements_Workbench; #endif +class Config_DataModelReader; + class XGUI_ActionsMgr; +class XGUI_ActiveControlMgr; class XGUI_ContextMenuMgr; class XGUI_Displayer; class XGUI_ErrorDialog; class XGUI_ErrorMgr; +class XGUI_FacesPanel; +class XGUI_MenuMgr; class XGUI_ModuleConnector; class XGUI_ObjectsBrowser; class XGUI_OperationMgr; class XGUI_PropertyPanel; class XGUI_SalomeConnector; class XGUI_SalomeViewer; +class XGUI_SelectionActivate; class XGUI_SelectionMgr; class XGUI_ViewerProxy; class XGUI_WorkshopListener; +class XGUI_InspectionPanel; class ModuleBase_IModule; class ModuleBase_IViewer; class ModuleBase_Operation; -class QWidget; +class QAction; class QDockWidget; class QMainWindow; +class QWidget; -class QAction; - - -/**\class XGUI_Workshop - * \ingroup GUI - * \brief Class which defines a configuration of the application (Workshop) and launches it. - */ +/// \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 { Q_OBJECT public: /// Constructor - /// \param theConnector a Salome connector object. + /// \param theConnector a Salome connector object. /// Used only if the workshop is launched in Salome environment XGUI_Workshop(XGUI_SalomeConnector* theConnector = 0); virtual ~XGUI_Workshop(); - //! Starting of the application + /// Starting of the application void startApplication(); /// Activates the module controls. Should be called after module creation @@ -72,132 +98,137 @@ Q_OBJECT void deactivateModule(); #ifndef HAVE_SALOME - //! Returns main window (Desktop) of the application - AppElements_MainWindow* mainWindow() const - { - return myMainWindow; - } + /// Returns main window (Desktop) of the application + AppElements_MainWindow* mainWindow() const { return myMainWindow; } - //! Creates and adds a new workbench (menu group) with the given name and returns it + /// Creates and adds a new workbench (menu group) with the given name and returns it AppElements_Workbench* addWorkbench(const QString& theName); #endif - //! Returns selection manager object - XGUI_SelectionMgr* selector() const - { - return mySelector; - } - - //! Returns displayer - XGUI_Displayer* displayer() const - { - return myDisplayer; - } - - //! ! Returns operation manager. - XGUI_OperationMgr* operationMgr() const - { - return myOperationMgr; - } - - //! ! Returns error manager. - XGUI_ErrorMgr* errorMgr() const - { - return myErrorMgr; - } - - //! ! Returns an actions manager - XGUI_ActionsMgr* actionsMgr() const - { - return myActionsMgr; - } - - //! Returns property panel widget - XGUI_PropertyPanel* propertyPanel() const - { - return myPropertyPanel; - } - - //! Returns context menu manager object - XGUI_ContextMenuMgr* contextMenuMgr() const - { - return myContextMenuMgr; - } - - //! Returns an object which provides interface to Salome Module (LightApp_Module) - XGUI_SalomeConnector* salomeConnector() const - { - return mySalomeConnector; - } - - //! Provides an object which provides interface to Salome Viewer + /// Returns selection manager object + XGUI_SelectionMgr* selector() const { return mySelector; } + + /// Returns selection activating object + XGUI_SelectionActivate* selectionActivate() const { return mySelectionActivate; } + + /// Returns displayer + XGUI_Displayer* displayer() const { return myDisplayer; } + + /// Returns operation manager. + XGUI_OperationMgr* operationMgr() const { return myOperationMgr; } + + /// Returns error manager. + XGUI_ErrorMgr* errorMgr() const { return myErrorMgr; } + + /// Returns an actions manager + XGUI_ActionsMgr* actionsMgr() const { return myActionsMgr; } + + /// Returns an active control manager + XGUI_ActiveControlMgr* activeControlMgr() const { return myActiveControlMgr; } + + /// Returns an actions manager + XGUI_MenuMgr* menuMgr() const { return myMenuMgr; } + + /// Returns property panel widget + XGUI_PropertyPanel* propertyPanel() const { return myPropertyPanel; } + + /// Returns property panel widget + XGUI_InspectionPanel* inspectionPanel() const { return myInspectionPanel; } + + /// Returns panel for hide object faces + XGUI_FacesPanel* facesPanel() const { return myFacesPanel; } + + /// Returns context menu manager object + XGUI_ContextMenuMgr* contextMenuMgr() const { return myContextMenuMgr; } + + /// Returns an object which provides interface to Salome Module (LightApp_Module) + XGUI_SalomeConnector* salomeConnector() const { return mySalomeConnector; } + + /// Provides an object which provides interface to Salome Viewer ModuleBase_IViewer* salomeViewer() const; - //! Returns true if the application works as SALOME module - bool isSalomeMode() const - { - return mySalomeConnector != 0; - } + /// Returns true if the application works as SALOME module + bool isSalomeMode() const { return mySalomeConnector != 0; } - //! Returns Object browser - XGUI_ObjectsBrowser* objectBrowser() const - { - return myObjectBrowser; - } + /// Returns Object browser + XGUI_ObjectsBrowser* objectBrowser() const { return myObjectBrowser; } /// This method is called by Salome module when selection is changed void salomeViewerSelectionChanged(); /// Returns viewer which unifies access as to Salome viewer as to standalone viewer - XGUI_ViewerProxy* viewer() const - { - return myViewerProxy; - } + XGUI_ViewerProxy* viewer() const { return myViewerProxy; } /// Returns the module connector /// \returns the instance of connector - XGUI_ModuleConnector* moduleConnector() const - { - return myModuleConnector; - } + XGUI_ModuleConnector* moduleConnector() const { return myModuleConnector; } /// Returns a desktop /// \return a desktop instance QMainWindow* desktop() const; - //! Delete features + /// If faces panel made the object hidden, show message box whether the object should be + /// restored (removed from the panel) and displayed, if answer is No, returns false + /// \param theObject a model object + /// \return boolean state if the object should not be displayed + virtual bool prepareForDisplay(const std::set& theObjects) const; + + /// Delete features void deleteObjects(); - //! Searches for selected features unused in other (not selected) features. If one or several - //! selected features are found, a warning message proposes to delete them. It contains - //! the list of features to be deleted. + /// Searches for selected features unused in other (not selected) features. If one or several + /// selected features are found, a warning message proposes to delete them. It contains + /// the list of features to be deleted. void cleanHistory(); - //! Returns true if the selected feature can be moved to the position after the current feature - //! \return boolean value + /// Returns true if the selected feature can be moved to the position after the current feature + /// \return boolean value bool canMoveFeature(); - //! Move selected features to be after the current feature - void moveObjects(); + /// Move selected features to be after the current feature + void moveObjects(const bool theSplit); + + /// Start a "Recover" feature on the selected one + void recoverFeature(); - //! Returns true if the object can be shaded. If the object is a compsolid result, the method - //! checks subobjects of the result - //! \return boolean value + /// Returns true if the object can be shaded. If the object is a compsolid result, the method + /// checks subobjects of the result + /// \return boolean value bool canBeShaded(const ObjectPtr& theObject) const; - //! Returns true if there is at least one selected body/construction/group result - //! \return boolean value - bool canChangeColor() const; + /// Returns true if there is at least one selected body/construction/group result + /// \param theActionName text of the checked action + /// \return boolean value + bool canChangeProperty(const QString& theActionName) const; - //! Change color of the features if it is possible - //! The operation is available for construction, body and group results - //! theObjects a list of selected objects + /// Change color of the results if it is possible + /// The operation is available for construction, body and group results + /// theObjects a list of selected objects void changeColor(const QObjectPtrList& theObjects); - //! Show the given features in 3d Viewer + /// Change Autocolor of the results if it is possible + /// The operation is available for group results + /// theObjects a list of selected objects + void changeAutoColor(const QObjectPtrList& theObjects); + + /// Change deflection of the results if it is possible + /// The operation is available for construction, body and group results + /// theObjects a list of selected objects + void changeDeflection(const QObjectPtrList& theObjects); + + /// Change transparency of the results if it is possible + /// The operation is available for construction, body and group results + /// theObjects a list of selected objects + void changeTransparency(const QObjectPtrList& theObjects); + + /// Change number of iso-lines for the given objects + /// theObjects a list of selected objects + void changeIsoLines(const QObjectPtrList& theObjects); + + /// Show the given features in 3d Viewer void showObjects(const QObjectPtrList& theList, bool isVisible); - //! Show the given features in 3d Viewer + /// Show the given features in 3d Viewer void showOnlyObjects(const QObjectPtrList& theList); /// Set display mode for the given objects @@ -205,6 +236,12 @@ Q_OBJECT /// \param theMode a mode to set (see \ref XGUI_Displayer) void setDisplayMode(const QObjectPtrList& theList, int theMode); + /// Toggle visualisation of edges direction + void toggleEdgesDirection(const QObjectPtrList& theList); + + /// Toggle state of display priority (normal/in front) + void toggleBringToFront(const QObjectPtrList& theList); + /// Set selection mode in viewer. If theMode=-1 then activate default mode /// \param theMode the selection mode (according to TopAbs_ShapeEnum) void setViewerSelectionMode(int theMode); @@ -213,38 +250,34 @@ Q_OBJECT void activateObjectsSelection(const QObjectPtrList& theList); /// Returns current module - ModuleBase_IModule* module() const - { - return myModule; - } - - /// Returns current directory which contains data files - QString currentDataDir() const { return myCurrentDir; } - - /// Returns current directory which contains data files - void setCurrentDataDir(const QString& theDir) { myCurrentDir = theDir; } - - /** - * Save the current document into a directory - * \param theName - path to the directory - * \param theFileNames - returned file names created in this directory - */ + ModuleBase_IModule* module() const { return myModule; } + + /// Returns current file + QString currentDataFile() const { return myCurrentFile; } + + /// Returns current file + void setCurrentDataFile(const QString& theDir) { myCurrentFile = theDir; } + + /// Save the current document into a directory + /// \param theName - path to the directory + /// \param theFileNames - returned file names created in this directory void saveDocument(const QString& theName, std::list& theFileNames); - /** - * If there is an active (uncommitted) operation shows a prompt to abort it - * and performs abortion if user agreed. Returns true if - * - operation aborted successfully - * - there is no active operation - */ + /// If there is an active (uncommitted) operation shows a prompt to abort it + /// and performs abortion if user agreed. Returns true if + /// - operation aborted successfully + /// - there is no active operation bool abortAllOperations(); - //! Delete features. Delete the referenced features. There can be a question with a list of - //! referenced objects. - //! \param theList an objects to be deleted - //! \param theIgnoredFeatures a list of features to be ignored during delete - bool deleteFeatures(const QObjectPtrList& theFeatures, - const std::set& theIgnoredFeatures = std::set()); + /// Updates workshop state according to the started operation, e.g. visualizes the property panel + /// and connect to it. + /// \param theOpertion a started operation + void operationStarted(ModuleBase_Operation* theOperation); + + /// Delete features. Delete the referenced features. There can be a question with a list of + /// referenced objects. + /// \param theFeatures a list of objects to be deleted + bool deleteFeatures(const QObjectPtrList& theFeatures); /// Deactivates the object, if it is active and the module returns that the activation /// of selection for the object is not possible currently(the current operation uses it) @@ -256,52 +289,85 @@ Q_OBJECT /// \param theFeature a feature bool isFeatureOfNested(const FeaturePtr& theFeature); + /// Shows the message in the status bar + /// \param theMessage a message + void setStatusBarMessage(const QString& theMessage); + +#ifdef HAVE_SALOME /// Has to be called in order to display objects with visibility status = true void synchronizeViewer(); - /// Has to be called in order to display objects from a cpecifed group with visibility status = true + /// Has to be called in order to display objects from a specifed group + /// with visibility status = true /// \param theDoc the document for objects synchronisation - /// \param theGroup the group name /// \param theUpdateViewer update viewer flag - void synchronizeGroupInViewer(const DocumentPtr& theDoc, const std::string& theGroup, bool theUpdateViewer); + void synchronizeGroupInViewer(const DocumentPtr& theDoc, + bool theUpdateViewer); + + void synchronizeResultTree(const ResultBodyPtr& theRes, bool theUpdateViewer); +#endif /// Update the property panel content by the XML description of the operation and set the panel /// into the operation /// \param theOperation an operation - void setPropertyPanel(ModuleBase_Operation* theOperation); + void fillPropertyPanel(ModuleBase_Operation* theOperation); /// Connects or disconnects to the value changed signal of the property panel widgets /// \param isToConnect a boolean value whether connect or disconnect void connectToPropertyPanel(const bool isToConnect); /// Returns defailt selection mode in 3d viewer - int viewerSelectionMode() const { return myViewerSelMode; } + QIntList viewerSelectionModes() const { return myViewerSelMode; } /// Highlights result objects in Object Browser according to /// features found in the given list void highlightResults(const QObjectPtrList& theObjects); + /// Highlights feature objects in Object Browser according to + /// features found in the given list + void highlightFeature(const QObjectPtrList& theObjects); + + /// Returns Data Model XML reader which contains information about + /// Data structure configuration + const Config_DataModelReader* dataModelXMLReader() const { return myDataModelXMLReader; } + /// A constant string used for "Move to end" command definition /// It is used for specific processing of Undo/Redo for this command. static QString MOVE_TO_END_COMMAND; + /// A constant string used for "Move to end and split" command definition + /// It is used for specific processing of Undo/Redo for this command. + static QString MOVE_TO_END_SPLIT_COMMAND; + + /// Closes all in the current session and load the directory + /// \param theDirectory a path to directory + void openFile(const QString& theDirectory); + + void updateAutoComputeState(); + + void deactivateCurrentSelector(); + + /// The method updates a Color Scale object in the viewer + void updateColorScaleVisibility(); + + /// The method updates a Text of Group names in the viewer. + void updateGroupsText(); + + void showHelpPage(const QString& thePage) const; signals: /// Emitted when selection happens in Salome viewer void salomeViewerSelection(); - /// Emitted when error in application happens - void errorOccurred(const QString&); - - //! the signal about the workshop actions states are updated. + /// the signal about the workshop actions states are updated. void commandStatusUpdated(); - //! the application is started + /// the application is started void applicationStarted(); - //! Signal to update Undo history list + /// Signal to update Undo history list void updateUndoHistory(const QList&); - //! Signal to update Redo history list + /// Signal to update Redo history list void updateRedoHistory(const QList&); public slots: @@ -323,9 +389,6 @@ signals: /// Redo previous command void onRedo(int times = 1); - // Rebuild data tree - //void onRebuild(); - /// Validates the operation to change the "Apply" button state. /// \param thePreviousState the previous state of the widget void onWidgetStateChanged(int thePreviousState); @@ -334,11 +397,14 @@ signals: /// differs in the new state of paged container void onValuesChanged(); - /// Show property panel - void showPropertyPanel(); + /// Listens the corresponded signal of model widget and updates Apply button state by feature + void onWidgetObjectUpdated(); - /// Hide property panel - void hidePropertyPanel(); + /// Show dock widget panel + void showPanel(QDockWidget* theDockWidget); + + /// Hide dock widget panel + void hidePanel(QDockWidget* theDockWidget); /// Show object Browser void showObjectBrowser(); @@ -355,6 +421,21 @@ signals: /// Create a new document void onNew(); + /// Import part structure from a file + void onImportPart(); + + /// Import shape from a file + void onImportShape(); + + /// Import image from a file + void onImportImage(); + + /// Export features to a file + void onExportPart(); + + /// Export a shape to a file + void onExportShape(); + #ifndef HAVE_SALOME /// Exit application void onExit(); @@ -363,53 +444,22 @@ signals: void onPreferences(); #endif + /// A slot calleon toggle of auto-compute button + void onAutoApply(); + /// Activates/deactivates the trihedron in the viewer AIS context void onTrihedronVisibilityChanged(bool theState); + /// Apply the current transparency value if preview in transparency dialog is switched on + void onTransparencyValueChanged(); protected: /// Sets the granted operations for the parameter operation. Firstly, it finds the nested features /// and set them into the operation. Secondly, it asks the module about ids of granted operations. /// \param theOperation an operation - void setGrantedFeatures(ModuleBase_Operation* theOperation); - - //! Find all referenced features. Return direct and indirect lists of referenced object - //! \param theList an objects to be checked - //! \param aDirectRefFeatures a list of direct reference features - //! \param aIndirectRefFeatures a list of features which depend on the feature through others - void findReferences(const QObjectPtrList& theList, - std::set& aDirectRefFeatures, - std::set& aIndirectRefFeatures); - - //! Shows a dialog box about references. Ask whether they should be also removed. - //! \param theList an objects to be checked - //! \param aDirectRefFeatures a list of direct reference features - //! \param aIndirectRefFeatures a list of features which depend on the feature through others - //! \param theParent a parent widget for the question message box - //! \param doDeleteReferences if there are parameters between features, ask if they should be - //! replaced to their meaning without corresponded features remove - //! \return true if in message box answer is Yes - bool isDeleteFeatureWithReferences(const QObjectPtrList& theList, - const std::set& aDirectRefFeatures, - const std::set& aIndirectRefFeatures, - QWidget* theParent, - bool& doDeleteReferences); - - //! \param theIgnoredFeatures a list of features to be ignored during delete - //! \param theList an objects to be checked - //! \param aDirectRefFeatures a list of direct reference features - //! \param aIndirectRefFeatures a list of features which depend on the feature through others - //! \param doDeleteReferences flag if referenced features should be removed also - bool deleteFeaturesInternal(const QObjectPtrList& theList, - const std::set& aDirectRefFeatures, - const std::set& aIndirectRefFeatures, - const std::set& theIgnoredFeatures, - const bool doDeleteReferences = true); + void setGrantedFeatures(ModuleBase_Operation* theOperation); private: - /// Display all results - //void displayAllResults(); - /// Display results from document /// \param theDoc a document void displayDocumentResults(DocumentPtr theDoc); @@ -417,12 +467,16 @@ private: /// Display results from a group void displayGroupResults(DocumentPtr theDoc, std::string theGroup); - private 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. - /// \param theOpertion a started operation - void onOperationStarted(ModuleBase_Operation* theOperation); + /// Insert folder object before currently selected feature + void insertFeatureFolder(); + + /// Insert an object to a folder above or below + void insertToFolder(bool isBefore); + + /// Insert an object to a folder above or below + void moveOutFolder(bool isBefore); + private slots: /// SLOT, that is called after the operation is resumed. Update workshop state according to /// the started operation, e.g. visualizes the property panel and connect to it. /// \param theOpertion a resumed operation @@ -453,12 +507,22 @@ private: /// the operation can be committed and do it if it returns true. void onAcceptActionClicked(); + /// Called by OkPlus button clicked in the property panel. Asks the error manager whether + /// the operation can be committed and do it if it returns true. + void onAcceptPlusActionClicked(); + /// Called by Preview button clicked in the property panel. Sends signal to model to /// compute preview. - void onPreivewActionClicked(); + void onPreviewActionClicked(); + + /// Called on help button clicked in the property panel. + void onHelpActionClicked() const; + + //! The slot is called only once on resizing of Object Browser + void onDockSizeChanged(); private: - /// Init menu + /// Init menu void initMenu(); /// Register validators @@ -475,55 +539,59 @@ private: /// \param theParent a parent of widget QDockWidget* createObjectBrowser(QWidget* theParent); - /// Create property panel widget - /// \param theParent a parent of widget - QDockWidget* createPropertyPanel(QWidget* theParent); - // Creates Dock widgets: Object browser and Property panel void createDockWidgets(); - //! Extends undo/redo toolbutton's with history menu - //! \param theObject - in the OpenParts it is a QToolButton by itself, - //! in salome mode - QAction that creates a button. - //! \param theSignal - void "updateUndoHistory" or "updateRedoHistory" SIGNAL; - //! \param theSlot - onUndo(int) or onRedo(int) SLOT + /// Extends undo/redo toolbutton's with history menu + /// \param theObject - in the CADBuilder it is a QToolButton by itself, + /// in salome mode - QAction that creates a button. + /// \param theSignal - void "updateUndoHistory" or "updateRedoHistory" SIGNAL; + /// \param theSlot - onUndo(int) or onRedo(int) SLOT void addHistoryMenu(QObject* theObject, const char* theSignal, const char* theSlot); + /// Creates list of actions (commands) by given history list from session + QList processHistoryList(const std::list&) const; - /// Calls removeFeature of the document for each object in the list - //! \param theList an objects to be deleted - //! \param theIgnoredFeatures a list of features to be ignored during delete - //! \param theActionId an action command key to find context menu object types enabled for remove - bool removeFeatures(const QObjectPtrList& theList, - const std::set& theIgnoredFeatures, - const QString& theActionId); + /// Pefrom Undo/Redo and necessary workshop updates(viewer, browser, actions state) + /// \param theActionType a type of the action (Undo or Redo) + /// \param theTimes number of applies the given action + void processUndoRedo(const ModuleBase_ActionType theActionType, int theTimes); - //! Creates list of actions (commands) by given history list from session - QList processHistoryList(const std::list&) const; + /// Clear content of temporary directory + void clearTemporaryDir(); + + /// Set current point of view normal to selected planar face + /// \param toInvert invert the normal vector + void setNormalView(bool toInvert = false); private: #ifndef HAVE_SALOME - AppElements_MainWindow* myMainWindow; + AppElements_MainWindow* myMainWindow; ///< desktop window #endif - ModuleBase_IModule* myModule; - XGUI_ErrorMgr* myErrorMgr; - XGUI_ObjectsBrowser* myObjectBrowser; - XGUI_PropertyPanel* myPropertyPanel; - XGUI_SelectionMgr* mySelector; - XGUI_Displayer* myDisplayer; + ModuleBase_IModule* myModule; ///< current module + XGUI_ErrorMgr* myErrorMgr; ///< updator of error message + XGUI_ObjectsBrowser* myObjectBrowser; ///< data tree widget + XGUI_PropertyPanel* myPropertyPanel; ///< container of feature attributes widgets + XGUI_FacesPanel* myFacesPanel; ///< panel for hide object faces + XGUI_SelectionMgr* mySelector; ///< handler of selection processing + XGUI_SelectionActivate* mySelectionActivate; /// manager of selection activating + XGUI_Displayer* myDisplayer; ///< handler of objects display XGUI_OperationMgr* myOperationMgr; ///< manager to manipulate through the operations - XGUI_ActionsMgr* myActionsMgr; - XGUI_SalomeConnector* mySalomeConnector; - XGUI_ErrorDialog* myErrorDlg; - XGUI_ViewerProxy* myViewerProxy; - XGUI_ContextMenuMgr* myContextMenuMgr; - XGUI_ModuleConnector* myModuleConnector; - XGUI_WorkshopListener* myEventsListener; - - QString myCurrentDir; - - int myViewerSelMode; + XGUI_ActionsMgr* myActionsMgr; ///< manager of workshop actions + XGUI_ActiveControlMgr* myActiveControlMgr; ///< manager to have none or one active control + XGUI_MenuMgr* myMenuMgr; ///< manager to build menu/tool bar using order defined in XML + XGUI_SalomeConnector* mySalomeConnector; ///< connector to SALOME module interface + XGUI_ErrorDialog* myErrorDlg; ///< dialog to show information of occured error events + XGUI_ViewerProxy* myViewerProxy; ///< connector to SALOME viewer interface + XGUI_ContextMenuMgr* myContextMenuMgr; ///< manager of context menu build + XGUI_ModuleConnector* myModuleConnector; ///< implementation of ModuleBase_IWorkshop + XGUI_WorkshopListener* myEventsListener; ///< processing of events + QString myCurrentFile; ///< cached the last open directory + QIntList myViewerSelMode; ///< selection modes set in the viewer + Config_DataModelReader* myDataModelXMLReader; ///< XML reader of data model + XGUI_InspectionPanel* myInspectionPanel; ///< container of feature attributes widgets + QTemporaryDir myTmpDir; ///< a direcory for uncompressed files }; #endif