Salome HOME
Merge branch 'Dev_1.2.0' of newgeom:newgeom.git into Dev_1.2.0
[modules/shaper.git] / src / XGUI / XGUI_ContextMenuMgr.cpp
index 80fdfad7f07ece1ba1b23243e578fdf41ad8d9e6..494ecf28d011cf8dcf54d04dae64ac496ebd843e 100644 (file)
@@ -8,6 +8,7 @@
 #include "XGUI_ViewerProxy.h"
 #include "XGUI_Selection.h"
 #include "XGUI_SalomeConnector.h"
+#include "XGUI_Tools.h"
 
 #include <AppElements_MainWindow.h>
 
@@ -154,18 +155,8 @@ QMenu* XGUI_ContextMenuMgr::objectBrowserMenu() const
     bool hasResult = false;
     bool hasFeature = false;
     bool hasParameter = false;
-    foreach(ObjectPtr aObj, aObjects)
-    {
-      FeaturePtr aFeature = std::dynamic_pointer_cast<ModelAPI_Feature>(aObj);
-      ResultPtr aResult = std::dynamic_pointer_cast<ModelAPI_Result>(aObj);
-      ResultParameterPtr aConstruction = std::dynamic_pointer_cast<ModelAPI_ResultParameter>(aResult);
-
-      hasResult = (aResult.get() != NULL);
-      hasFeature = (aFeature.get() != NULL);
-      hasParameter = (aConstruction.get() != NULL);
-      if (hasFeature && hasResult  && hasParameter)
-        break;
-    }
+    XGUI_Tools::checkObjects(aObjects, hasResult, hasFeature, hasParameter);
+
     //Process Feature
     if (aSelected == 1) {
       ObjectPtr aObject = aObjects.first();