Salome HOME
Avoid deletion of objects which do not have Delete context command
[modules/shaper.git] / src / XGUI / XGUI_Tools.h
index e60684c753eb711e2515c46313776f0c88cd4658..e541ba2f0418e8fcef741ece0fd46eb62e0433f8 100644 (file)
@@ -1,23 +1,19 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
 #ifndef XGUI_Tools_H
 #define XGUI_Tools_H
 
+#include "XGUI.h"
 #include <QString>
 #include <QRect>
 
-/*!
- \brief Convert the given parameter to the platform-specific library name.
+#include <ModelAPI_Feature.h>
+#include <ModuleBase_Definitions.h>
 
- The function appends platform-specific prefix (lib) and suffix (.dll/.so)
- to the library file name.
- For example, if \a str = "mylib", "libmylib.so" is returned for Linux and
- mylib.dll for Windows.
-
- \param str short library name
- \return full library name
- */
-QString library(const QString& str);
+#include <memory>
 
 /*!
+ \ingroup GUI
  \brief Return directory part of the file path.
 
  If the file path does not include directory part (the file is in the
@@ -27,7 +23,14 @@ QString library(const QString& str);
  \param abs if true (default) \a path parameter is treated as absolute file path
  \return directory part of the file path
  */
-QString dir(const QString& path, bool isAbs = true);
+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);
 
 /*!
  \brief Return file name part of the file path.
@@ -38,17 +41,7 @@ QString dir(const QString& path, bool isAbs = true);
  is returned
  \return file name part of the file path
  */
-QString 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 extension(const QString& path, bool full = false);
+QString XGUI_EXPORT file(const QString& path, bool withExt = true);
 
 /*!
  \brief Add a slash (platform-specific) to the end of \a path
@@ -56,12 +49,32 @@ QString extension(const QString& path, bool full = false);
  \param path directory path
  \return modified path (with slash added to the end)
  */
-QString addSlash(const QString& path);
+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) )    
+/// The model concerning tools
+
+/*!
+ Returns true if the feature is a model object
+ \param theFeature a feature
+ */
+bool XGUI_EXPORT isModelObject(FeaturePtr theFeature);
+
+/*!
+ Returns the string presentation of the given feature
+ \param theFeature a feature
  */
-QRect makeRect(const int x1, const int y1, const int x2, const int y2);
+std::string XGUI_EXPORT featureInfo(FeaturePtr theFeature);
+
+
+/*!
+Check types of objects which are in the given list
+\param theObjects the list of objects
+\param hasResult will be set to true if list contains Result objects
+\param hasFeature will be set to true if list contains Feature objects
+\param hasParameter will be set to true if list contains Parameter objects
+*/
+void checkObjects(const QObjectPtrList& theObjects, bool& hasResult, bool& hasFeature, bool& hasParameter);
+
+};
 
 #endif