]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Correct modes interaction
authorakl <akl@opencascade.com>
Fri, 25 Oct 2013 08:17:17 +0000 (08:17 +0000)
committerakl <akl@opencascade.com>
Fri, 25 Oct 2013 08:17:17 +0000 (08:17 +0000)
src/CurveCreator/CurveCreator_Widget.cxx
src/GEOMGUI/GEOM_msg_en.ts

index b741dca4d06c7ec5ec4c7f090e6df0788aabf05f..32950c1206e0a4827309386b9c73d97f6e033d5c 100644 (file)
@@ -246,7 +246,7 @@ void CurveCreator_Widget::onSelectionChanged()
         anEnabledAct << UP_ID;
       }
       if( aSelSections.size() == 1 ){
-        anEnabledAct << CREATION_MODE_ID << EDITION_MODE_ID;
+        anEnabledAct << CREATION_MODE_ID << EDITION_MODE_ID << DETECTION_MODE_ID;
       }
       if( aSelSections[ aSelSections.size() - 1 ] < ( myCurve->getNbSections() - 1 ) ){
         anEnabledAct << DOWN_ID;
@@ -361,16 +361,22 @@ void CurveCreator_Widget::onModeChanged(bool checked)
   QAction* anAction = (QAction*)sender();
   switch(myActionMap.key(anAction)) {
     case CREATION_MODE_ID:
-      myActionMap[EDITION_MODE_ID]->setChecked(false);
-      myActionMap[DETECTION_MODE_ID]->setChecked(false);
+      if (myActionMap[EDITION_MODE_ID]->isChecked())
+        myActionMap[EDITION_MODE_ID]->trigger();
+      else if (myActionMap[DETECTION_MODE_ID]->isChecked())
+        myActionMap[DETECTION_MODE_ID]->trigger();
       break;
     case EDITION_MODE_ID:
-      myActionMap[CREATION_MODE_ID]->setChecked(false);
-      myActionMap[DETECTION_MODE_ID]->setChecked(false);
+      if (myActionMap[CREATION_MODE_ID]->isChecked())
+        myActionMap[CREATION_MODE_ID]->trigger();
+      else if (myActionMap[DETECTION_MODE_ID]->isChecked())
+        myActionMap[DETECTION_MODE_ID]->trigger();
       break;
     case DETECTION_MODE_ID:
-      myActionMap[CREATION_MODE_ID]->setChecked(false);
-      myActionMap[EDITION_MODE_ID]->setChecked(false);
+      if (myActionMap[CREATION_MODE_ID]->isChecked())
+        myActionMap[CREATION_MODE_ID]->trigger();
+      else if (myActionMap[EDITION_MODE_ID]->isChecked())
+        myActionMap[EDITION_MODE_ID]->trigger();
       break;
   }
 }
index 7fcf0a08e92ef393b5d5820e2fd4a1d3f1e287ad..76d3c2e747a3d0727876da31a74dffa21d5bed22 100644 (file)
@@ -5335,6 +5335,14 @@ Ignoring units will cause model scaling (as dimensions are supposed to be specif
         <source>EDITION_MODE_TLT</source>
         <translation>Edition mode</translation>
     </message>
+    <message>
+        <source>DETECTION_MODE</source>
+        <translation>Detection mode</translation>
+    </message>
+    <message>
+        <source>DETECTION_MODE_TLT</source>
+        <translation>Detection mode</translation>
+    </message>
     <message>
         <source>INSERT_POINT_BEFORE</source>
         <translation>Insert point before</translation>