+
+ // Clear rules
+ myEditedObject->ClearRules();
+
+ // Set parameters for automatic mode
+ int aMode = aPanel->getMode();
+ if ( aMode == HYDROData_CalculationCase::AUTOMATIC ) {
+ // Set objects in the specified order
+ myEditedObject->RemoveGeometryObjects();
+ foreach ( const QString& aName, aPanel->getAllGeomObjects() ) {
+ Handle(HYDROData_Object) anObject = Handle(HYDROData_Object)::DownCast(
+ HYDROGUI_Tool::FindObjectByName( module(), aName ) );
+ if ( anObject.IsNull() ) {
+ continue;
+ }
+
+ myEditedObject->AddGeometryObject( anObject );
+ }
+
+ // Set priority rules
+ foreach ( const HYDROData_CustomRule& aRule, aPanel->getRules() ) {
+ myEditedObject->AddRule( aRule.Object1, aRule.Priority,
+ aRule.Object2, aRule.MergeType );
+ }
+ }
+ aPanel->setMoveZonesEnabled( aMode == HYDROData_CalculationCase::MANUAL );
+