X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FXGUI%2FXGUI_Tools.cpp;h=5cf560636b93be6c263d9eea048d6b664f0c32b6;hb=fd958c0c05de3b2661006daeb7580c3734c9709d;hp=77c38599d99f9c8115ea40727e9c39068b6c130e;hpb=218ccacb26759956e95a7e7aa0b375fcf054ec1b;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Tools.cpp b/src/XGUI/XGUI_Tools.cpp index 77c38599d..5cf560636 100644 --- a/src/XGUI/XGUI_Tools.cpp +++ b/src/XGUI/XGUI_Tools.cpp @@ -1,7 +1,15 @@ #include "XGUI_Tools.h" +#include +#include + #include +#include +#include + +namespace XGUI_Tools +{ //****************************************************************** QString dir(const QString& path, bool isAbs) { @@ -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(theFeature); + return aObject->featureRef(); + } +} + +}