Salome HOME
refs #618
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_SplitPolylinesDlg.cxx
index 6fe879871c1bc44a0548f47977d5d4f5f6ebbd59..58699e13bb53f902b7d5d6d24a066c6f022e22c7 100644 (file)
@@ -31,6 +31,7 @@
 #include <QGridLayout>
 #include <QTabWidget>
 #include <QMouseEvent>
+#include <QLineEdit>
 #include <gp_Pnt2d.hxx>
 
 const double MIN_COORD = -1000000;
@@ -47,8 +48,12 @@ HYDROGUI_SplitPolylinesDlg::HYDROGUI_SplitPolylinesDlg( HYDROGUI_Module* theModu
   aLayout->setMargin( 5 );
   aLayout->setSpacing( 5 );
 
+  myName = new QLineEdit( mainFrame() );
+  aLayout->addWidget( new QLabel( tr( "RESULT_NAME" ) ), 0, 0 );
+  aLayout->addWidget( myName, 0, 1 );
+
   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 +113,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 +149,7 @@ void HYDROGUI_SplitPolylinesDlg::setPolylinesFromSelection()
 {
   myMainPolyline1->reset();
   myMainPolyline2->reset();
+  myToolPolyline->reset();
   myPolylines->reset();
 
   Handle( HYDROData_Entity ) anObject = HYDROGUI_Tool::GetSelectedObject( module() );
@@ -181,3 +190,8 @@ OCCViewer_ViewPort3d* HYDROGUI_SplitPolylinesDlg::getViewPort() const
     
   return aViewPort;
 }
+
+QString HYDROGUI_SplitPolylinesDlg::GetResultName() const
+{
+  return myName->text();
+}