Salome HOME
Bug #183: regression: polyline - unnecessary table in Additition mode.
[modules/hydro.git] / src / HYDROCurveCreator / CurveCreator_Widget.cxx
index 0e7936e5e8b28e6e03f99e129fe576593149dfd6..4d1b80914ceb8ea2380a9d46309c9aa19de5104f 100644 (file)
@@ -78,6 +78,7 @@
 
 CurveCreator_Widget::CurveCreator_Widget(QWidget* parent,
                                          CurveCreator_ICurve *theCurve,
+                                         const int theActionFlags,
                                          Qt::WindowFlags fl,
                                          int theLocalPointRowLimit )
 : QWidget(parent), myNewSectionEditor(NULL), myCurve(theCurve), mySection(0),
@@ -129,12 +130,14 @@ CurveCreator_Widget::CurveCreator_Widget(QWidget* parent,
   aTB->addAction(anAct);
 
   aTB->addSeparator();
-
+  
   anAct = createAction( NEW_SECTION_ID, tr("NEW_SECTION"), aNewSectionPixmap, tr("NEW_SECTION_TLT"), 
                         QKeySequence(Qt::ControlModifier|Qt::Key_N) );
   connect(anAct, SIGNAL(triggered()), this, SLOT(onNewSection()) );
-  aTB->addAction(anAct);
-  aTB->addSeparator();
+  if ( !(theActionFlags & DisableNewSection) ) {
+    aTB->addAction(anAct);
+    aTB->addSeparator();
+  }
 
   anAct = createAction( ADDITION_MODE_ID, tr("ADDITION_MODE"), aNewPointPixmap, tr("ADDITION_MODE_TLT"), 
                         QKeySequence() );
@@ -155,8 +158,10 @@ CurveCreator_Widget::CurveCreator_Widget(QWidget* parent,
   anAct->setCheckable(true);
   connect(anAct, SIGNAL(triggered(bool)), this, SLOT(onDetectionMode(bool)) );
   connect(anAct, SIGNAL(toggled(bool)), this, SLOT(onModeChanged(bool)) );
-  aTB->addAction(anAct);
-
+  if ( !(theActionFlags & DisableDetectionMode) ) {
+    aTB->addAction(anAct);
+  }
+  
   anAct = createAction( CLOSE_SECTIONS_ID, tr("CLOSE_SECTIONS"), QPixmap(), tr("CLOSE_SECTIONS_TLT"), 
                         QKeySequence(Qt::ControlModifier|Qt::Key_W) );
   connect(anAct, SIGNAL(triggered()), this, SLOT(onCloseSections()) );
@@ -178,6 +183,7 @@ CurveCreator_Widget::CurveCreator_Widget(QWidget* parent,
                         QKeySequence(Qt::ControlModifier|Qt::Key_Delete ) );
   connect(anAct, SIGNAL(triggered()), this, SLOT(onRemove()) );
   aTB->addAction(anAct);
+  
   // TODO join
   //aTB->addSeparator();
 
@@ -1178,7 +1184,7 @@ void CurveCreator_Widget::updateLocalPointView()
   CurveCreator_Utils::getSelectedPoints( aContext, myCurve, myLocalPoints );
   int aNbPoints = myLocalPoints.size();
   bool isRowLimit = aNbPoints > myLocalPointRowLimit;
-  myLocalPointView->setVisible( !isRowLimit );
+  myLocalPointView->setVisible( getActionMode() == ModificationMode && !isRowLimit );
 
   if ( !isRowLimit ) {
     bool isBlocked = myLocalPointView->blockSignals(true);