+ void showOnlyObjects(const QObjectPtrList& theList);
+
+ /// Set display mode for the given onjects
+ /// \param theList a list of displayed objects
+ /// \param theMode a mode to set (see \ref XGUI_Displayer)
+ void setDisplayMode(const QObjectPtrList& theList, int theMode);
+
+ /// Returns current module
+ ModuleBase_IModule* module() const
+ {
+ return myModule;
+ }
+
+ /// Returns current directory whic contains data files
+ QString currentDataDir() const { return myCurrentDir; }
+
+ /// Returns current directory whic 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 (uncommited) 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
+ //! \param theParent a parent widget for the question message box
+ //! \param theAskAboutDeleteReferences if true, the message box with a list of references to the
+ //! objects features appear. If the user chose do not continue, the deletion is not performed
+ //! \return the success of the delete
+ bool deleteFeatures(const QObjectPtrList& theList,
+ const std::set<FeaturePtr>& theIgnoredFeatures = std::set<FeaturePtr>(),
+ QWidget* theParent = 0,
+ const bool theAskAboutDeleteReferences = false);
+
+ /// 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);