class ModuleBase_ViewerPrs;
class SelectMgr_EntityOwner;
-/**
-* \ingroup GUI
-* A class which provides access to selection.
-* A selection can be obtained as from a viewer as from Object browser in various forms
-*/
+/// \ingroup GUI
+/// A class which provides access to selection.
+/// A selection can be obtained as from a viewer as from Object browser in various forms
class ModuleBase_ISelection
{
public:
virtual void fillPresentation(std::shared_ptr<ModuleBase_ViewerPrs>& thePrs,
const Handle(SelectMgr_EntityOwner)& theOwner) const = 0;
- /**
- * Returns list of features currently selected in object browser
- */
+ /// Returns list of features currently selected in object browser
virtual QObjectPtrList selectedObjects() const = 0;
- /// Set selected objects list
- virtual void setSelectedObjects( const QObjectPtrList& ) const = 0;
-
- /**
- * Returns list of currently selected results
- */
+ /// Returns list of currently selected results
virtual QObjectPtrList selectedPresentations() const = 0;
- //! Returns list of currently selected QModelIndexes
+ /// Returns list of currently selected QModelIndexes
virtual QModelIndexList selectedIndexes() const = 0;
- //! Returns list of currently selected AIS objects
- //! \param theList returning list of selected AIS objects
- virtual void selectedAISObjects(AIS_ListOfInteractive& theList) const = 0;
-
- //! Returns list of currently selected QModelIndexes
- virtual ObjectPtr getSelectableObject(const Handle(SelectMgr_EntityOwner)& theOwner) const = 0;
-
- //! Return the shape from the viewer presentation.
- //! If the shape is equal to the shape of selected object, it returns an empty shape
- //! \param thePrs a selected object
- //! \return a shape
+ /// Return the shape from the viewer presentation.
+ /// If the shape is equal to the shape of selected object, it returns an empty shape
+ /// \param thePrs a selected object
+ /// \return a shape
MODULEBASE_EXPORT ResultPtr getResult(const std::shared_ptr<ModuleBase_ViewerPrs>& thePrs);
- //! Return the shape from the viewer presentation.
- //! If the shape is equal to the shape of selected object, it returns an empty shape
- //! \param thePrs a selected object
- //! \return a shape
+ /// Return the shape from the viewer presentation.
+ /// If the shape is equal to the shape of selected object, it returns an empty shape
+ /// \param thePrs a selected object
+ /// \return a shape
MODULEBASE_EXPORT GeomShapePtr getShape(const std::shared_ptr<ModuleBase_ViewerPrs>& thePrs);
- //! Return the IO from the viewer presentation.
- //! \param thePrs a selected object
- //! \return an interactive object
+ /// Return the IO from the viewer presentation.
+ /// \param thePrs a selected object
+ /// \return an interactive object
virtual MODULEBASE_EXPORT
Handle(AIS_InteractiveObject) getIO(const std::shared_ptr<ModuleBase_ViewerPrs>& thePrs) = 0;
- //! Wraps the object list into the viewer prs list
- //! \param theObjects a list of objects
- //! \return a list of prs, where only object is not empty
+ /// Wraps the object list into the viewer prs list
+ /// \param theObjects a list of objects
+ /// \return a list of prs, where only object is not empty
static MODULEBASE_EXPORT QList<std::shared_ptr<ModuleBase_ViewerPrs>> getViewerPrs(
const QObjectPtrList& theObjects);
/// owner with the qual vertex stays in the list.
static MODULEBASE_EXPORT void filterSelectionOnEqualPoints
(QList<std::shared_ptr<ModuleBase_ViewerPrs>>& theSelected);
+protected:
+ /// Returns list of currently selected QModelIndexes
+ virtual ObjectPtr getSelectableObject(const Handle(SelectMgr_EntityOwner)& theOwner) const = 0;
+
private:
/// Find vertex shape build by a Brep owner of the presentation if it exists
/// \param thePrs a viewer presentation
// email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
//
-/*
- * XGUI_ActionsMgr.h
- */
-
-#ifndef XGUI_ACTIONSMGR_H_
-#define XGUI_ACTIONSMGR_H_
+#ifndef XGUI_ActionsMgr_H
+#define XGUI_ActionsMgr_H
#include "XGUI.h"
class ModuleBase_Operation;
class QAction;
-/**
-* \ingroup GUI
-* A class for management of actions (features) activation/deactivation
-*/
+/// class XGUI_ActionsMgr
+/// \ingroup GUI
+/// A class for management of actions (features) activation/deactivation
class XGUI_EXPORT XGUI_ActionsMgr : public QObject, public Events_Listener
{
Q_OBJECT
Preview = 5
};
- //! Add a command in the manager.
- //! Please note that nested commands in the Salome mode (No AppElements_Command, pure QActions)
- //! won't be extracted and should be added manually using the addNestedCommands method.
+ /// Add a command in the manager.
+ /// Please note that nested commands in the Salome mode (No AppElements_Command, pure QActions)
+ /// won't be extracted and should be added manually using the addNestedCommands method.
void addCommand(QAction* theCmd);
- //! Sets relation between the command (with given Id) and it's nested actions.
+ /// Sets relation between the command (with given Id) and it's nested actions.
void addNestedCommands(const QString& theId, const QStringList& theCommands);
- //! Returns list of nested commands by parent command Id
- //! \param theId a parent command Id
+ /// Returns list of nested commands by parent command Id
+ /// \param theId a parent command Id
QStringList nestedCommands(const QString& theId) const;
/// Returns True if the given Id is an Id of nested command
/// \param theKeySequence - string that contain a key sequence to register
QKeySequence registerShortcut(const QString& theKeySequence);
- //! Redefinition of Events_Listener method
+ /// Redefinition of Events_Listener method
virtual void processEvent(const std::shared_ptr<Events_Message>& theMessage);
- //! Return property panel's action like ok, cancel, help.
- //! If there is no such action, it will be created.
+ /// Return property panel's action like ok, cancel, help.
+ /// If there is no such action, it will be created.
QAction* operationStateAction(OperationStateActionId theId);
/// Return an action by the given id, if it was registered in the manager
ActionInfo actionInfoById(const QString& theId);
private:
- //! Update workbench actions according to OperationMgr state:
- //! No active operations: all actions but nested are available
- //! There is active operation: current operation + it's nested
- //! are enabled, all the rest is disabled. All active commands is checked.
+ /// Update workbench actions according to OperationMgr state:
+ /// No active operations: all actions but nested are available
+ /// There is active operation: current operation + it's nested
+ /// are enabled, all the rest is disabled. All active commands is checked.
void updateCommandsStatus();
- //! Sets all commands checked if it's operation is active.
+ /// Sets all commands checked if it's operation is active.
void updateCheckState();
- //! Updates actions according to current selection in the viewer
+ /// Updates actions according to current selection in the viewer
void updateOnViewSelection();
- //! Sets all actions to enabled state.
+ /// Sets all actions to enabled state.
void setAllEnabled();
- //! Sets all nested actions to isEnabled state for the command with given ID.
- //! If ID is empty - all nested actions will be affected.
+ /// Sets all nested actions to isEnabled state for the command with given ID.
+ /// If ID is empty - all nested actions will be affected.
void setNestedCommandsEnabled(bool isEnabled, const QString& theParent = QString());
- //! Sets to enabled state all siblings of the given operation and it's parents recursively
+ /// Sets to enabled state all siblings of the given operation and it's parents recursively
void setNestedStackEnabled(ModuleBase_Operation* theOperation);
- //! Sets the action with theId to theChecked state.
+ /// Sets the action with theId to theChecked state.
void setActionChecked(const QString& theId, const bool theChecked);
- //! Sets the action with theId to theEnabled state.
+ /// Sets the action with theId to theEnabled state.
void setActionEnabled(const QString& theId, const bool theEnabled);
- //! Updates actions according to their "document" tag
+ /// Updates actions according to their "document" tag
void updateByDocumentKind();
- //! Asks plugins about their features state, using the Events system
+ /// Asks plugins about their features state, using the Events system
void updateByPlugins(FeaturePtr theActiveFeature);
+ /// Returns names of nested action for the feature of given operation
+ /// \param theOperation an operation
QStringList allNestedCommands(ModuleBase_Operation* theOperation);
private:
friend class XGUI_Workshop;
};
-#endif /* XGUI_ACTIONSMGR_H_ */
+#endif /* XGUI_ActionsMgr_H */
#define XGUI_WORKSHOP_H
#include "XGUI.h"
-//#include "XGUI_Constants.h"
-#include <ModuleBase_Definitions.h>
+
#include <ModelAPI_Document.h>
#include <ModelAPI_Feature.h>
#include <ModuleBase_ActionInfo.h>
+#include <ModuleBase_ActionType.h>
+#include <ModuleBase_Definitions.h>
+#include <QIcon>
#include <QObject>
-#include <QMap>
#include <QKeySequence>
-#include <QIcon>
+#include <QMap>
#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 ModuleBase_IViewer;
class ModuleBase_Operation;
-class QWidget;
+class QAction;
class QDockWidget;
class QMainWindow;
+class QWidget;
-class QAction;
-class Config_DataModelReader;
-
-/**\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
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
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 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 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
+ /// 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 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 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
/// \return boolean state if the object should not be displayed
virtual bool prepareForDisplay(const std::set<ObjectPtr>& theObjects) const;
- //! Delete features
+ /// 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
+ /// Move selected features to be after the current feature
void moveObjects();
- //! 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
- //! \param theActionName text of the checked action
- //! \return boolean value
+ /// 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 results 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);
- //! 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
+ /// 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
+ /// 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);
- //! Show the given features in 3d Viewer
+ /// 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
void activateObjectsSelection(const QObjectPtrList& theList);
/// Returns current module
- ModuleBase_IModule* module() const
- {
- return myModule;
- }
+ 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
- */
+ /// 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<std::string>& 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();
/// Updates workshop state according to the started operation, e.g. visualizes the property panel
/// \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
+ /// 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
/// \param theFeature a feature
bool isFeatureOfNested(const FeaturePtr& theFeature);
- //! Shows the message in the status bar
- //! \param theMessage a message
+ /// Shows the message in the status bar
+ /// \param theMessage a message
void setStatusBarMessage(const QString& theMessage);
- /// 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 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);
-
/// Update the property panel content by the XML description of the operation and set the panel
/// into the operation
/// \param theOperation an operation
/// It is used for specific processing of Undo/Redo for this command.
static QString MOVE_TO_END_COMMAND;
- //! Closes all in the current session and load the directory
- //! \param theDirectory a path to directory
+ /// Closes all in the current session and load the directory
+ /// \param theDirectory a path to directory
void openDirectory(const QString& theDirectory);
signals:
/// Emitted when selection happens in Salome viewer
void salomeViewerSelection();
- //! 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<ActionInfo>&);
- //! Signal to update Redo history list
+ /// Signal to update Redo history list
void updateRedoHistory(const QList<ActionInfo>&);
public slots:
void setGrantedFeatures(ModuleBase_Operation* theOperation);
private:
- /// Display all results
- //void displayAllResults();
-
/// Display results from document
/// \param theDoc a document
void displayDocumentResults(DocumentPtr theDoc);
void moveOutFolder(bool isBefore);
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);
-
/// 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
void onPreviewActionClicked();
private:
- /// Init menu
+ /// Init menu
void initMenu();
/// Register validators
// 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 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
void addHistoryMenu(QObject* theObject, const char* theSignal, const char* theSlot);
- //! Creates list of actions (commands) by given history list from session
+ /// Creates list of actions (commands) by given history list from session
QList<ActionInfo> processHistoryList(const std::list<std::string>&) const;
+ /// 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);
+
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_FacesPanel* myFacesPanel; //< panel for hide object faces
- 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_Displayer* myDisplayer; ///< handler of objects display
XGUI_OperationMgr* myOperationMgr; ///< manager to manipulate through the operations
- XGUI_ActionsMgr* myActionsMgr;
+ 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;
- XGUI_ErrorDialog* myErrorDlg;
- XGUI_ViewerProxy* myViewerProxy;
- XGUI_ContextMenuMgr* myContextMenuMgr;
- XGUI_ModuleConnector* myModuleConnector;
- XGUI_WorkshopListener* myEventsListener;
-
- QString myCurrentDir;
-
- QIntList myViewerSelMode;
-
- Config_DataModelReader* myDataModelXMLReader;
+ 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 myCurrentDir; ///< cached the last open directory
+ QIntList myViewerSelMode; ///< selection modes set in the viewer
+ Config_DataModelReader* myDataModelXMLReader; ///< XML reader of data model
};
#endif