#include <HYDROData_PolylineXY.h>
#include <HYDROData_Profile.h>
#include <HYDROData_Entity.h>
+#include <HYDROGUI_ObjListBox.h>
+#include <HYDROGUI_Operation.h>
+#include "HYDROGUI_Module.h"
+#include <HYDROData_SinusX.h>
+#include <SUIT_FileDlg.h>
+#include <SUIT_MessageBox.h>
+#include <SUIT_Desktop.h>
+
+#include <LightApp_Application.h>
+#include <QApplication>
HYDROGUI_ExportSinusXOp::HYDROGUI_ExportSinusXOp( HYDROGUI_Module* theModule )
: HYDROGUI_Operation( theModule )
HYDROGUI_InputPanel* HYDROGUI_ExportSinusXOp::createInputPanel() const
{
HYDROGUI_ExportSinusXDlg* aPanel = new HYDROGUI_ExportSinusXDlg( module(), getName() );
- connect( aPanel, SIGNAL( IncludeItems() ), SLOT( onIncludeItems() ) );
- connect( aPanel, SIGNAL( ExcludeItems() ), SLOT( onExcludeItems() ) );
+ connect( aPanel, SIGNAL( ExportItems() ), SLOT( onExportItems() ) );
return aPanel;
}
-void HYDROGUI_ExportSinusXOp::onIncludeItems()
+void HYDROGUI_ExportSinusXOp::onExportItems()
{
+ QString aFilter( tr("SINUSX_FILTER") );
HYDROGUI_ExportSinusXDlg* aPanel = ::qobject_cast<HYDROGUI_ExportSinusXDlg*>( inputPanel() );
if ( !aPanel )
return;
-
- HYDROData_SequenceOfObjects aSeq = HYDROGUI_Tool::GetSelectedObjects( module() );
- HYDROData_SequenceOfObjects aSelectedItems;
-
- if ( aSeq.IsEmpty())
- return;
-
- for( int i = 1; i <= aSeq.Length(); i++ )
+ if (!aPanel->GetSelectedEntities().IsEmpty())
{
- Handle_HYDROData_Entity anEnt = aSeq.Value( i );
- if (anEnt->IsKind( STANDARD_TYPE( HYDROData_Bathymetry)) ||
- anEnt->IsKind( STANDARD_TYPE( HYDROData_PolylineXY)) ||
- anEnt->IsKind( STANDARD_TYPE( HYDROData_Profile)) )
- aSelectedItems.Append(anEnt);
+ //Export selected items to SX file
+ QString aFileName = SUIT_FileDlg::getFileName( module()->getApp()->desktop(), "", aFilter, tr( "EXPORT_SINUSX" ), false );
+ HYDROData_SinusX anExporter;
+ anExporter.Export(aFileName, aPanel->GetSelectedEntities());
}
-
- aPanel->addItems( aSelectedItems );
-
-}
-
-void HYDROGUI_ExportSinusXOp::onExcludeItems()
-{
- HYDROGUI_ExportSinusXDlg* aPanel = ::qobject_cast<HYDROGUI_ExportSinusXDlg*>( inputPanel() );
- if ( !aPanel )
- return;
- aPanel->RemoveItems( );
-
+ else
+ SUIT_MessageBox::warning(module()->getApp()->desktop(), tr( "EXPORT_SINUSX" ), tr( "NO_ENTITIES_TO_EXPORT"));
}