Salome HOME
Merge remote-tracking branch 'origin/BR_1321_ECW' into BR_DEMO
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_SplitPolylinesDlg.cxx
index 6fe879871c1bc44a0548f47977d5d4f5f6ebbd59..a6ce1887022474cd89291d391c76544a1d69f075 100644 (file)
@@ -19,7 +19,7 @@
 #include <HYDROGUI_SplitPolylinesDlg.h>
 #include <HYDROGUI_ObjComboBox.h>
 #include <HYDROGUI_ObjListBox.h>
-#include <HYDROGUI_Tool.h>
+#include <HYDROGUI_Tool2.h>
 #include <OCCViewer_ViewManager.h>
 #include <OCCViewer_ViewWindow.h>
 #include <OCCViewer_ViewPort3d.h>
@@ -48,7 +48,7 @@ HYDROGUI_SplitPolylinesDlg::HYDROGUI_SplitPolylinesDlg( HYDROGUI_Module* theModu
   aLayout->setSpacing( 5 );
 
   myTab = new QTabWidget( aFrame );
-  aLayout->addWidget( myTab, 0, 0 );
+  aLayout->addWidget( myTab, 1, 0, 1, 2 );
 
   QFrame* aPointPage = new QFrame();
   myMainPolyline1 = new HYDROGUI_ObjComboBox( theModule, tr( "POLYLINE" ), KIND_POLYLINEXY, aPointPage );
@@ -108,12 +108,15 @@ Handle( HYDROData_PolylineXY ) HYDROGUI_SplitPolylinesDlg::GetMainPolyline() con
   switch( GetMode() )
   {
   case ByPoint:
-    return Handle( HYDROData_PolylineXY )::DownCast( myMainPolyline1->GetObject() );
+    if( !myMainPolyline1->GetObject().IsNull() )
+      return Handle( HYDROData_PolylineXY )::DownCast( myMainPolyline1->GetObject() );
   case ByTool:
-    return Handle( HYDROData_PolylineXY )::DownCast( myMainPolyline2->GetObject() );
+    if( !myMainPolyline2->GetObject().IsNull() )
+      return Handle( HYDROData_PolylineXY )::DownCast( myMainPolyline2->GetObject() );
   default:
     return Handle( HYDROData_PolylineXY )();
   }
+  return Handle( HYDROData_PolylineXY )();
 }
 
 Handle( HYDROData_PolylineXY ) HYDROGUI_SplitPolylinesDlg::GetToolPolyline() const
@@ -141,6 +144,7 @@ void HYDROGUI_SplitPolylinesDlg::setPolylinesFromSelection()
 {
   myMainPolyline1->reset();
   myMainPolyline2->reset();
+  myToolPolyline->reset();
   myPolylines->reset();
 
   Handle( HYDROData_Entity ) anObject = HYDROGUI_Tool::GetSelectedObject( module() );