+void ModuleBase_WidgetShapeSelector::setObject(ObjectPtr theObj, std::shared_ptr<GeomAPI_Shape> theShape)
+{
+ mySelectedObject = theObj;
+ myShape = theShape;
+ if (mySelectedObject) {
+ raisePanel();
+ }
+ updateSelectionName();
+ emit valuesChanged();
+}
+
+//********************************************************************
+//bool ModuleBase_WidgetShapeSelector::acceptObjectShape(const ObjectPtr theResult) const
+//{
+// ResultPtr aResult = std::dynamic_pointer_cast<ModelAPI_Result>(theResult);
+//
+// // Check that the shape of necessary type
+// std::shared_ptr<GeomAPI_Shape> aShapePtr = ModelAPI_Tools::shape(aResult);
+// if (!aShapePtr)
+// return false;
+// TopoDS_Shape aShape = aShapePtr->impl<TopoDS_Shape>();
+// if (aShape.IsNull())
+// return false;
+//
+// TopAbs_ShapeEnum aShapeType = aShape.ShapeType();
+// if (aShapeType == TopAbs_COMPOUND) {
+// foreach (QString aType,
+// myShapeTypes) {
+// TopExp_Explorer aEx(aShape, shapeType(aType));
+// if (aEx.More())
+// return true;
+// }
+// } else {
+// foreach (QString aType, myShapeTypes) {
+// if (shapeType(aType) == aShapeType)
+// return true;
+// }
+// }
+// return false;
+//}
+
+//********************************************************************
+bool ModuleBase_WidgetShapeSelector::acceptSubShape(std::shared_ptr<GeomAPI_Shape> theShape) const