void setAvailableGroups( const QStringList& );
void setEditZonesEnabled( const bool theIsEnabled );
- void setEditLandCoversEnabled( const bool theIsEnabled );
+ void setEditLandCoverZonesEnabled( 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 refreshZonesBrowser();
void onDataChanged();
void onOrderChanged();
+ void onRuleChanged();
void setLandCoverMode( int theMode );
- void setStricklerTable( const QString& theStricklerTableName );
- void includeLandCovers( const QStringList& theLandCovers );
+ void setStricklerTable( const QString& theStricklerTableName, bool theBlockSignals = true );
+ void includeLandCovers( const QStringList& theLandCovers, bool theReset );
void excludeLandCovers( const QStringList& theLandCovers );
+ void refreshLandCoverZonesBrowser();
+ void onDataLandCoverChanged();
void onOrderLandCoverChanged();
+ void onLandCoverRuleChanged();
/**
* Process items selection: hide/show bathymetry merge type selector.
void onZonesDropped( const QList<SUIT_DataObject*>& theList,
SUIT_DataObject* theTargetParent, int theTargetRow, Qt::DropAction theDropAction );
+ /**
+ * Process items selection: hide/show Strickler type merge type selector.
+ */
+ void onLandCoverZoneSelected( SUIT_DataObject* theObject );
+ /**
+ * Process merge type selection: set the selected Strickler type merge type for the currently selected zone.
+ */
+ void onMergeStricklerTypeSelected( int theIndex );
+ /**
+ * Process land cover zones moving. Create a new region with dropped zones or add to existing one.
+ */
+ void onLandCoverZonesDropped( const QList<SUIT_DataObject*>& theList,
+ SUIT_DataObject* theTargetParent, int theTargetRow, Qt::DropAction theDropAction );
+
signals:
void changeMode( int theMode );
void removeObjects();
void objectsSelected();
void orderChanged( bool& isConfirmed );
+ void ruleChanged( bool& isConfirmed );
void addGroups();
void removeGroups();
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 moveZones( SUIT_DataObject* theRegion, const QList<SUIT_DataObject*>& theZonesList, bool theLandCover );
void clickedInZonesBrowser( SUIT_DataObject* );
void changeLandCoverMode( int theMode );
void removeLandCovers();
void landCoversSelected();
void orderLandCoverChanged( bool& isConfirmed );
+ void ruleLandCoverChanged( bool& isConfirmed );
+
+ void createLandCoverRegion( const QList<SUIT_DataObject*>& theLandCoverZonesList );
void StricklerTableSelected( const QString & theObjName );
+ void setMergeStricklerType( int theMergeType, QString& theStricklerTypeName );
+
+ void regenerateColors();
protected:
protected slots:
void OnNewRegion();
+ void OnNewLandCoverRegion();
private:
- QList<Handle(HYDROData_Object)> getGeometryObjects();
- QList<Handle(HYDROData_LandCover)> getLandCovers();
+ QList<Handle(HYDROData_Entity)> getGeometryObjects();
+ QList<Handle(HYDROData_Entity)> getLandCovers();
QWizardPage* createObjectsPage();
QWizardPage* createGroupsPage();
QWizardPage* createLandCoversPage();
QWizardPage* createZonesPage();
- QWizardPage* createLandCoversPartitionPage();
+ QWizardPage* createLandCoverZonesPage();
QSplitter* mySplitter;
QSplitter* myLandCoverSplitter;
HYDROGUI_Zone* myCurrentZone;
HYDROGUI_DataBrowser* myLandCoverBrowser;
+ QComboBox* myStricklerTypeChoice;
+ QLabel* myStricklerTypeLabel;
};
#endif