Salome HOME
Refs #288 - the profile section selected and addition mode is activated
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_ProfileDlg.cxx
index f4ee9b73130a752c7204518e7ea6e49e96a9210c..611e888f23d5589dbecef5ea1ba69e4f91fc435b 100644 (file)
@@ -27,6 +27,7 @@
 
 #include <CurveCreator_Widget.h>
 #include <CurveCreator_ICurve.hxx>
+#include <CurveCreator_Utils.h>
 
 #include <OCCViewer_ViewPort3d.h>
 #include <OCCViewer_Utilities.h>
@@ -37,8 +38,6 @@
 #include <SUIT_Session.h>
 #include <SUIT_ResourceMgr.h>
 
-#include <GEOMUtils.hxx>
-
 #include <QGroupBox>
 #include <QHBoxLayout>
 #include <QLabel>
@@ -95,7 +94,7 @@ HYDROGUI_ProfileDlg::HYDROGUI_ProfileDlg( HYDROGUI_Module* theModule, const QStr
   myEditorWidget->setOCCViewer( aViewer );
 
   connect( myEditorWidget, SIGNAL( selectionChanged() ), this, SIGNAL( selectionChanged() ) );
-  connect( myEditorWidget, SIGNAL( subOperationStarted(QWidget*) ), this, SLOT( processStartedSubOperation(QWidget*) ) );
+  connect( myEditorWidget, SIGNAL( subOperationStarted(QWidget*, bool) ), this, SLOT( processStartedSubOperation(QWidget*, bool) ) );
   connect( myEditorWidget, SIGNAL( subOperationFinished(QWidget*) ), this, SLOT( processFinishedSubOperation(QWidget*) ) );
 
   myAddElementBox->hide();
@@ -126,6 +125,7 @@ HYDROGUI_ProfileDlg::~HYDROGUI_ProfileDlg()
 void HYDROGUI_ProfileDlg::reset()
 {
   myEditorWidget->reset();
+  myEditorWidget->setActionMode( CurveCreator_Widget::AdditionMode );
 }
 
 Handle(AIS_InteractiveContext) HYDROGUI_ProfileDlg::getAISContext()
@@ -147,6 +147,11 @@ QString HYDROGUI_ProfileDlg::getProfileName() const
 void HYDROGUI_ProfileDlg::setProfile( CurveCreator_ICurve* theProfile )
 {
   myEditorWidget->setCurve( theProfile );
+
+  // select the single section by default
+  QList<int> aSections;
+  aSections << 0;
+  myEditorWidget->setSelectedSections( aSections );
 }
 
 QList<int> HYDROGUI_ProfileDlg::getSelectedSections()
@@ -154,11 +159,6 @@ QList<int> HYDROGUI_ProfileDlg::getSelectedSections()
   return myEditorWidget->getSelectedSections();
 }
 
-QList< QPair< int, int > > HYDROGUI_ProfileDlg::getSelectedPoints()
-{
-  return myEditorWidget->getSelectedPoints();
-}
-
 /**
  * Redirect the delete action to editor widget
  */
@@ -175,10 +175,11 @@ bool HYDROGUI_ProfileDlg::deleteEnabled()
   return myEditorWidget->removeEnabled();
 }
 
-void HYDROGUI_ProfileDlg::processStartedSubOperation( QWidget* theWidget )
+void HYDROGUI_ProfileDlg::processStartedSubOperation( QWidget* theWidget, bool theIsEdit )
 {
   myEditorWidget->setEnabled( false );
 
+  myAddElementBox->setTitle( theIsEdit ? tr( "EDIT_ELEMENT" ) : tr( "ADD_ELEMENT" ) );
   QBoxLayout* anAddElementLayout = dynamic_cast<QBoxLayout*>( myAddElementBox->layout() );
   anAddElementLayout->addWidget( theWidget );
 
@@ -202,7 +203,7 @@ void HYDROGUI_ProfileDlg::onMouseMove( SUIT_ViewWindow* theViewWindow, QMouseEve
   OCCViewer_ViewWindow* anOCCViewWindow = 
     dynamic_cast<OCCViewer_ViewWindow*>(theViewWindow);
   if ( anOCCViewWindow && anOCCViewWindow->getViewPort() ) {
-    gp_Pnt aPnt = GEOMUtils::ConvertClickToPoint( 
+    gp_Pnt aPnt = CurveCreator_Utils::ConvertClickToPoint( 
       theEvent->x(), theEvent->y(), anOCCViewWindow->getViewPort()->getView() );
 
     // Show the coordinates