]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Additional check for shape selector: it is not necessary check validators if the...
authornds <natalia.donis@opencascade.com>
Tue, 31 Mar 2015 14:26:51 +0000 (17:26 +0300)
committernds <natalia.donis@opencascade.com>
Tue, 31 Mar 2015 14:26:51 +0000 (17:26 +0300)
some conditions should be realized in the validators.

src/ModuleBase/ModuleBase_WidgetShapeSelector.cpp
src/ModuleBase/ModuleBase_WidgetValidated.cpp

index 1721da46903c375dc2ad91a73c3de9a1db97b2cc..36bbd0314e502d8324f1570127ec203f2367b36a 100644 (file)
@@ -409,16 +409,17 @@ bool ModuleBase_WidgetShapeSelector::setSelection(const Handle_SelectMgr_EntityO
   myWorkshop->selection()->fillPresentation(aPrs, theOwner);
   // It should be checked by corresponded validator
   ObjectPtr aObject = aPrs.object();
-  /*ObjectPtr aCurrentObject = GeomValidators_Tools::getObject(myFeature->attribute(attributeID()));
+  ObjectPtr aCurrentObject = GeomValidators_Tools::getObject(myFeature->attribute(attributeID()));
+  /*
   if ((!aCurrentObject) && (!aObject))
     return false;*/
 
   // It should be checked by corresponded validator
   // Check that the selected object is result (others can not be accepted)
-  /*ResultPtr aRes = std::dynamic_pointer_cast<ModelAPI_Result>(aObject);
+  ResultPtr aRes = std::dynamic_pointer_cast<ModelAPI_Result>(aObject);
   if (!aRes)
     return false;
-  if (myFeature) {
+  /*if (myFeature) {
     // We can not select a result of our feature
     const std::list<std::shared_ptr<ModelAPI_Result>>& aResList = myFeature->results();
     std::list<std::shared_ptr<ModelAPI_Result> >::const_iterator aIt;
@@ -438,10 +439,9 @@ bool ModuleBase_WidgetShapeSelector::setSelection(const Handle_SelectMgr_EntityO
 
   // It should be checked by corresponded validator
   // Check that the result has a shape
-  GeomShapePtr aShape;
-  /*aShape = ModelAPI_Tools::shape(aRes);
+  GeomShapePtr aShape = ModelAPI_Tools::shape(aRes);
   if (!aShape)
-    return false;*/
+    return false;
 
   // Get sub-shapes from local selection
   if (!aPrs.shape().IsNull()) {
index 11e3851d8dcade97cadc0dcaa00e1d9356f7356b..445190ae55919592ff55cb894ab71b64c62040c1 100644 (file)
@@ -57,10 +57,11 @@ bool ModuleBase_WidgetValidated::isValid(const Handle_SelectMgr_EntityOwner& the
   storeAttributeValue();
 
   // saves the owner value to the widget attribute
-  setSelection(theOwner);
+  bool aValid = setSelection(theOwner);
 
-  // checks the attribute validity
-  bool aValid = isValidAttribute();
+  if (aValid)
+    // checks the attribute validity
+    aValid = isValidAttribute();
 
   // restores the current values of the widget attribute
   restoreAttributeValue(aValid);