else if ( p=="hasReference" ) val = QtxValue( hasReference( ind ) );
else if ( p=="isVisible" ) val = QtxValue( isVisible( ind ) );
-// printf( "--> param() : [%s] = %s (%s)\n", p.latin1(), val.toString().latin1(), val.typeName() );
-// if ( val.type() == QVariant::List )
-// cout << "size: " << val.toList().count() << endl;
+ // printf( "--> param() : [%s] = %s (%s)\n", p.latin1(), val.toString().latin1(), val.typeName() );
+ //if ( val.type() == QVariant::List )
+ //cout << "size: " << val.toList().count() << endl;
return val;
}
SMESH_Actor* SMESHGUI_Selection::getActor( int ind ) const
{
if ( ind >= 0 && ind < myDataOwners.count() ) {
- const SalomeApp_DataOwner* owner =
- dynamic_cast<const SalomeApp_DataOwner*> ( myDataOwners[ ind ].get() );
- if ( owner )
- {
- Handle( SALOME_InteractiveObject ) anObj = owner->IO();
- QString entry = anObj->getEntry();
- return dynamic_cast<SMESH_Actor*>( SMESH::FindActorByEntry( entry ) );
- }
- //return dynamic_cast<SMESH_Actor*>( owner->GetActor() );
+ const SalomeApp_SVTKDataOwner* owner =
+ dynamic_cast<const SalomeApp_SVTKDataOwner*> ( myDataOwners[ ind ].get() );
+ if ( owner )
+ return dynamic_cast<SMESH_Actor*>( owner->GetActor() );
}
return 0;
}
{
if ( ind >= 0 && ind < myTypes.count() && myTypes[ind] != "Unknown" )
{
- Handle(SALOME_InteractiveObject) io =
- static_cast<SalomeApp_DataOwner*>( myDataOwners[ ind ].get() )->IO();
- if ( !io.IsNull() )
- return QVariant( io->hasReference(), 0 );
+ SalomeApp_DataOwner* owner = dynamic_cast<SalomeApp_DataOwner*>( myDataOwners[ ind ].operator->() );
+ if( owner )
+ {
+ _PTR(SObject) obj ( study()->studyDS()->FindObjectID( owner->entry().latin1() ) ), ref;
+ return QVariant( obj->ReferencedObject( ref ), 0 );
+ }
}
return QVariant( false, 0 );
}
if( !obj )
return -1;
+ _PTR(SObject) ref;
+ if( obj->ReferencedObject( ref ) )
+ obj = ref;
+
_PTR(SObject) objFather = obj->GetFather();
_PTR(SComponent) objComponent = obj->GetFatherComponent();
+ if( objComponent->ComponentDataType()!="SMESH" )
+ return -1;
+
int aLevel = obj->Depth() - objComponent->Depth(),
aFTag = objFather->Tag(),
anOTag = obj->Tag(),