]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Reset value state is provided in ModelWidget to remove 'myIsResetCurrentValue' in...
authornds <nds@opencascade.com>
Fri, 16 Oct 2015 05:08:25 +0000 (08:08 +0300)
committernds <nds@opencascade.com>
Mon, 2 Nov 2015 09:40:50 +0000 (12:40 +0300)
src/ModuleBase/ModuleBase_ModelWidget.cpp
src/ModuleBase/ModuleBase_ModelWidget.h
src/ModuleBase/ModuleBase_WidgetDoubleValue.cpp
src/ModuleBase/ModuleBase_WidgetDoubleValue.h
src/ModuleBase/ModuleBase_WidgetIntValue.cpp
src/ModuleBase/ModuleBase_WidgetIntValue.h
src/PartSet/PartSet_SketcherMgr.cpp
src/PartSet/PartSet_WidgetPoint2d.cpp
src/PartSet/PartSet_WidgetPoint2d.h

index b094366d51ade19ce99014bd281cfc96245e3751..66fe88f12b0f98a2d7a40a75c6c6907c8f3f0c23 100644 (file)
@@ -40,6 +40,15 @@ ModuleBase_ModelWidget::ModuleBase_ModelWidget(QWidget* theParent,
   connect(this, SIGNAL(valuesModified()), this, SLOT(onWidgetValuesModified()));
 }
 
+bool ModuleBase_ModelWidget::reset()
+{
+  bool aResult = resetCustom();
+  if (aResult)
+    setValueState(Reset);
+
+  return aResult;
+}
+
 bool ModuleBase_ModelWidget::isInitialized(ObjectPtr theObject) const
 {
   return theObject->data()->attribute(attributeID())->isInitialized();
index edfd1bec22b782fbb71c2301a9be8be6b502fbb5..8804fdbeb0a95038d1713a3eb02eb3fde6f145da 100644 (file)
@@ -35,8 +35,8 @@ Q_OBJECT
  public:
    /// State of the widget
    enum ValueState { Stored, /// modification is finished and applyed to the model
-                     Modified /// modification has not been finished and set to the model yet
-                   };
+                     Modified, /// modification has not been finished and set to the model yet
+                     Reset };
 
    /// Constructor
   /// \param theParent the parent object
@@ -49,9 +49,10 @@ Q_OBJECT
   {
   }
 
-  /// Fills the widget with default values
+  /// Fills the widget with default values. It calls the resetCustom method and change
+  /// the widget state to Reset if the reset is performed.
   /// \return true if the widget current value is reset
-  virtual bool reset() { return false; };
+  bool reset();
 
   /// Returns the state whether the attribute of the feature is initialized
   /// \param theObject a model feature to be checked
@@ -227,6 +228,10 @@ protected:
   /// Restore value from attribute data to the widget's control
   virtual bool restoreValueCustom() = 0;
 
+  /// Fills the widget with default values
+  /// \return true if the widget current value is reset
+  virtual bool resetCustom() { return false; };
+
   /// The method called when widget is activated
   virtual void activateCustom() {};
 
index 5f9dc8a5b6d3cbf350ede6b4e0e9bfe43b027e87..997554cc12fc2194bf80b171d6abfd5f5d072cc6 100644 (file)
@@ -102,7 +102,7 @@ ModuleBase_WidgetDoubleValue::~ModuleBase_WidgetDoubleValue()
 {
 }
 
-bool ModuleBase_WidgetDoubleValue::reset()
+bool ModuleBase_WidgetDoubleValue::resetCustom()
 {
   bool aDone = false;
   if (!isUseReset() || isComputedDefault() || mySpinBox->hasVariable()) {
index 04e871795260e6c9c5dab877b02d7865be570405..ec3daae2c4e625fc8d878a2a318d41d2ed0ab4e7 100644 (file)
@@ -37,9 +37,6 @@ Q_OBJECT
 
   virtual ~ModuleBase_WidgetDoubleValue();
 
-  /// Fills the widget with default values
-  virtual bool reset();
-
   /// Returns list of widget controls
   /// \return a control list
   virtual QList<QWidget*> getControls() const;
@@ -61,6 +58,10 @@ protected:
   // \return True in success
   virtual bool restoreValueCustom();
 
+  /// Fills the widget with default values
+  /// \return true if the widget current value is reset
+  virtual bool resetCustom();
+
 protected:
   /// Label of the widget
   QLabel* myLabel;
index 005a45100ca20bbd5ac94489676c2afc80e272a4..cb6986301bc142e160ad241a96b5dbe7265def22 100644 (file)
@@ -100,7 +100,7 @@ ModuleBase_WidgetIntValue::~ModuleBase_WidgetIntValue()
 {
 }
 
-bool ModuleBase_WidgetIntValue::reset()
+bool ModuleBase_WidgetIntValue::resetCustom()
 {
   bool aDone = false;
   if (!isUseReset() || isComputedDefault()) {
index 255e716035b009b31f9403eb45e8371320dbff52..8fd1ef5d8ff01d2e35b8778a49e908a9292ec24a 100644 (file)
@@ -37,14 +37,10 @@ Q_OBJECT
 
   virtual ~ModuleBase_WidgetIntValue();
 
-  /// Fills the widget with default values
-  virtual bool reset();
-
   /// Returns list of widget controls
   /// \return a control list
   virtual QList<QWidget*> getControls() const;
 
-
 protected:
   /// Saves the internal parameters to the given feature
   /// \return True in success
@@ -54,6 +50,10 @@ protected:
   // \return True in success
   virtual bool restoreValueCustom();
 
+  /// Fills the widget with default values
+  /// \return true if the widget current value is reset
+  virtual bool resetCustom();
+
 protected:
   /// Label of the widget
   QLabel* myLabel;
index b8374fd4e8cfd9514b300aa38a73fed659b937d2..f89de6f2d3836a46082064650b8800d14577c8dd 100755 (executable)
@@ -152,7 +152,7 @@ void getAttributesOrResults(const Handle(SelectMgr_EntityOwner)& theOwner,
 
 PartSet_SketcherMgr::PartSet_SketcherMgr(PartSet_Module* theModule)
   : QObject(theModule), myModule(theModule), myIsDragging(false), myDragDone(false),
-    myIsResetCurrentValue(false), myIsMouseOverWindow(false),
+    /*myIsResetCurrentValue(false), */myIsMouseOverWindow(false),
     myIsMouseOverViewProcessed(true), myPreviousUpdateViewerEnabled(true),
     myIsPopupMenuActive(false), myIsConstraintsShown(true)
 {
@@ -191,7 +191,7 @@ void PartSet_SketcherMgr::onEnterViewPort()
   // the mouse move and use the cursor position to update own values. If the presentaion is
   // redisplayed before this update, the feature presentation jumps from reset value to current.
   myIsMouseOverWindow = true;
-  myIsResetCurrentValue = false;
+  //myIsResetCurrentValue = false;
   //myIsCurrentValueUnderModification = false;
   // it is important to validate operation here only if sketch entity create operation is active
   // because at this operation we reacts to the mouse leave/enter view port
@@ -263,7 +263,7 @@ void PartSet_SketcherMgr::onLeaveViewPort()
   bool isEnableUpdateViewer = aDisplayer->enableUpdateViewer(false);
   ModuleBase_ModelWidget* anActiveWidget = getActiveWidget();
   if (anActiveWidget && anActiveWidget->reset()) {
-    myIsResetCurrentValue = true;
+    //myIsResetCurrentValue = true;
   }
   aDisplayer->enableUpdateViewer(isEnableUpdateViewer);
 
@@ -293,7 +293,7 @@ void PartSet_SketcherMgr::onValueStateChanged()
 
 void PartSet_SketcherMgr::onBeforeValuesChangedInPropertyPanel()
 {
-  myIsResetCurrentValue = false;
+  //myIsResetCurrentValue = false;
   //myIsCurrentValueUnderModification = false;
 
   if (isNestedCreateOperation(getCurrentOperation()))
@@ -716,7 +716,7 @@ QString PartSet_SketcherMgr::getFeatureError(const FeaturePtr& theFeature)
     AttributeStringPtr aAttributeString = aSketch->string(SketchPlugin_Sketch::SOLVER_ERROR());
     anError = aAttributeString->value().c_str();
   }
-  else if (myIsResetCurrentValue /*|| myIsCurrentValueUnderModification*/) {
+  /*else if (myIsResetCurrentValue /*|| myIsCurrentValueUnderModification*+/) {
     // this flags do not allow commit of the current operation
     ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>
                                                                         (getCurrentOperation());
@@ -737,14 +737,25 @@ QString PartSet_SketcherMgr::getFeatureError(const FeaturePtr& theFeature)
         //}
       }
     }
-  }
+  }*/
   else {
     ModuleBase_ModelWidget* anActiveWidget = getActiveWidget();
-    if (anActiveWidget && anActiveWidget->getValueState() != ModuleBase_ModelWidget::Stored) {
-      AttributePtr anAttr = anActiveWidget->feature()->attribute(anActiveWidget->attributeID());
-      if (anAttr.get()) {
-        QString anAttributeName = anAttr->id().c_str();
-        anError = "Attribute \"" + anAttributeName + "\" modification is not applyed. Please click \"Enter\" or \"Tab\".";
+    if (anActiveWidget) {
+      ModuleBase_ModelWidget::ValueState aState = anActiveWidget->getValueState();
+      if (aState != ModuleBase_ModelWidget::Stored) {
+        AttributePtr anAttr = anActiveWidget->feature()->attribute(anActiveWidget->attributeID());
+        if (anAttr.get()) {
+          QString anAttributeName = anAttr->id().c_str();
+          switch (aState) {
+            case ModuleBase_ModelWidget::Modified:
+              anError = "Attribute \"" + anAttributeName +
+                        "\" modification is not applyed. Please click \"Enter\" or \"Tab\".";
+              break;
+            case ModuleBase_ModelWidget::Reset:
+              anError = "Attribute \"" + anAttributeName + "\" is not initialized.";
+              break;
+          }
+        }
       }
     }
   }
@@ -963,7 +974,7 @@ void PartSet_SketcherMgr::startNestedSketch(ModuleBase_Operation* theOperation)
 void PartSet_SketcherMgr::stopNestedSketch(ModuleBase_Operation* theOp)
 {
   connectToPropertyPanel(false);
-  myIsResetCurrentValue = false;
+  //myIsResetCurrentValue = false;
   //myIsCurrentValueUnderModification = false;
   myIsMouseOverViewProcessed = true;
   operationMgr()->onValidateOperation();
@@ -1106,7 +1117,7 @@ bool PartSet_SketcherMgr::canDisplayCurrentCreatedFeature() const
   if (!aCanDisplay) {
     ModuleBase_ModelWidget* anActiveWidget = getActiveWidget();
     bool isValueStored = anActiveWidget && anActiveWidget->getValueState() == ModuleBase_ModelWidget::Stored;
-    aCanDisplay = !myIsResetCurrentValue && isValueStored;
+    aCanDisplay = /*!myIsResetCurrentValue &&*/isValueStored;
   }
   return aCanDisplay;
   //return myIsMouseOverWindow || (!myIsResetCurrentValue && !myIsCurrentValueUnderModification);
@@ -1408,8 +1419,8 @@ void PartSet_SketcherMgr::onShowConstraintsToggle(bool theOn)
 
 QString PartSet_SketcherMgr::mouseOverWindowFlagsInfo() const
 {
-  return QString("myIsResetCurrentValue = %1,    myIsMouseOverWindow = %2")
-     .arg(myIsResetCurrentValue).arg(myIsMouseOverWindow);
+  return "";//QString("myIsResetCurrentValue = %1,    myIsMouseOverWindow = %2")
+     //.arg(myIsResetCurrentValue).arg(myIsMouseOverWindow);
 }
 
 XGUI_OperationMgr* PartSet_SketcherMgr::operationMgr() const
index 09dff2d140815887d02dbdbece3162a792e33eca..e69c62cc3aef5444b30f9f04090a3c9d5624f28c 100644 (file)
@@ -123,7 +123,7 @@ PartSet_WidgetPoint2D::PartSet_WidgetPoint2D(QWidget* theParent,
   setLayout(aLayout);
 }
 
-bool PartSet_WidgetPoint2D::reset()
+bool PartSet_WidgetPoint2D::resetCustom()
 {
   bool aDone = false;
   if (!isUseReset() || isComputedDefault() || myXSpin->hasVariable() || myYSpin->hasVariable()) {
index 93921a544656d028c9905206fa3689a25bed4dd0..ae3ca08b2556c472a49c0a57e95f7f0601624353 100644 (file)
@@ -50,9 +50,6 @@ Q_OBJECT
   /// Destructor
   virtual ~PartSet_WidgetPoint2D();
 
-  /// Fills the widget with default values
-  virtual bool reset();
-
   /// Set the given wrapped value to the current widget
   /// This value should be processed in the widget according to the needs
   /// \param theValues the wrapped widget values
@@ -113,6 +110,10 @@ protected:
 
   virtual bool restoreValueCustom();
 
+  /// 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();