#define HYDROGUI_CALCULATIONDLG_H
#include "HYDROGUI_Wizard.h"
-#include <HYDROData_Calculation.h>
+#include <HYDROData_CalculationCase.h>
class HYDROGUI_ObjSelector;
class QGroupBox;
class QLineEdit;
class QListWidget;
class QComboBox;
+class QLabel;
+class QStringList;
class HYDROGUI_DataBrowser;
+class HYDROGUI_NameValidator;
+class SUIT_DataObject;
+class HYDROGUI_Zone;
class HYDROGUI_CalculationDlg : public HYDROGUI_Wizard
{
void setObjectName( const QString& theName );
QString getObjectName() const;
- void setEditedObject( const Handle(HYDROData_Calculation) theCase );
+ void setEditedObject( const Handle(HYDROData_CalculationCase) theCase );
- void setGeomObjects( const QStringList& theObjects );
- void setSelectedGeomObjects( const QStringList& theObjects );
+ void setAllGeomObjects( const QStringList& theObjects, const QStringList& theObjectsEntries );
+ void setPolylineNames( const QStringList& theObjects, const QStringList& theObjectsEntries );
QStringList getSelectedGeomObjects() const;
+ QStringList getSelectedAvailableGeomObjects() const;
+ HYDROGUI_Zone* getCurrentZone() const;
+
+public slots:
+ void setBoundary( const QString& theObjName );
+ void includeGeomObjects( const QStringList& theObjects );
+ void excludeGeomObjects( const QStringList& theObjects );
+ void onEmptyName();
+ void onAlreadyExists( QString theName );
+ void refreshZonesBrowser();
+ /**
+ * Process items selection: hide/show bathymetry merge type selector.
+ */
+ void onSelected( SUIT_DataObject* theObject );
+ /**
+ * Process merge type selection: set the selected bathymetry merge type for the currently selected zone.
+ */
+ void onMergeTypeSelected( int theIndex );
+ /**
+ * Process zones moving. Create a new region with dropped zones or add to existing one.
+ */
+ void onZonesDropped( const QList<SUIT_DataObject*>& theList,
+ SUIT_DataObject* theTargetParent, int theTargetRow, Qt::DropAction theDropAction );
+
+signals:
+ void addObjects();
+ void removeObjects();
+ void objectSelected( const QString & theObjName );
+ void boundarySelected( const QString & theObjName );
+ void splitZones();
+ void hideZones();
+ void setMergeType( int theMergeType, QString& theBathymetryName );
+ void createRegion( const QList<SUIT_DataObject*>& theZonesList );
+ void moveZones( SUIT_DataObject* theRegion, const QList<SUIT_DataObject*>& theZonesList );
+ void clickedInZonesBrowser( SUIT_DataObject* );
private:
QGroupBox* myObjectNameGroup;
QLineEdit* myObjectName;
+ HYDROGUI_NameValidator* myValidator;
+ QComboBox* myPolylineName;
+
+ QListWidget* myAvailableGeomObjects;
QListWidget* myGeomObjects;
- HYDROGUI_DataBrowser* myBrowser;
- Handle(HYDROData_Calculation) myEditedObject;
- QComboBox* myBathymetryChoice;
+ HYDROGUI_DataBrowser* myBrowser;
+ Handle(HYDROData_CalculationCase) myEditedObject;
+ QComboBox* myBathymetryChoice;
+ QLabel* myBatimetryLabel;
+ HYDROGUI_Zone* myCurrentZone;
};
#endif