Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / XGUI / XGUI_Tools.h
index e60684c753eb711e2515c46313776f0c88cd4658..fa1c78af5652a8760b24c5639f76099e8d8a08bb 100644 (file)
@@ -1,22 +1,15 @@
 #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.
-
- 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.
+#include <ModelAPI_Feature.h>
 
- \param str short library name
- \return full library name
- */
-QString library(const QString& str);
+#include <boost/shared_ptr.hpp>
 
+class TopoDS_Shape;
 /*!
  \brief Return directory part of the file path.
 
@@ -27,41 +20,63 @@ 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
+{
+  QString XGUI_EXPORT dir(const QString& path, bool isAbs = true);
 
-/*!
- \brief Return file name part of the file path.
+  /*!
  \brief Return file name part of the file path.
 
- \param path file path
- \param withExt if true (default) complete file name (with all
- extension except the last) is returned, otherwise only base name
- is returned
- \return file name part of the file path
- */
-QString file(const QString& path, bool withExt = true);
  \param path file path
  \param withExt if true (default) complete file name (with all
  extension except the last) is returned, otherwise only base name
  is returned
  \return file name part of the file path
  */
+  QString XGUI_EXPORT file(const QString& path, bool withExt = true);
 
-/*!
- \brief Return extension part of the file path.
+  /*!
  \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);
  \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.
- \param path directory path
- \return modified path (with slash added to the end)
- */
-QString addSlash(const QString& path);
+  /*!
  \brief Add a slash (platform-specific) to the end of \a path
  if it is not already there.
  \param path directory path
  \return modified path (with slash added to the end)
  */
+  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 makeRect(const int x1, const int y1, const int x2, const int y2);
+  /*! 
+   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
+
+  /*!
+   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
+  */
+  std::string XGUI_EXPORT featureInfo(FeaturePtr theFeature);
+
+  /**
+  * Returns pointer on real feature
+  */
+  FeaturePtr realFeature(const FeaturePtr theFeature);
+}
 
 #endif