Salome HOME
Issue #1351: partition is not done
[modules/shaper.git] / src / PartSet / PartSet_WidgetPoint2dDistance.h
index 7dc45bcca26e3dac785bc0d1064af8310fadd9a6..1cac83c89ea5bd2fd17db03dc1372fddbac8ca09 100644 (file)
@@ -12,7 +12,6 @@
 
 #include <ModelAPI_CompositeFeature.h>
 
-class PartSet_LockApplyMgr;
 class GeomAPI_Pnt2d;
 class ModuleBase_IWorkshop;
 class ModuleBase_IViewWindow;
@@ -60,7 +59,7 @@ Q_OBJECT
   void setSketch(CompositeFeaturePtr theSketch) { mySketch = theSketch; }
 
   /// Returns true if the event is processed.
-  virtual bool isEventProcessed(QKeyEvent* theEvent);
+  virtual bool processEnter();
 
 public slots:
    /// Process of mouse move
@@ -75,6 +74,17 @@ public slots:
   void onMouseRelease(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent);
 
 protected:
+  /// Store current value in cashed value
+  void storeCurentValue();
+
+  /// Restore cashed value in the model attribute
+  /// \return boolean state if the restored feature shoud be hidden
+  bool restoreCurentValue();
+
+  /// Fills the widget with default values
+  /// \return true if the widget current value is reset
+  virtual bool resetCustom();
+
   /// The methiod called when widget is activated
   virtual void activateCustom();
 
@@ -88,22 +98,19 @@ protected:
   virtual double computeValue(const std::shared_ptr<GeomAPI_Pnt2d>& theFirstPnt,
                               const std::shared_ptr<GeomAPI_Pnt2d>& theCurrentPnt);
 
-private slots:
-  /// Process values changed event
-  void onValuesChanged();
-
 protected:
   /// A reference to workshop
   ModuleBase_IWorkshop* myWorkshop;
   
-  /// A manager to lock/unlock Apply button in PP
-  PartSet_LockApplyMgr* myLockApplyMgr;
-
   /// A name of the first point
   std::string myFirstPntName;
 
   /// Reference to sketch
   CompositeFeaturePtr mySketch;
+
+  bool myValueIsCashed; /// boolean state if the value is cashed during value state change
+  bool myIsFeatureVisibleInCash; /// boolean value if the feature was visible when cash if filled
+  double myValueInCash; /// the cashed X value during value state change
 };
 
 #endif