X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_Entity.cxx;h=4b8a76ede2252fff6b4f2700f68fba7273368190;hb=a95289fabbb6fbf6f32c06207422c65aafd5bd65;hp=db2a8cdc4be7e353ace80a76cfcf436e59488a8a;hpb=21cfaf7ae27087a9fe7f719d8a62df0a28102da9;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_Entity.cxx b/src/HYDROData/HYDROData_Entity.cxx index db2a8cdc..4b8a76ed 100644 --- a/src/HYDROData/HYDROData_Entity.cxx +++ b/src/HYDROData/HYDROData_Entity.cxx @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -85,9 +86,40 @@ QString HYDROData_Entity::GetObjPyName() const return aName; } -void HYDROData_Entity::SetName(const QString& theName) +QString HYDROData_Entity::GetDefaultName() const +{ + QString aName; + + TDF_Label aLabel = myLab.FindChild(DataTag_DefaultName, false); + if (!aLabel.IsNull()) + { + Handle(TDataStd_AsciiString) anAsciiStr; + if (aLabel.FindAttribute(TDataStd_AsciiString::GetID(), anAsciiStr)) + aName = QString(anAsciiStr->Get().ToCString()); + } + else + aName = GetName(); + + return aName; + +} + +void HYDROData_Entity::SetName(const QString& theName, bool isDefault) { TDataStd_Name::Set(myLab, TCollection_ExtendedString(theName.toLatin1().constData())); + if (isDefault) + { + TDF_Label aDefaultNameLabel = myLab.FindChild( DataTag_DefaultName, true ); + if ( aDefaultNameLabel.IsNull() ) + return; + Handle(TDataStd_AsciiString) theDefaultName; + + if ( !aDefaultNameLabel.FindAttribute( TDataStd_AsciiString::GetID(), theDefaultName )) + { + TCollection_AsciiString aName = theName.toStdString().c_str(); + theDefaultName = TDataStd_AsciiString::Set(myLab.FindChild( DataTag_DefaultName), aName ); + } + } } QStringList HYDROData_Entity::DumpToPython( const QString& thePyScriptPath, @@ -722,16 +754,36 @@ void HYDROData_Entity::setPythonObjectColor( QStringList& theScript, .arg( theColor.blue() ).arg( theColor.alpha() ); } -void HYDROData_Entity::findPythonReferenceObject( MapOfTreatedObjects& theTreatedObjects, - QStringList& theScript ) const +void HYDROData_Entity::findPythonReferenceObject( QStringList& theScript, + QString defName) const { Handle(HYDROData_Document) aDocument = HYDROData_Document::Document( myLab ); if ( aDocument.IsNull() ) return; - - theScript << QString( "%1 = %2.FindObjectByName( \"%3\" )" ).arg( GetObjPyName() ) - .arg( aDocument->GetDocPyName() ) - .arg( GetName() ); + + if (defName.isEmpty()) + theScript << QString( "%1 = %2.FindObjectByName( \"%3\" )" ).arg( GetObjPyName() ) + .arg( aDocument->GetDocPyName() ) + .arg( GetDefaultName() ); + else + theScript << QString( "%1 = %2.FindObjectByName( \"%3\" )" ).arg( GetObjPyName() ) + .arg( aDocument->GetDocPyName() ) + .arg( defName ); +} + +void HYDROData_Entity::SetNameInDumpPython(QStringList& theScript, + QString theName) const +{ + Handle(HYDROData_Document) aDocument = HYDROData_Document::Document( myLab ); + if ( aDocument.IsNull() ) + return; + + if (theName.isEmpty()) + theScript << QString( "%1.SetName( \"%2\" )" ).arg( GetObjPyName() ) + .arg( GetName() ); + else + theScript << QString( "%1.SetName( \"%2\" )" ).arg( GetObjPyName() ) + .arg( theName ); } void HYDROData_Entity::SetShape( int theTag, const TopoDS_Shape& theShape )