Salome HOME
Issue #1437: provide update of parameters table part on editing of any parameter
[modules/shaper.git] / src / XGUI / XGUI_Tools.h
index cc80b28be6408b9e2e15dda760bd5179cab6ccb1..9215bf6ace11838d6e885cad9ce5fdbdb1982935 100644 (file)
@@ -1,3 +1,5 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
 #ifndef XGUI_Tools_H
 #define XGUI_Tools_H
 
@@ -7,9 +9,16 @@
 
 #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.
 
  If the file path does not include directory part (the file is in the
  \return directory part of the file path
  */
 namespace XGUI_Tools {
+
+/**
+* Returns directory name from name of file
+* \param path a path to a file
+* \param isAbs is absolute or relative path
+*/
 QString XGUI_EXPORT dir(const QString& path, bool isAbs = true);
 
 /*!
@@ -33,16 +48,6 @@ QString XGUI_EXPORT dir(const QString& path, bool isAbs = true);
  */
 QString XGUI_EXPORT file(const QString& path, bool withExt = true);
 
-/*!
- \brief Return extension part of the file path.
-
- \param path file path
- \param full if true complete extension (all extensions, dot separated)
- is returned, otherwise (default) only last extension is returned
- \return extension part of the file path 
- */
-QString XGUI_EXPORT extension(const QString& path, bool full = false);
-
 /*!
  \brief Add a slash (platform-specific) to the end of \a path
  if it is not already there.
@@ -51,13 +56,13 @@ QString XGUI_EXPORT extension(const QString& path, bool full = false);
  */
 QString XGUI_EXPORT addSlash(const QString& path);
 
-/*! 
- Creates a rect with TopLeft = ( min(x1,x2), min(y1,y2) )
- and BottomRight = ( TopLeft + (x2-x1)(y2-y1) )    
- */
-QRect XGUI_EXPORT makeRect(const int x1, const int y1, const int x2, const int y2);
+// 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
@@ -70,6 +75,38 @@ 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 aList a list of object
+ \return a boolean value
+ */
+bool XGUI_EXPORT canRemoveOrRename(QWidget* theParent, const QObjectPtrList& aList);
+
+/*! 
+ Check possibility to rename object
+ \param theObject an object to rename
+ \param theName a name
+ */
+bool canRename(const ObjectPtr& theObject, const QString& theName);
+
+/*!
+ Returns true if there are no parts in the document, which are not activated
+ \param theNotActivatedNames out string which contains not activated names
+ \return a boolean value
+ */
+bool XGUI_EXPORT allDocumentsActivated(QString& theNotActivatedNames);
+
+/*!
+ Returns converted workshop
+ \param theWorkshop an interface workshop
+ \return XGUI workshop instance
+*/
+XGUI_EXPORT XGUI_Workshop* workshop(ModuleBase_IWorkshop* theWorkshop);
+
+};
 
 #endif