]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
The code comment
authornds <natalia.donis@opencascade.com>
Fri, 10 Apr 2015 05:24:32 +0000 (08:24 +0300)
committernds <natalia.donis@opencascade.com>
Fri, 10 Apr 2015 05:24:32 +0000 (08:24 +0300)
src/ModuleBase/ModuleBase_Tools.cpp
src/XGUI/XGUI_Displayer.cpp

index a2c393658c6b0a5fd972593781b0df6a60dc9325..6639a548af29b5a294a5a29f05ff89e3db655e71 100644 (file)
@@ -112,11 +112,11 @@ void setSpinValue(QDoubleSpinBox* theSpin, double theValue)
 QString objectInfo(const ObjectPtr& theObj)
 {
   ResultPtr aRes = std::dynamic_pointer_cast<ModelAPI_Result>(theObj);
-  FeaturePtr aFeature;// = std::dynamic_pointer_cast<ModelAPI_Feature>(theObj);
+  FeaturePtr aFeature = std::dynamic_pointer_cast<ModelAPI_Feature>(theObj);
   QString aFeatureStr = "feature";
   if(aRes.get()) {
     aFeatureStr.append("(Result)");
-    //aFeature = ModelAPI_Feature::feature(aRes);
+    aFeature = ModelAPI_Feature::feature(aRes);
   }
   if (aFeature.get()) {
     aFeatureStr.append(QString(": %1").arg(aFeature->getKind().c_str()).toStdString().c_str());
index 368dbb57469080e6f02d66e23a37690cb3388df4..9914826eff9967d9bdc3e3fad27e9955d47ed790 100644 (file)
@@ -754,6 +754,14 @@ void XGUI_Displayer::activate(const Handle(AIS_InteractiveObject)& theIO,
     return;
 
   // deactivate object in all modes, which are not in the list of activation
+  // It seems that after the IO deactivation the selected state of the IO's owners
+  // is modified in OCC(version: 6.8.0) and the selection of the object later is lost.
+  // By this reason, the number of the IO deactivate is decreased and the object is deactivated
+  // only if there is a difference in the current modes and the parameters modes.
+  // If the selection problem happens again, it is possible to write a test scenario and create
+  // a bug. The bug steps are the following:
+  // Create two IO, activate them in 5 modes, select the first IO, deactivate 3 modes for both,
+  // with clicked SHIFT select the second object. The result is the selection of the first IO is lost.
   TColStd_ListOfInteger aTColModes;
   aContext->ActivatedModes(theIO, aTColModes);
   TColStd_ListIteratorOfListOfInteger itr( aTColModes );