Salome HOME
Bathymetry points has been changed from QList to NCollection_Sequence.
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_ProfileDlg.cxx
index e4725a2a174115a69f966747d9eaf6d5f5550bda..3a72a04c4a1cf3e86d3beef2b12a7d0ca59b1304 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>
@@ -70,7 +69,7 @@ HYDROGUI_ProfileDlg::HYDROGUI_ProfileDlg( HYDROGUI_Module* theModule, const QStr
   anAddElementLayout->setSpacing( 5 );
 
   myViewManager = new OCCViewer_ViewManager( theModule->getApp()->activeStudy(), 0 );
-  OCCViewer_Viewer* aViewer = new OCCViewer_Viewer( true );
+  OCCViewer_Viewer* aViewer = new OCCViewer_Viewer( false /*erase trihedron*/);
 
   SUIT_ResourceMgr* aResMgr = SUIT_Session::session()->resourceMgr();
   aViewer->setBackground( OCCViewer_ViewFrame::TOP_LEFT,
@@ -91,6 +90,7 @@ HYDROGUI_ProfileDlg::HYDROGUI_ProfileDlg( HYDROGUI_Module* theModule, const QStr
 
   myViewManager->setViewModel( aViewer );// custom view model, which extends SALOME_View interface
   SUIT_ViewWindow* aViewWin = myViewManager->createViewWindow();
+  aViewer->setStaticTrihedronDisplayed( false );
   addWidget( aViewWin, 4 );
   myEditorWidget->setOCCViewer( aViewer );
 
@@ -126,6 +126,7 @@ HYDROGUI_ProfileDlg::~HYDROGUI_ProfileDlg()
 void HYDROGUI_ProfileDlg::reset()
 {
   myEditorWidget->reset();
+  myEditorWidget->setActionMode( CurveCreator_Widget::AdditionMode );
 }
 
 Handle(AIS_InteractiveContext) HYDROGUI_ProfileDlg::getAISContext()
@@ -147,6 +148,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()
@@ -198,7 +204,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
@@ -210,9 +216,12 @@ void HYDROGUI_ProfileDlg::onMouseMove( SUIT_ViewWindow* theViewWindow, QMouseEve
 
 bool HYDROGUI_ProfileDlg::eventFilter( QObject* theObj, QEvent* theEvent )
 {
-  if ( theObj->inherits( "OCCViewer_ViewPort" ) && 
-       theEvent->type() == QEvent::Leave ) {
-    myCoordLabel->clear();
+  if ( theObj->inherits( "OCCViewer_ViewPort" ) )
+  {
+    if ( theEvent->type() == QEvent::Leave )
+      myCoordLabel->clear();
+
+    return false;
   }
 
   return HYDROGUI_InputPanel::eventFilter( theObj, theEvent );