From: vsv Date: Fri, 9 Oct 2015 08:39:37 +0000 (+0300) Subject: Merge branch 'BR_ADVANCED_CURRENT_FEATURE_MANAGEMENT' of salome:modules/shaper into... X-Git-Tag: V_1.4.0_demo2~10^2~3 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=8c56aa1d9ce74e35df11472ab3542f6653a5ba51;hp=--cc;p=modules%2Fshaper.git Merge branch 'BR_ADVANCED_CURRENT_FEATURE_MANAGEMENT' of salome:modules/shaper into BR_ADVANCED_CURRENT_FEATURE_MANAGEMENT Conflicts: src/ModuleBase/ModuleBase_OperationFeature.cpp --- 8c56aa1d9ce74e35df11472ab3542f6653a5ba51 diff --cc src/ModuleBase/ModuleBase_OperationFeature.cpp index 93c5b6029,647455f46..973885291 --- a/src/ModuleBase/ModuleBase_OperationFeature.cpp +++ b/src/ModuleBase/ModuleBase_OperationFeature.cpp @@@ -206,23 -196,7 +197,7 @@@ void ModuleBase_OperationFeature::start return; } } - /// Set current feature and remeber old current feature - if (myIsEditing) { - SessionPtr aMgr = ModelAPI_Session::get(); - DocumentPtr aDoc = aMgr->activeDocument(); - // the parameter of current feature should be false, we should use all feature, not only visible - // in order to correctly save the previous feature of the nested operation, where the - // features can be not visible in the tree. The problem case is Edit sketch entitity(line) - // in the Sketch, created in ExtrusionCut operation. The entity disappears by commit. - // When sketch entity operation started, the sketch should be cashed here as the current. - // Otherwise(the flag is true), the ExtrusionCut is cashed, when commit happens, the sketch - // is disabled, sketch entity is disabled as extrusion cut is created earliest then sketch. - // As a result the sketch disappears from the viewer. However after commit it is displayed back. - myPreviousCurrentFeature = aDoc->currentFeature(false); - aDoc->setCurrentFeature(feature(), false); - } - - startOperation(); + //Already called startOperation(); emit started(); } @@@ -244,23 -220,10 +221,12 @@@ void ModuleBase_OperationFeature::abort if (aPropertyPanel) aPropertyPanel->cleanContent(); + myFeature->setStable(true); + - SessionPtr aMgr = ModelAPI_Session::get(); - if (myIsEditing) { - DocumentPtr aDoc = aMgr->activeDocument(); - bool aIsOp = aMgr->isOperation(); - if (!aIsOp) - aMgr->startOperation(); - aDoc->setCurrentFeature(myPreviousCurrentFeature, false);//true); - if (!aIsOp) - aMgr->finishOperation(); - myPreviousCurrentFeature = FeaturePtr(); - } abortOperation(); - stopOperation(); + SessionPtr aMgr = ModelAPI_Session::get(); aMgr->abortOperation(); emit stopped(); // the viewer update should be unblocked in order to avoid the features blinking before they are