Salome HOME
Merge branch 'Dev_1.1.0' of newgeom:newgeom into Dev_1.1.0
[modules/shaper.git] / src / PartSet / PartSet_WidgetShapeSelector.h
index f7d075b48cfa3436574e11db2fb3c8fd15df71cb..fb32bff9cc7242135412d6e1fc82a7b421395003 100644 (file)
@@ -30,8 +30,7 @@ Q_OBJECT
   /// \param theData the widget configuation. The attribute of the model widget is obtained from
   /// \param theParentId is Id of a parent of the current attribute
   PartSet_WidgetShapeSelector(QWidget* theParent, ModuleBase_IWorkshop* theWorkshop,
-    const Config_WidgetAPI* theData, const std::string& theParentId)
-    : ModuleBase_WidgetShapeSelector(theParent, theWorkshop, theData, theParentId) {}
+    const Config_WidgetAPI* theData, const std::string& theParentId);
 
   virtual ~PartSet_WidgetShapeSelector() {}
 
@@ -47,11 +46,23 @@ protected:
   /// the specific type and set the given values
   /// \param theSelectedObject an object
   /// \param theShape a selected shape, which is used in the selection attribute
-  virtual bool storeAttributeValues(ObjectPtr theSelectedObject, GeomShapePtr theShape);
+  virtual bool setObject(ObjectPtr theSelectedObject, GeomShapePtr theShape);
 
-private:
+  /// Creates a backup of the current values of the attribute
+  /// It should be realized in the specific widget because of different
+  /// parameters of the current attribute
+  /// \param theValid a boolean flag, if restore happens for valid parameters
+  void restoreAttributeValue(const bool theValid);
+
+  // Removes the external presentation from the model
+  void removeExternal();
+
+protected:
   /// Pointer to a sketch 
   CompositeFeaturePtr mySketch;
+
+  /// An external object
+  ObjectPtr myExternalObject;
 };
 
 #endif
\ No newline at end of file