Salome HOME
Issue #101: Fixed editing of nested features
[modules/shaper.git] / src / XGUI / XGUI_Tools.cpp
index 77c38599d99f9c8115ea40727e9c39068b6c130e..95a219c6ae9bd3b5bede0e4c26eb7b7c9139b026 100644 (file)
@@ -1,7 +1,15 @@
 #include "XGUI_Tools.h"
 
+#include <TopoDS_Shape.hxx>
+#include <ModelAPI_Object.h>
+#include <GeomAPI_Shape.h>
+
 #include <QDir>
 
+#include <iostream>
+#include <sstream>
+
+namespace XGUI_Tools {
 //******************************************************************
 QString dir(const QString& path, bool isAbs)
 {
@@ -16,7 +24,7 @@ QString dir(const QString& path, bool isAbs)
 QString file(const QString& path, bool withExt)
 {
   QString fPath = path;
-  while(!fPath.isEmpty() && (fPath[fPath.length() - 1] == '\\' || fPath[fPath.length() - 1] == '/'))
+  while (!fPath.isEmpty() && (fPath[fPath.length() - 1] == '\\' || fPath[fPath.length() - 1] == '/'))
     fPath.remove(fPath.length() - 1, 1);
 
   if (withExt)
@@ -46,3 +54,31 @@ QRect makeRect(const int x1, const int y1, const int x2, const int y2)
 {
   return QRect(qMin(x1, x2), qMin(y1, y2), qAbs(x2 - x1), qAbs(y2 - y1));
 }
+
+//******************************************************************
+bool isModelObject(FeaturePtr theFeature)
+{
+  return theFeature && !theFeature->data();
+}
+
+//******************************************************************
+std::string featureInfo(FeaturePtr theFeature)
+{
+  std::ostringstream aStream;
+  if (theFeature)
+    aStream << theFeature.get() << " " << theFeature->getKind();
+  return QString(aStream.str().c_str()).toStdString();
+}
+
+//******************************************************************
+/*FeaturePtr realFeature(const FeaturePtr theFeature)
+ {
+ if (theFeature->data()) {
+ return theFeature;
+ } else {
+ ObjectPtr aObject = boost::dynamic_pointer_cast<ModelAPI_Object>(theFeature);
+ return aObject->featureRef();
+ }
+ }*/
+
+}