-// Copyright (C) 2007-2015 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
HYDROData_Iterator anIterator( aDocument, KIND_UNKNOWN );
for( ; anIterator.More(); anIterator.Next() ) {
+ LightApp_DataObject* obj = 0;
Handle(HYDROData_Entity) anObj = anIterator.Current();
if ( !anObj.IsNull() )
Handle(HYDROData_Image) anImageObj =
Handle(HYDROData_Image)::DownCast( anObj );
if( !anImageObj.IsNull() ) {
- createObject( anImageRootObj, anImageObj );
+ obj = createObject( anImageRootObj, anImageObj );
}
break;
Handle(HYDROData_Bathymetry) aBathymetryObj =
Handle(HYDROData_Bathymetry)::DownCast( anObj );
if( !aBathymetryObj.IsNull() ) {
- createObject( aBathymetryRootObj, aBathymetryObj );
+ obj = createObject( aBathymetryRootObj, aBathymetryObj );
}
break;
Handle(HYDROData_Channel) aChannelObj =
Handle(HYDROData_Channel)::DownCast( anObj );
if( !aChannelObj.IsNull() ) {
- createObject( anArtificialObjectsRootObj, aChannelObj );
+ obj = createObject( anArtificialObjectsRootObj, aChannelObj );
}
break;
Handle(HYDROData_Digue) aDigueObj =
Handle(HYDROData_Digue)::DownCast( anObj );
if( !aDigueObj.IsNull() ) {
- createObject( anArtificialObjectsRootObj, aDigueObj );
+ obj = createObject( anArtificialObjectsRootObj, aDigueObj );
}
break;
Handle(HYDROData_ImmersibleZone) anImmersibleZoneObj =
Handle(HYDROData_ImmersibleZone)::DownCast( anObj );
if( !anImmersibleZoneObj.IsNull() ) {
- createObject( aNaturalObjectsRootObj, anImmersibleZoneObj );
+ obj = createObject( aNaturalObjectsRootObj, anImmersibleZoneObj );
}
break;
Handle(HYDROData_River) aRiverObj =
Handle(HYDROData_River)::DownCast( anObj );
if( !aRiverObj.IsNull() ) {
- createObject( aNaturalObjectsRootObj, aRiverObj );
+ obj = createObject( aNaturalObjectsRootObj, aRiverObj );
}
break;
Handle(HYDROData_Stream) aStreamObj =
Handle(HYDROData_Stream)::DownCast( anObj );
if( !aStreamObj.IsNull() ) {
- createObject( aNaturalObjectsRootObj, aStreamObj );
+ obj = createObject( aNaturalObjectsRootObj, aStreamObj );
}
break;
Handle(HYDROData_Obstacle) anObstacleObj =
Handle(HYDROData_Obstacle)::DownCast( anObj );
if( !anObstacleObj.IsNull() ) {
- createObject( anObstaclesRootObj, anObstacleObj );
+ obj = createObject( anObstaclesRootObj, anObstacleObj );
}
break;
Handle(HYDROData_CalculationCase) aCalculObj =
Handle(HYDROData_CalculationCase)::DownCast( anObj );
if( !aCalculObj.IsNull() ) {
- createObject( aCalculRootObj, aCalculObj );
+ obj = createObject( aCalculRootObj, aCalculObj );
}
break;
Handle(HYDROData_PolylineXY) aPolylineObj =
Handle(HYDROData_PolylineXY)::DownCast( anObj );
if( !aPolylineObj.IsNull() ) {
- createObject( aPolylineRootObj, aPolylineObj );
+ obj = createObject( aPolylineRootObj, aPolylineObj );
}
break;
Handle(HYDROData_Polyline3D) aPolylineObj =
Handle(HYDROData_Polyline3D)::DownCast( anObj );
if( !aPolylineObj.IsNull() ) {
- createObject( aPolyline3DRootObj, aPolylineObj );
+ obj = createObject( aPolyline3DRootObj, aPolylineObj );
}
break;
Handle(HYDROData_Profile) aProfileObj =
Handle(HYDROData_Profile)::DownCast( anObj );
if( !aProfileObj.IsNull() ) {
- createObject( aProfileRootObj, aProfileObj );
+ obj = createObject( aProfileRootObj, aProfileObj );
}
break;
Handle(HYDROData_VisualState) aVisualStateObj =
Handle(HYDROData_VisualState)::DownCast( anObj );
if( !aVisualStateObj.IsNull() ) {
- createObject( aVisualStateRootObj, aVisualStateObj );
+ obj = createObject( aVisualStateRootObj, aVisualStateObj );
}
break;
::synchronize < suitPtr, suitPtr, HYDROGUI_DataModelSync >
( aNewRootObj, aRoot, aSync );
+ SUIT_DataBrowser* ob = anApp->objectBrowser();
- if( !myStates.isEmpty() )
+ if ( !myStates.isEmpty() )
{
- LightApp_Application* anApp = dynamic_cast<LightApp_Application*>( module()->application() );
- anApp->objectBrowser()->updateTree();
- anApp->objectBrowser()->setOpenStates( myStates, ENTRY_COLUMN );
+ ob->updateTree();
+ ob->setOpenStates( myStates, ENTRY_COLUMN );
myStates.clear();
}
}
// remove Z layer
aClone->RemoveZLevel();
-
- // generate a new unique name for the clone object:
- // case 1: Image_1 -> Image_2
- // case 2: ImageObj -> ImageObj_1
- QString aName = aClone->GetName();
- QString aPrefix = aName;
- if( aName.contains( '_' ) ) // case 1
- {
- QString aSuffix = aName.section( '_', -1 );
- bool anIsInteger = false;
- aSuffix.toInt( &anIsInteger );
- if( anIsInteger )
- aPrefix = aName.section( '_', 0, -2 );
- }
- else // case 2
- aPrefix = aName;
- aName = HYDROGUI_Tool::GenerateObjectName( (HYDROGUI_Module*)module(), aPrefix );
- aClone->SetName( aName );
}
}
}
const bool theIsBuildTree )
{
HYDROGUI_DataObject* aResObj = new HYDROGUI_DataObject( theParent, theModelObject, theParentEntry );
-
+
+ const ObjectKind aKind = theModelObject->GetKind();
+ bool visibility = aKind == KIND_IMAGE || aKind == KIND_POLYLINEXY || aKind == KIND_POLYLINE ||
+ 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;
+ if ( !visibility )
+ {
+ Handle(HYDROData_Profile) aProfObj = Handle(HYDROData_Profile)::DownCast( theModelObject );
+ visibility = !aProfObj.IsNull() && aProfObj->IsValid();
+ }
+
+ if ( aKind == KIND_REGION )
+ {
+ QString an = aResObj->name();
+ int a = 0;
+ }
+
+ if ( visibility )
+ {
+ SUIT_AbstractModel* treeModel = 0;
+ LightApp_Application* app = dynamic_cast<LightApp_Application*>( module()->application() );
+ if ( app )
+ treeModel = dynamic_cast<SUIT_AbstractModel*>( app->objectBrowser()->model() );
+
+ if ( treeModel )
+ treeModel->setVisibilityState( aResObj->text( aResObj->customData( Qtx::IdType ).toInt() ), Qtx::HiddenState, false );
+ }
+
if ( theIsBuildTree )
{
buildObjectTree( theParent, aResObj, theParentEntry );
HYDROData_SequenceOfObjects aProfiles = aStreamObj->GetProfiles();
buildObjectPartition( aGuiObj, aProfiles, tr( "STREAM_PROFILES" ), true );
+
+ Handle(HYDROData_Polyline3D) aBottomPolyline = aStreamObj->GetBottomPolyline();
+ if ( !aBottomPolyline.IsNull() && !aBottomPolyline->IsRemoved() ) {
+ createObject( aGuiObj, aBottomPolyline, aGuiObj->entry(), false );
+ }
}
}
}
return true;
}
-