+ QStringList getSelectedLandCovers() const;
+ QStringList getSelectedAvailableGeomObjects() const;
+ QStringList getSelectedAvailableLandCovers() const;
+ QStringList getSelectedGroups() const;
+ QStringList getSelectedAvailableGroups() const;
+ HYDROGUI_Zone* getCurrentZone() const;
+
+ void setAvailableGroups( const QStringList& );
+
+ void setEditZonesEnabled( const bool theIsEnabled );
+ void setEditLandCoversEnabled( const bool theIsEnabled );
+
+ HYDROData_ListOfRules getRules() const;
+ void setRules( const HYDROData_ListOfRules& theRules ) const;
+
+ HYDROData_ListOfRules getLandCoverRules() const;
+ void setLandCoverRules( const HYDROData_ListOfRules& theRules ) const;
+
+public slots:
+ void setMode( int theMode );
+ void setBoundary( const QString& theObjName );
+ void includeGeomObjects( const QStringList& theObjects );
+ void excludeGeomObjects( const QStringList& theObjects );
+ void includeGroups( const QStringList& theObjects );
+ void excludeGroups( const QStringList& theObjects );
+ void onEmptyName();
+ void onAlreadyExists( QString theName );
+ void refreshZonesBrowser();
+ void onDataChanged();
+ void onOrderChanged();
+
+ void setLandCoverMode( int theMode );
+ void setStricklerTable( const QString& theStricklerTableName, bool theBlockSignals = true );
+ void includeLandCovers( const QStringList& theLandCovers, bool theReset );
+ void excludeLandCovers( const QStringList& theLandCovers );
+ void onOrderLandCoverChanged();
+
+ /**
+ * 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 changeMode( int theMode );
+
+ void addObjects();
+ void removeObjects();
+ void objectsSelected();
+ void orderChanged( bool& isConfirmed );
+
+ void addGroups();
+ void removeGroups();
+ void groupsSelected();
+
+ void boundarySelected( const QString & theObjName );
+ 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* );
+
+ void changeLandCoverMode( int theMode );
+
+ void addLandCovers();
+ void removeLandCovers();
+ void landCoversSelected();
+ void orderLandCoverChanged( bool& isConfirmed );
+
+ void StricklerTableSelected( const QString & theObjName );
+
+protected:
+
+ virtual bool acceptCurrent() const;
+
+protected slots:
+ void OnNewRegion();