Salome HOME
Merge branch 'BR_v14_rc' into BR_quadtree
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_CalculationOp.h
index 9213bee1d2a723f72188298e233c1caf2b68b000..9d2dc0d1b5a91326b7b6d844b5a188750f30d134 100644 (file)
@@ -81,18 +81,42 @@ protected slots:
   void                            onRemoveGroups();
 
   /**
-   * Set the given bathymetry merge type to the current zone.
+   * Change the creation mode related to land covers.
+   * @param theMode the mode to set
+   */
+  void                            onChangeLandCoverMode( int theMode );
+
+  /**
+   * Add land covers selected in the module browser to the calculation case.
    */
-  void                            onSetMergeType( int theMergeType, QString& theBathymetryName );
+  void                            onAddLandCovers();
+  /**
+   * Remove selected land covers from the calculation case.
+   */
+  void                            onRemoveLandCovers();
+
+  /**
+   * Set the given bathymetry/type merge type to the current zone.
+   */
+  void                            onSetMergeType( int theMergeType, QString& theMergeObjectName );
+  /**
+   * Set the given Strickler merge type to the current zone.
+   */
+  void                            onSetMergeStricklerType( int theMergeType, QString& theStricklerTypeName );
   /**
    * Selected zones are moved to the existing region.
    */
   void                            onMoveZones( SUIT_DataObject* theRegionItem, 
-                                               const QList<SUIT_DataObject*>& theZonesList );
+                                               const QList<SUIT_DataObject*>& theZonesList,
+                                               bool theLandCover );
   /**
    * Selected zones are moved to the new region to be created.
    */
   void                            onCreateRegion( const QList<SUIT_DataObject*>& theZonesList );
+  /**
+   * Selected land cover zones are moved to the new region to be created.
+   */
+  void                            onCreateLandCoverRegion( const QList<SUIT_DataObject*>& theZonesList );
   /**
    * Case objects must be splitted to zones if the case has been modified or new.
    */
@@ -103,30 +127,43 @@ protected slots:
    */
   void                            onClickedInZonesBrowser( SUIT_DataObject* theItem );
   /**
-   * Hide zones in the viewer.
+   * Slot called on back button click.
    */
-  void                            onHideZones();
+  void                            onHideZones( const int );
   /** 
    * Geometry object is selected in the list on the first wizard page
    */
   void                            onObjectsSelected();
+  /** 
+   * Land cover is selected in the list on the third wizard page
+   */
+  void                            onLandCoversSelected();
   /** 
    * Boundary polyline is selected in the list on the first wizard page
    */
-  void                            onBoundarySelected ( const QString & theObjName );
+  void                            onBoundarySelected( const QString & theObjName );
+  /** 
+   * Strickler table name is selected in the list on the third wizard page
+   */
+  void                            onStricklerTableSelected( const QString & theObjName );
+
+  void onOrderChanged( bool& isConfirmed );
+  void onOrderLandCoverChanged( bool& isConfirmed );
 
 private:
-  void                            createPreview();
-  void                            closePreview();
+  void                            createPreview( const bool theLandCover);
+  void                            closePreview( bool theRemoveViewManager = true );
   void                            setObjectVisibility( Handle(HYDROData_Entity) theEntity, const bool theIsVisible );
-  void                            setZonesVisible( bool theIsVisible );
+  void                            setZonesVisible( bool theIsVisible, const bool theLandCover );
+  void                            setGeomObjectsVisible( bool theIsVisible );
+  void                            setLandCoversVisible( bool theIsVisible );
   void                            getNamesAndEntries( const HYDROData_SequenceOfObjects& theSeq, 
                                                       QStringList& theNames, QStringList& theEntries ) const;
 
   /**
    * Internal method that used to assign unique default colors for zones
    */
-  void                            AssignDefaultZonesColors();
+  void                            AssignDefaultZonesColors( const bool theLandCover );
   /**
    * Internal method that used to generate default color for zone
    * @param theIndex the index of color to be generated
@@ -143,28 +180,25 @@ private:
                                                              float theSaturation = 0.5,
                                                              float theValue = 0.95 ) const;
 
-  /**
-   * Ask user to confirm splitting zones recalculation after regions list modification.
-   * \return true if confirmed
-   */
-  bool                            confirmRegionsChange() const;
+  void                            setRules( HYDROData_CalculationCase::DataTag theDataTag );
 
-  /**
-   * Ask user to confirm splitting zones recalculation after mode change.
-   * \return true if confirmed
-   */
-  bool                            confirmModeChange() const;
+  bool                            createRegion( const QList<SUIT_DataObject*>& theZonesList,
+                                                const bool theLandCover );
 
-  /**
-   * Ask user to confirm the operation continuation with warning.
-   * @param theWarning the warning
-   * \return true if confirmed
-   */
-  bool                            confirmContinueWithWarning( const HYDROData_Warning& theWarning ) const;
+  bool confirmRegionsChange() const;
+  bool confirmModeChange() const;
+  bool confirmOrderChange() const;
+  bool confirmContinueWithWarning( const HYDROData_Warning& theWarning ) const;
+
+  bool confirmLandCoverRegionsChange() const;
+  bool confirmLandCoverModeChange() const;
+  bool confirmLandCoverOrderChange() const;
 
 private:
   bool                            myIsEdit;
   bool                            myShowZones;
+  bool                            myShowGeomObjects;
+  bool                            myShowLandCovers;
   Handle(HYDROData_CalculationCase) myEditedObject;
 
   SUIT_ViewManager*               myActiveViewManager;