Salome HOME
Merge branch 'BR_v14_rc' into BR_quadtree
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_CalculationDlg.h
index f4ee385fd047cbee7db7f1c5bf57e309f9554612..d6105168c3d8807675d5ba204a60bd93d406b9b0 100644 (file)
@@ -78,7 +78,7 @@ public:
   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;
@@ -103,6 +103,8 @@ public slots:
   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();
 
   /**
@@ -119,6 +121,20 @@ public slots:
   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 );  
 
@@ -134,7 +150,7 @@ signals:
   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 );
@@ -143,8 +159,11 @@ signals:
   void                       removeLandCovers();
   void                       landCoversSelected();
   void                       orderLandCoverChanged( bool& isConfirmed );
+
+  void                       createLandCoverRegion( const QList<SUIT_DataObject*>& theLandCoverZonesList );
   
   void                       StricklerTableSelected( const QString & theObjName );
+  void                       setMergeStricklerType( int theMergeType, QString& theStricklerTypeName );
 
 protected:
 
@@ -152,6 +171,7 @@ protected:
 
 protected slots:
   void OnNewRegion();
+  void OnNewLandCoverRegion();
 
 private:
   QList<Handle(HYDROData_Entity)> getGeometryObjects();
@@ -161,7 +181,7 @@ private:
   QWizardPage*               createGroupsPage();
   QWizardPage*               createLandCoversPage();
   QWizardPage*               createZonesPage();
-  QWizardPage*               createLandCoversPartitionPage();
+  QWizardPage*               createLandCoverZonesPage();
 
   QSplitter*                 mySplitter;
   QSplitter*                 myLandCoverSplitter;
@@ -195,6 +215,8 @@ private:
   HYDROGUI_Zone*             myCurrentZone;
 
   HYDROGUI_DataBrowser*      myLandCoverBrowser;
+  QComboBox*                 myStricklerTypeChoice;
+  QLabel*                    myStricklerTypeLabel;
 };
 
 #endif