Salome HOME
PAL9199. add SetMeshIcon()
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_Swig.cxx
index 1ab1cea6b7da1a3d5e0fdfbd5d3c26ee0d2fdcad..d0dd51fc0070c0313cf0a33e329e07d53ddfbfe7 100644 (file)
@@ -28,6 +28,7 @@
 
 using namespace std;
 #include "SMESHGUI_Swig.hxx"
+#include "SMESHGUI_Utils.h"
 
 #include "Utils_ORB_INIT.hxx"
 #include "Utils_SINGLETON.hxx"
@@ -47,14 +48,13 @@ using namespace std;
 #include CORBA_SERVER_HEADER(SMESH_Gen)
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
 #include CORBA_SERVER_HEADER(SMESH_Hypothesis)
-#include CORBA_SERVER_HEADER(GEOM_Shape)
 
 static CORBA::ORB_var _orb;
 
-static char* ObjectToString (CORBA::Object_ptr obj)
-{
-  return _orb->object_to_string(obj);
-}
+// static char* ObjectToString (CORBA::Object_ptr obj)
+// {
+//   return _orb->object_to_string(obj);
+// }
 
 static CORBA::Object_ptr StringToObject (const char* ior)
 {
@@ -94,12 +94,13 @@ void SMESH_Swig::Init(int studyID)
   SALOMEDS::AttributeName_var    aName;
   SALOMEDS::AttributePixMap_var  aPixmap;
 
-  SALOMEDS::SComponent_var father = myStudy->FindComponent("MESH");
+  // See return value of SMESH::SMESH_Gen::ComponentDataType()
+  SALOMEDS::SComponent_var father = myStudy->FindComponent("SMESH");
   
   if (father->_is_nil()) {
     bool aLocked = myStudy->GetProperties()->IsLocked();
     if (aLocked) myStudy->GetProperties()->SetLocked(false);
-    father = myStudyBuilder->NewComponent("MESH");
+    father = myStudyBuilder->NewComponent("SMESH");
     anAttr = myStudyBuilder->FindOrCreateAttribute(father, "AttributeName");
     aName = SALOMEDS::AttributeName::_narrow(anAttr);
     //NRI    aName->SetValue(QObject::tr("SMESH_MEN_COMPONENT"));
@@ -394,6 +395,9 @@ const char* SMESH_Swig::AddSubMesh(const char* SO_Mesh_Entry, const char* SM_IOR
       aSelAttr = SALOMEDS::AttributeSelectable::_narrow(anAttr);
       aSelAttr->SetSelectable(false);
     }
+
+    free(Name);
+
     SALOMEDS::SObject_var SO = myStudyBuilder->NewObject (SubmeshesRoot);
     anAttr = myStudyBuilder->FindOrCreateAttribute(SO, "AttributeIOR");
     anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr);
@@ -448,3 +452,16 @@ void SMESH_Swig::setOrb()
   }
   ASSERT(! CORBA::is_nil(_orb));
 }
+
+//=======================================================================
+//function : SetMeshIcon
+//purpose  : 
+//=======================================================================
+
+void SMESH_Swig::SetMeshIcon(const char* Mesh_Entry, const bool isComputed)
+{
+  SALOMEDS::SObject_var mesh = myStudy->FindObjectID( Mesh_Entry );
+  if ( !mesh->_is_nil() )
+    SMESH::ModifiedMesh( mesh, isComputed );
+}
+