#include <HYDROData_Digue.h>
#include <HYDROData_River.h>
#include <HYDROData_Stream.h>
+#include <HYDROData_StricklerTable.h>
+#include <HYDROData_LandCover.h>
#include <CAM_Module.h>
#include <CAM_Study.h>
// OBSTACLES
LightApp_DataObject* anObstaclesRootObj = createObject( aNewRootObj, tr( partitionName( KIND_OBSTACLE ).toAscii() ) );
+ // STRICKLER TABLES
+ LightApp_DataObject* aStricklerTablesRootObj = createObject( aNewRootObj, tr( partitionName( KIND_STRICKLER_TABLE ).toAscii() ) );
+
+ // LAND COVERS
+ LightApp_DataObject* aLandCoversRootObj = createObject( aNewRootObj, tr( partitionName( KIND_LAND_COVER ).toAscii() ) );
+
// CALCULATION CASES
LightApp_DataObject* aCalculRootObj = createObject( aNewRootObj, tr( partitionName( KIND_CALCULATION ).toAscii() ) );
// VISUAL STATES
LightApp_DataObject* aVisualStateRootObj = createObject( aNewRootObj, tr( partitionName( KIND_VISUAL_STATE ).toAscii() ) );
+ int aNoStricklerTableObj = 0;
HYDROData_Iterator anIterator( aDocument, KIND_UNKNOWN );
for( ; anIterator.More(); anIterator.Next() ) {
LightApp_DataObject* obj = 0;
obj = createObject( anObstaclesRootObj, anObstacleObj );
}
+ break;
+ }
+ case KIND_STRICKLER_TABLE:
+ {
+ Handle(HYDROData_StricklerTable) aStricklerTableObj =
+ Handle(HYDROData_StricklerTable)::DownCast( anObj );
+ if( !aStricklerTableObj.IsNull() ) {
+ obj = createObject( aStricklerTablesRootObj, aStricklerTableObj );
+ }
+ aNoStricklerTableObj++;
+
+ break;
+ }
+ case KIND_LAND_COVER:
+ {
+ Handle(HYDROData_LandCover) aLandCoverObj =
+ Handle(HYDROData_LandCover)::DownCast( anObj );
+ if( !aLandCoverObj.IsNull() ) {
+ obj = createObject( aLandCoversRootObj, aLandCoverObj );
+ }
+
break;
}
case KIND_CALCULATION:
}
}
+ // Create default Strickler table object
+ if ( aNoStricklerTableObj == 0 )
+ createDefaultStricklerTable( aDocument, aStricklerTablesRootObj );
+
//if( SUIT_DataBrowser* anObjectBrowser = anApp->objectBrowser() )
//{
// anObjectBrowser->setAutoOpenLevel( 3 );
case KIND_OBSTACLE: return "OBSTACLES";
case KIND_ARTIFICIAL_OBJECT: return "ARTIFICIAL_OBJECTS";
case KIND_NATURAL_OBJECT: return "NATURAL_OBJECTS";
+ case KIND_STRICKLER_TABLE: return "STRICKLER_TABLES";
+ case KIND_LAND_COVER: return "LAND_COVERS";
default: break;
}
return QString();
aKind == KIND_SHAPES_GROUP || aKind == KIND_SPLITTED_GROUP || aKind == KIND_ZONE ||
aKind == KIND_IMMERSIBLE_ZONE || aKind == KIND_REGION || aKind == KIND_BATHYMETRY ||
aKind == KIND_OBSTACLE || aKind == KIND_STREAM || aKind == KIND_CHANNEL ||
- aKind == KIND_DIGUE || aKind == KIND_DUMMY_3D;
+ aKind == KIND_DIGUE || aKind == KIND_DUMMY_3D || aKind == KIND_LAND_COVER;
if ( !visibility )
{
Handle(HYDROData_Profile) aProfObj = Handle(HYDROData_Profile)::DownCast( theModelObject );
theParentEntry, theIsBuildTree, theIsInOperation );
}
+void HYDROGUI_DataModel::createDefaultStricklerTable( const Handle(HYDROData_Document)& theDocument,
+ LightApp_DataObject* theParent )
+{
+ // Create default Strickler table object
+ Handle(HYDROData_StricklerTable) aStricklerTableObj =
+ Handle(HYDROData_StricklerTable)::DownCast( theDocument->CreateObject(KIND_STRICKLER_TABLE) );
+ if ( !aStricklerTableObj.IsNull() )
+ {
+ SUIT_ResourceMgr* resMgr = module()->application()->resourceMgr();
+ QString defTablePath = resMgr->path( "resources", module()->name(), tr( "DEFAULT_STRICKLER_TABLE_FILE" ) );
+ aStricklerTableObj->Import( HYDROGUI_Tool::ToAsciiString( defTablePath ) );
+ // Set name
+ QString aStricklerTableName;
+ if ( aStricklerTableObj->GetName().isEmpty() )
+ {
+ HYDROGUI_Module* aModule = dynamic_cast<HYDROGUI_Module*>( module() );
+ if ( aModule )
+ aStricklerTableName = HYDROGUI_Tool::GenerateObjectName( aModule, tr( "DEFAULT_STRICKLER_TABLE_NAME" ) );
+ }
+ if ( aStricklerTableObj->GetName() != aStricklerTableName )
+ aStricklerTableObj->SetName( aStricklerTableName );
+
+ aStricklerTableObj->Update();
+
+ LightApp_DataObject* obj = createObject( theParent, aStricklerTableObj );
+ }
+}
+
LightApp_DataObject* HYDROGUI_DataModel::createObject( SUIT_DataObject* theParent,
const QString& theName,
const QString& theParentEntry )
Qtx::VisibilityState aVisState = isVisible ? Qtx::ShownState : Qtx::HiddenState;
treeModel->setVisibilityState( theObject->text( theObject->customData( Qtx::IdType ).toInt() ), aVisState, false );
}
-}
\ No newline at end of file
+}