Salome HOME
PN bug notation scientifique
[tools/eficas.git] / Editeur / panelsSalome.py
index d9364e97995b6a3835579bfc4e80cedc62736840..7a319a5eda7caf0242ab7404ebad2d7277090267 100644 (file)
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 print "Import de panelsSalome"
 
 from Tkinter import *
@@ -90,7 +91,7 @@ class SALOME_PLUSIEURS_BASE_Panel(PLUSIEURS_BASE_Panel):
   def convertit_group_no_from_salome(self,liste_in):
       newr=[]
       try:
-          print liste_in
+      #if ( 1 == 1 ) :
          for entree in liste_in :
               travail=[]
               travail.append(entree)
@@ -104,6 +105,7 @@ class SALOME_PLUSIEURS_BASE_Panel(PLUSIEURS_BASE_Panel):
                for i in r :
                    newr.append(i)
       except:
+      #else :
           print "pas de groupe de noeuds associé"
           showerror("Pas de groupe associé","Cet Objet ne peut pas être défini comme un ensemble de groupe de noeuds")
       return newr
@@ -165,7 +167,6 @@ class SALOME_PLUSIEURS_BASE_Panel(PLUSIEURS_BASE_Panel):
           pass
 
       entryname_list=SMESH_utils.entryToName(salome.myStudy,entrychaine)
-      print  entryname_list
       self.entrygroupe.delete(0,END)
       self.sortie.delete(0,END)
       for entryname in entryname_list:
@@ -205,7 +206,6 @@ class SALOME_PLUSIEURS_BASE_Panel(PLUSIEURS_BASE_Panel):
               if i not in liste_valeurs:
                 valeur.append(i)
              
-          print valeur
           if valeur==[]:
             entryname_list=[]
 
@@ -377,6 +377,66 @@ class SALOME_UNIQUE_BASE_Panel(UNIQUE_BASE_Panel):
 
   dict_fichier_unite={}
 
+
+  def SALOME_DONNEES_HOMARD_TRAITEMENT_FICHIER_MED_MAILLAGE_N(self):
+      entrychaine=salome.sg.getAllSelected()
+      if entrychaine != '':
+          self.entry2.delete(0,END)
+          try:
+              SO = salome.myStudy.FindObjectID(entrychaine[0])
+          except:
+              boo = 0
+              SO = None
+
+          FileName=''
+          if SO != None:
+              myBuilder = salome.myStudy.NewBuilder()
+              boo,FileAttr = myBuilder.FindAttribute(SO,"AttributeFileType")
+              if boo:
+                 val=FileAttr.Value()
+                 if (val !="FICHIERMED"):
+                     boo=0
+                     showerror("Pas de Fichier MED","Cet Objet n a pas de fichier MED Associ\xe9")
+                 else:
+                     boo,FileAttr = myBuilder.FindAttribute(SO,"AttributeExternalFileDef")
+              if boo :
+                FileName=FileAttr.Value()
+              else:
+                 showerror("Pas de Fichier MED","Cet Objet n a pas de fichier MED Associ\xe9")
+          if FileName != '' :
+              self.entry2.insert(0,FileName)
+              self.entry.delete(0,END)
+              self.entry.insert(0,FileName)
+              self.valid_valeur()
+
+
+  def SALOME_DONNEES_HOMARD_TRAITEMENT_NOM_MED_MAILLAGE_N(self):
+      EntryName=''
+      entrychaine=salome.sg.getAllSelected()
+      if entrychaine != '':
+          self.entry2.delete(0,END)
+          try:
+              SO = salome.myStudy.FindObjectID(entrychaine[0])
+          except:
+              boo = 0
+              SO = None
+
+          if SO is not None:
+            myBuilder = salome.myStudy.NewBuilder()
+             ok, AtName = myBuilder.FindAttribute(SO,"AttributeName")
+            if ok:
+               EntryName=AtName.Value()
+
+      if EntryName != '':
+          self.entry2.insert(0,EntryName)
+          self.entry.delete(0,END)
+          self.entry.insert(0,EntryName)
+          self.valid_valeur()
+
+  def SALOME_DONNEES_HOMARD_TRAITEMENT_FICHIER_MED_MAILLAGE_NP1(self):
+      self.SALOME_DONNEES_HOMARD_TRAITEMENT_FICHIER_MED_MAILLAGE_N()
+
+
   def SALOME_LIRE_MAILLAGE_UNITE(self):
 
       unite=self.node.item.get_valeur()
@@ -385,9 +445,7 @@ class SALOME_UNIQUE_BASE_Panel(UNIQUE_BASE_Panel):
          self.entry2.delete(0,END)
 
           try:
-             print salome.myStudy
               SO = salome.myStudy.FindObjectID(entrychaine[0])
-             print SO
           except:
               boo = 0
               SO = None
@@ -396,27 +454,38 @@ class SALOME_UNIQUE_BASE_Panel(UNIQUE_BASE_Panel):
              myBuilder = salome.myStudy.NewBuilder()
               boo,FileAttr = myBuilder.FindAttribute(SO,"AttributeComment")
 
-          if boo == 0 :
-            FileName=''
-             print "a"
-          else :
-            Comment=FileAttr.Value()
-             print Comment
-             if Comment.find("FICHIERMED")== -1 :
-                FileName=''
-             else :
-                FileName=Comment[10:]
-
+          FileName=''
+          if SO != None:
+              myBuilder = salome.myStudy.NewBuilder()
+              boo,FileAttr = myBuilder.FindAttribute(SO,"AttributeFileType")
+              if boo:
+                 boo=0
+                 val=FileAttr.Value()
+                 if (val !="FICHIERMED"):
+                     showerror("Pas de Fichier MED","Cet Objet n a pas de fichier MED Associ\xe9")
+                 else:
+                     boo,FileAttr = myBuilder.FindAttribute(SO,"AttributeExternalFileDef")
+          if boo :
+              FileName=FileAttr.Value()
+          else:
+              showerror("Pas de Fichier MED","Cet Objet n a pas de fichier MED Associ\xe9")
 
           print "FileName = " , FileName
-         if FileName != '' :
-              print FileName
-             self.entry2.insert(0,FileName)
+          if FileName != '' :
+              self.entry2.insert(0,FileName)
               typefic='D'
               SALOME_UNIQUE_BASE_Panel.dict_fichier_unite[unite]=typefic+FileName
           else :
-             print "il faut afficher une Fenetre d impossibilité"
-             showerror("Pas de Fichier MED","Cet Objet n a pas de fichier MED Associé")
+              print "il faut afficher une Fenetre d impossibilit\xe9"
+              showerror("Pas de Fichier MED","Cet Objet n a pas de fichier MED Associ\xe9")
+
+  def redistribue_selon_simp(self):
+      genea = self.node.item.get_genealogie()
+      commande="SALOME"
+      for i in range(0,len( genea )) :
+        commande=commande+"_"+ genea[i]
+      (SALOME_UNIQUE_BASE_Panel.__dict__[commande])(self)
+
 
   def makeValeurPage(self,page):
       """
@@ -441,8 +510,8 @@ class SALOME_UNIQUE_BASE_Panel(UNIQUE_BASE_Panel):
       self.entry.bind("<Return>",lambda e,c=self.valid_valeur:c())
 
       # PN : Ajout d'un bouton pour selectionner  à partir de Salome  
-      self.b = Button(self.frame_valeur,text='Relier a selection',command=self.SALOME_LIRE_MAILLAGE_UNITE)
-      self.b.place(relx=0.1,rely=0.1)
+      self.b = Button(self.frame_valeur,text='Relier selection',command=self.redistribue_selon_simp)
+      self.b.place(relx=0.05,rely=0.1)
       unite=self.node.item.get_valeur()
       self.entry2 = Entry(self.frame_valeur,relief='sunken')
       self.entry2.place(relx=0.3,rely=0.1)