-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2020 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
{
if (getStudy()->GetProperties()->IsLocked())
return;
- SMESHGUI::GetSMESHGen()->SetName(theSObject->GetIOR().c_str(), theName.toLatin1().data());
+ SMESHGUI::GetSMESHGen()->SetName(theSObject->GetIOR().c_str(), theName.toUtf8().data());
}
void SetValue (_PTR(SObject) theSObject, const QString& theValue)
aBuilder->FindOrCreateAttribute(theSObject, "AttributeComment");
_PTR(AttributeComment) aComment = anAttr;
if (aComment)
- aComment->SetValue(theValue.toLatin1().data());
+ aComment->SetValue(theValue.toUtf8().data());
}
void setFileName (_PTR(SObject) theSObject, const QString& theValue)
aBuilder->FindOrCreateAttribute(theSObject, "AttributeExternalFileDef");
_PTR(AttributeExternalFileDef) aFileName = anAttr;
if (aFileName)
- aFileName->SetValue(theValue.toLatin1().data());
+ aFileName->SetValue(theValue.toUtf8().data());
}
void setFileType (_PTR(SObject) theSObject, const QString& theValue)
aBuilder->FindOrCreateAttribute(theSObject, "AttributeFileType");
_PTR(AttributeFileType) aFileType = anAttr;
if (aFileType)
- aFileType->SetValue(theValue.toLatin1().data());
+ aFileType->SetValue(theValue.toUtf8().data());
}
CORBA::Object_var SObjectToObject (_PTR(SObject) theSObject )
return app->orb()->string_to_object(theIOR.toLatin1().data());
}
+ CORBA::Object_var EntryToObject( const QString& theEntry )
+ {
+ _PTR(SObject) anObj = getStudy()->FindObjectID( theEntry.toLatin1().data() );
+ return SObjectToObject(anObj);
+ }
+
int GetNameOfSelectedIObjects(LightApp_SelectionMgr* theMgr, QString& theName)
{
if (!theMgr)
int aNbSel = selected.Extent();
if (aNbSel == 1) {
Handle(SALOME_InteractiveObject) anIObject = selected.First();
- theName = QString( anIObject->getName() ).trimmed();
+ theName = GetName( anIObject );
} else {
theName = QObject::tr("SMESH_OBJECTS_SELECTED").arg(aNbSel);
}
return aNbSel;
}
+ QString GetName( const Handle(SALOME_InteractiveObject)& theIO )
+ {
+ QString name;
+ if ( !theIO.IsNull() )
+ {
+ name = QString( theIO->getName() ).trimmed();
+
+ if ( name.isEmpty() && theIO->hasEntry() )
+ {
+ _PTR(SObject) sObj = getStudy()->FindObjectID( theIO->getEntry() );
+ if ( sObj )
+ name = sObj->GetName().c_str();
+ }
+ }
+ return name.trimmed();
+ }
+
_PTR(SObject) GetMeshOrSubmesh (_PTR(SObject) theSObject)
{
GEOM::GEOM_Object_var aShape = SObjectToInterface<GEOM::GEOM_Object>(theSObject);
return theSObject->GetFather();
}
- void ModifiedMesh (_PTR(SObject) theSObject, bool theIsNotModif, bool isEmptyMesh)
- {
- _PTR(Study) aStudy = getStudy();
- if ( !aStudy || aStudy->GetProperties()->IsLocked())
- return;
-
- _PTR(StudyBuilder) aBuilder = aStudy->NewBuilder();
- _PTR(GenericAttribute) anAttr =
- aBuilder->FindOrCreateAttribute(theSObject,"AttributePixMap");
- _PTR(AttributePixMap) aPixmap = anAttr;
-
- std::string pmName;
- if (theIsNotModif)
- pmName = "ICON_SMESH_TREE_MESH";
- else if ( isEmptyMesh )
- pmName = "ICON_SMESH_TREE_MESH_WARN";
- else
- pmName = "ICON_SMESH_TREE_MESH_PARTIAL";
- aPixmap->SetPixMap( pmName );
-
- _PTR(ChildIterator) anIter = aStudy->NewChildIterator(theSObject);
- for ( ; anIter->More(); anIter->Next() ) {
- _PTR(SObject) aSObj = anIter->Value();
- if ( aSObj->Tag() >= SMESH::Tag_FirstSubMesh )
- {
- _PTR(ChildIterator) anIter1 = aStudy->NewChildIterator(aSObj);
- for ( ; anIter1->More(); anIter1->Next())
- {
- _PTR(SObject) aSObj1 = anIter1->Value();
- _PTR(SObject) aSObjectRef;
- if (aSObj1->ReferencedObject(aSObjectRef))
- continue; // reference to an object
-
- anAttr = aBuilder->FindOrCreateAttribute(aSObj1, "AttributePixMap");
- aPixmap = anAttr;
-
- std::string entry = aSObj1->GetID();
- int objType = SMESHGUI_Selection::type( entry.c_str() );
- if ( objType == SMESH::HYPOTHESIS || objType == SMESH::ALGORITHM )
- continue;
-
- SMESH::SMESH_IDSource_var idSrc = SObjectToInterface<SMESH::SMESH_IDSource>( aSObj1 );
- if ( !idSrc->_is_nil() )
- {
- SMESH::SMESH_GroupOnFilter_var gof =
- SObjectToInterface<SMESH::SMESH_GroupOnFilter>( aSObj1 );
- const bool isGroupOnFilter = !gof->_is_nil();
-
- bool isEmpty = false;
- if ( !isGroupOnFilter ) // GetTypes() can be very long on GroupOnFilter!
- {
- SMESH::array_of_ElementType_var elemTypes = idSrc->GetTypes();
- isEmpty = ( elemTypes->length() == 0 );
- }
- if ( isEmpty )
- aPixmap->SetPixMap("ICON_SMESH_TREE_MESH_WARN");
- else if ( objType != GROUP )
- aPixmap->SetPixMap( "ICON_SMESH_TREE_MESH" );
- else if ( isGroupOnFilter )
- aPixmap->SetPixMap( "ICON_SMESH_TREE_GROUP_ON_FILTER" );
- else
- aPixmap->SetPixMap( "ICON_SMESH_TREE_GROUP" );
- }
- else // is it necessary?
- {
- if ( !theIsNotModif )
- aPixmap->SetPixMap( pmName );
- else if ( objType == GROUP )
- aPixmap->SetPixMap( "ICON_SMESH_TREE_GROUP" );
- else
- aPixmap->SetPixMap( "ICON_SMESH_TREE_MESH" );
- }
- }
- }
- }
- }
-
void ShowHelpFile (const QString& theHelpFileName)
{
LightApp_Application* app = (LightApp_Application*)(SUIT_Session::session()->activeApplication());