+ /// Set display mode for the given objects
+ /// \param theList a list of displayed objects
+ /// \param theMode a mode to set (see \ref XGUI_Displayer)
+ void setDisplayMode(const QObjectPtrList& theList, int theMode);
+
+ /// 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);
+
+ /// Activates current selection mode for the given list of objects
+ 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
+ */
+ 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
+ */
+ 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<FeaturePtr>& theIgnoredFeatures = std::set<FeaturePtr>());
+
+ /// 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)
+ /// \param theObject an object
+ /// \param theUpdateViewer a boolean flag to update viewer immediately
+ void deactivateActiveObject(const ObjectPtr& theObject, const bool theUpdateViewer);
+
+ /// Returns true if the action of the feature is created to contain Accept/Cancel button
+ /// \param theFeature a feature
+ bool isFeatureOfNested(const FeaturePtr& theFeature);
+
+ /// 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
+ /// \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
+ void setPropertyPanel(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; }
+
+ /// Highlights result objects in Object Browser according to
+ /// features found in the given list
+ void highlightResults(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;