Salome HOME
Fix for the issue #593: do not remove naming attribute, but use TNaming_Builder for...
[modules/shaper.git] / src / PartSet / PartSet_WidgetPoint2d.h
index bb50069630e8762d60db4194227312859188548f..75c617ca005707440afaf5db41e213704327dc90 100644 (file)
@@ -18,7 +18,7 @@
 
 class ModelAPI_Feature;
 class ModuleBase_IWorkshop;
-class ModuleBase_DoubleSpinBox;
+class ModuleBase_ParamSpinBox;
 class ModuleBase_IViewWindow;
 class GeomAPI_Pnt2d;
 class XGUI_Workshop;
@@ -47,28 +47,22 @@ Q_OBJECT
   /// Destructor
   virtual ~PartSet_WidgetPoint2D();
 
+  /// Fills the widget with default values
+  virtual void reset();
+
   /// Set the given wrapped value to the current widget
   /// This value should be processed in the widget according to the needs
   /// \param theValue the wrapped widget value
-  virtual bool setSelection(ModuleBase_ViewerPrs theValue);
-
-  virtual bool storeValue() const;
+  virtual bool setSelection(const QList<ModuleBase_ViewerPrs>& theValues, int& thePosition);
 
   virtual bool restoreValue();
 
-  /// Returns the internal parent wiget control, that can be shown anywhere
-  /// \returns the widget
-  QWidget* getControl() const;
-
   /// Returns list of widget controls
   /// \return a control list
   virtual QList<QWidget*> getControls() const;
 
   //bool initFromPrevious(ObjectPtr theObject);
 
-  /// The methiod called when widget is activated
-  virtual void activate();
-
   /// The methiod called when widget is deactivated
   virtual void deactivate();
 
@@ -100,16 +94,31 @@ signals:
   /// Signal about selection of an existing vertex from an object
   void vertexSelected();
 
+public slots:
+  /// Process mouse move event
+  /// \param theWnd a view window
+  /// \param theEvent a mouse event
+  void onMouseMove(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent);
+
 protected slots:
   /// Process mouse release event
   /// \param theWnd a view window
   /// \param theEvent a mouse event
   void onMouseRelease(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent);
 
-  /// Process mouse move event
-  /// \param theWnd a view window
-  /// \param theEvent a mouse event
-  void onMouseMove(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent);
+  // Set lock validating in the operation manager. Set apply is disabled
+  void onLockValidating();
+
+  // Set unlock validating in the operation manager. Call method to update the apply state.
+  void onUnlockValidating();
+
+protected:
+  /// Saves the internal parameters to the given feature
+  /// \return True in success
+  virtual bool storeValueCustom() const;
+
+  /// The methiod called when widget is activated
+  virtual void activateCustom();
 
 private slots:
   /// Process value changed event
@@ -127,8 +136,8 @@ private slots:
   XGUI_Workshop* myWorkshop;
 
   QGroupBox* myGroupBox;  ///< the parent group box for all intenal widgets
-  ModuleBase_DoubleSpinBox* myXSpin;  ///< the spin box for the X coordinate
-  ModuleBase_DoubleSpinBox* myYSpin;  ///< the spin box for the Y coordinate
+  ModuleBase_ParamSpinBox* myXSpin;  ///< the spin box for the X coordinate
+  ModuleBase_ParamSpinBox* myYSpin;  ///< the spin box for the Y coordinate
 
   //std::string myOptionParam;  /// Parameter name which has to be taken from previous feature