Salome HOME
refs #567: add "POLYLINES" partition and modified icon for Land Cover object.
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_DataModel.h
index 019350e1a849a5ab3cff1c512a550f38dddedc37..6707dd2edd8b0cdc4013f6413b689450520ae2eb 100644 (file)
@@ -1,12 +1,8 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
+// Copyright (C) 2014-2015  EDF-R&D
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -20,6 +16,7 @@
 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
+
 #ifndef HYDROGUI_DATAMODEL_H
 #define HYDROGUI_DATAMODEL_H
 
@@ -147,7 +144,9 @@ public:
   /**
    * Create a new region in the given calculation case containing given zones. 
    */
-  bool createNewRegion( Handle(HYDROData_CalculationCase) theCase, const QList<HYDROGUI_Zone*>& theZonesList );
+  bool createNewRegion( Handle(HYDROData_CalculationCase) theCase,
+                        const QList<HYDROGUI_Zone*>& theZonesList,
+                        const bool theLandCover );
 
   /**
    * Correct an internal model object according to the current document mode
@@ -229,9 +228,11 @@ public:
    * Creates the Calculation Case subtree for usage within an operation dialog.
    * \param theParent a created object will be appended as a child of this GUI object
    * \param theCase the calculation case model object
+   * \param theLandCover if true - land cover regions will be represented in the tree
    */
   void buildCaseTree( SUIT_DataObject*                  theParent,
-                      Handle(HYDROData_CalculationCase) theCase );
+                      Handle(HYDROData_CalculationCase) theCase,
+                      const bool theLandCover );
 
   /**
    * Updates the object subtree.
@@ -320,6 +321,13 @@ protected:
                                      const QString&           theParentEntry,
                                      const bool               theIsBuildTree ,
                                      const bool               theIsInOperation = false );
+  /**
+   * Creates the default Strickler table object: both GUI data object and corresponding model object
+   * \param theDocument a document into which created object will be added
+   * \param theParent a created object will be appended as a child of this GUI object
+   */
+  void                 createDefaultStricklerTable( const Handle(HYDROData_Document)& theDocument,
+                                                    LightApp_DataObject*              theParent );
   /**
    * Build partition for object.
    * \param theObject gui object for which the partition will be build
@@ -361,8 +369,18 @@ protected:
   static SUIT_DataObject* findChildByName( const SUIT_DataObject* theFather,
                                            const QString& theName );
 
+  /**
+   * Set object visibility state.
+   * \param theModelObject the data model object
+   * \param theDataObject the GUI object
+   */
+  void setObjectVisibilityState( Handle(HYDROData_Entity) theModelObject,
+                                 HYDROGUI_DataObject* theObject );
+                                 
+
 protected:
   QString myStudyURL; ///< the saved/opened document URL
+  QByteArray myStates;
 };
 
 #endif