Salome HOME
Improvement for key "Delete" processing: should be done only on possible objects...
[modules/shaper.git] / src / XGUI / XGUI_Tools.h
index 7db64558ac26448911c1dd19bbbf343af1116f1f..a8d51f2d505745c77f0074bbd656050d32c254ac 100644 (file)
@@ -9,8 +9,14 @@
 
 #include <ModelAPI_Feature.h>
 
+#include <ModuleBase_Definitions.h>
+
 #include <memory>
 
+class QWidget;
+class XGUI_Workshop;
+class ModuleBase_IWorkshop;
+
 /*!
  \ingroup GUI
  \brief Return directory part of the file path.
@@ -50,7 +56,13 @@ QString XGUI_EXPORT file(const QString& path, bool withExt = true);
  */
 QString XGUI_EXPORT addSlash(const QString& path);
 
-/// The model concerning tools
+// The model concerning tools
+
+/*! Unite object names in one string using the separator between values
+ \param theObjects a list of objects
+ \param theSeparator a separator
+ */
+QString unionOfObjectNames(const QObjectPtrList& theObjects, const QString& theSeparator);
 
 /*!
  Returns true if the feature is a model object
@@ -63,6 +75,31 @@ bool XGUI_EXPORT isModelObject(FeaturePtr theFeature);
  \param theFeature a feature
  */
 std::string XGUI_EXPORT featureInfo(FeaturePtr theFeature);
-}
+
+/*!
+ Returns true if there are no parts in the document, which are not activated or
+ all objects in the list are not PartSet document.
+ It shows the warning control if the result is false.
+ \param theParent a parent for the warning control
+ \param theFeatures a list of checked features
+ \return a boolean value
+ */
+bool XGUI_EXPORT canRemoveOrRename(QWidget* theParent, const std::set<FeaturePtr>& theFeatures);
+
+/*! 
+ Check possibility to rename object
+ \param theObject an object to rename
+ \param theName a name
+ */
+bool canRename(const ObjectPtr& theObject, const QString& theName);
+
+/*!
+ Returns converted workshop
+ \param theWorkshop an interface workshop
+ \return XGUI workshop instance
+*/
+XGUI_EXPORT XGUI_Workshop* workshop(ModuleBase_IWorkshop* theWorkshop);
+
+};
 
 #endif