1 # -*- coding: utf-8 -*-
2 print "Import de panelsSalome"
5 from widgets import ListeChoix
6 from widgets import showerror
8 from fonctionpanel import FONCTION_Panel
9 from shellpanel import SHELLPanel
10 from plusieursintopanel import PLUSIEURS_INTO_Panel
11 from plusieursassdpanel import PLUSIEURS_ASSD_Panel
12 from plusieursbasepanel import PLUSIEURS_BASE_Panel
13 from plusieursbasepanel import PLUSIEURS_BASE_OR_UNELISTE_Panel
14 from uniquesdcopanel import UNIQUE_SDCO_Panel
15 from uniqueassdpanel import UNIQUE_ASSD_Panel
16 from uniqueintopanel import UNIQUE_INTO_Panel
17 from uniquecomppanel import UNIQUE_COMP_Panel
18 from uniquebasepanel import UNIQUE_BASE_Panel
19 from uniqueassdpanel import UNIQUE_ASSD_Panel_Reel
21 from Noyau.N_CR import justify_text
25 import salome # CS_pbruno à poubelliser
28 #sgQt=SalomePyQt.SalomePyQt()
32 # 2 types de commandes vont etre particularisees dans Salome
35 # Toutes les commandes possedant GROUP_NO ou GROUP_MA
36 # seront surchargees d office
37 # pour cela on va utiliser le dictionnaire dict_classes_salome
38 # qui va permettre de changer la classe de la commande
39 # ainsi si un panel en dehors de salome a pour classe PLUSIEURS_BASE_Panel
40 # la classe de ce panel devient alors SALOME_PLUSIEURS_BASE_Panel
41 # (pour cela voir composimp)
43 # des commandes "autres" ne pouvant pas etre identifiées par leur nom
44 # il suffit de creer dans la classe SALOME de la commande
45 # une fonction portant son nom
46 # Exemple de particularisation d un panel :
47 # Supposons que l on veuille particulariser la commande
48 # - LIRE_MAILLAGE_UNITE
49 # le panel initial a pour classe UNIQUE_BASE_Panel
50 # il suffit d'ajouter dans la classe derivée SALOME_UNIQUE_BASE_Panel
51 # une fonction SALOME_LIRE_MAILLAGE_UNITE
52 # la classe de ce panel devient alors SALOME_UNIQUE_BASE_Panel
53 # on peut surcharger les methodes nécessaires (affichage par exemple)
56 class SALOME_SHELLPanel (SHELLPanel):
59 class SALOME_FONCTION_Panel (FONCTION_Panel):
62 class SALOME_PLUSIEURS_INTO_Panel (PLUSIEURS_INTO_Panel):
65 class SALOME_PLUSIEURS_ASSD_Panel (PLUSIEURS_ASSD_Panel):
68 class SALOME_UNIQUE_INTO_Panel (UNIQUE_INTO_Panel):
71 class SALOME_UNIQUE_SDCO_Panel (UNIQUE_SDCO_Panel):
74 class SALOME_UNIQUE_ASSD_Panel (UNIQUE_ASSD_Panel):
77 class SALOME_UNIQUE_COMP_Panel (UNIQUE_COMP_Panel):
80 class SALOME_UNIQUE_ASSD_Panel_Reel (UNIQUE_ASSD_Panel_Reel):
83 # ------------------------------------------------------------------------------#
84 # classe SALOME_PLUSIEURS_BASE_Panel
86 # Commandes modifiées :
87 # - AFFE_CHAR_MECA_DDL_IMPO_GROUP_NO
88 # Methodes surchargées :
89 # - makeValeurPage(self,page)
91 # ------------------------------------------------------------------------------#
93 class SALOME_PLUSIEURS_BASE_OR_UNELISTE_Panel(PLUSIEURS_BASE_OR_UNELISTE_Panel):
98 class SALOME_PLUSIEURS_BASE_Panel(PLUSIEURS_BASE_Panel):
100 def __init__(self,parent,panneau,node):
101 PLUSIEURS_BASE_Panel.__init__( self, parent, panneau, node )
102 self.selected_valeur = None
104 def add_valeur_plusieurs_base(self,name=None):
106 valeur,validite,commentaire=self.get_valeur()
107 #print 'add_valeur_plusieurs_base', name
108 #print 'valeur = %s, validite = %s,commentaire = %s'%( valeur,validite,commentaire )
109 if not valeur: # sélection dans salome
110 #print 'CS_pbruno selection SALOME'
113 selection, msg = self.parent.appli.selectGroupFromSalome()
115 #print 'CS_pbruno selection SALOME selection ->',selection
116 #print 'CS_pbruno selection SALOME msg ->',msg
119 for oneSelection in selection:
120 strSelection +=str( oneSelection )
123 strSelection = strSelection.rstrip(',')
124 #print 'CS_pbruno selection SALOME strSelection ->',strSelection
126 self.display_valeur( strSelection )
128 PLUSIEURS_BASE_Panel.add_valeur_plusieurs_base( self, name )
130 self.parent.appli.affiche_infos(msg)
133 print ' erreur add_valeur_plusieurs_base' #CS_pbruno : afficher boite de dialogue ici ?
135 def makeValeurPage(self,page):
137 Crée la page de saisie d'une liste de valeurs à priori quelconques,
138 cad qui ne sont pas à choisir dans une liste prédéfinie
140 PLUSIEURS_BASE_Panel.makeValeurPage(self,page)
141 self.c = Button( self.frame_choix, text='Visualiser',command=self.displayInSalomeGeom )
142 self.c.place( relx=0.3, rely=0.0,relwidth=0.55)
144 #self.c.place(relx=0.08,rely=0.55,relwidth=0.35)
145 #self.c.place(relx=0.08,rely=0.55 )
147 def displayInSalomeGeom( self ):
148 if self.selected_valeur:
149 ok, msgError = self.parent.appli.displayShape( self.selected_valeur )
151 self.parent.appli.affiche_infos(msgError)
155 class SALOME_PLUSIEURS_BASE_Panel(PLUSIEURS_BASE_Panel):
157 def convertit_group_no_from_salome(self,liste_in):
161 for entree in liste_in :
163 travail.append(entree)
164 entryname_list=SMESH_utils.entryToName(salome.myStudy,travail)
165 entreeName=entryname_list[0]
166 if dict_geom_numgroupe.has_key(entreeName):
167 r=dict_geom_numgroupe[entreeName]
169 r=SMESH_utils.getAsterGroupNo(salome.myStudy,travail)
170 dict_geom_numgroupe[entreeName]=r
175 print "pas de groupe de noeuds associé"
176 showerror("Pas de groupe associé","Cet Objet ne peut pas être défini comme un ensemble de groupe de noeuds")
179 def convertit_group_maille_from_salome(self,liste_in):
184 for entree in liste_in :
186 travail.append(entree)
187 entryname_list=SMESH_utils.entryToName(salome.myStudy,travail)
188 entreeName=entryname_list[0]
189 if dict_geom_numgroupe.has_key(entreeName):
190 r=dict_geom_numgroupe[entreeName]
192 r=SMESH_utils.getAsterGroupMa(salome.myStudy,travail)
193 dict_geom_numgroupe[entreeName]=r
199 print "pas de groupe de maille associé"
200 showerror("Pas de groupe associé","Cet Objet ne peut pas être défini comme un ensemble de groupe de maille")
203 def convertit_entrees_en_valeurs(self,entrychaine):
204 if SALOME_PLUSIEURS_BASE_OR_UNELISTE_Panel.__dict__.has_key(self.clef_fonction):
205 print 'CS_pbruno AAAAAAAAAAAAA'
206 valeur=apply(SALOME_PLUSIEURS_BASE_OR_UNELISTE_Panel.__dict__[self.clef_fonction],(self,entrychaine))
208 if (self.clef_fonction.find("GROUP_NO") != -1) and (self.clef_fonction.find("GROUP_MA") != -1) :
209 print 'CS_pbruno BBBBBBBBBBBBBBBBBBB'
210 if (self.clef_fonction.find("GROUP_NO") < self.clef_fonction.find("GROUP_MA")) :
211 print 'CS_pbruno CCCCCCCCCCCCCCCCCCCCCCCCCC'
212 valeur=self.convertit_group_maille_from_salome(entrychaine)
214 print 'CS_pbruno DDDDDDDDDDDDDDDDDDDDDDDDD'
215 valeur=self.convertit_group_no_from_salome(entrychaine)
216 elif self.clef_fonction.find("GROUP_NO") != -1 :
217 print 'CS_pbruno EEEEEEEEEEEEEEEEEEEEEEEEE'
218 valeur=self.convertit_group_no_from_salome(entrychaine)
220 print 'CS_pbruno FFFFFFFFFFFFFFFFFFFFFFFF'
221 if self.clef_fonction.find("GROUP_MA") != -1 :
222 print 'CS_pbruno GGGGGGGGGGGGGGGGGGGGGGGGGGG'
223 valeur=self.convertit_group_maille_from_salome(entrychaine)
225 print 'CS_pbruno HHHHHHHHHHHHHHHHHHHHHH'
226 print "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
227 print "Pb pas de fonction de conversion de la valeur Salome en valeur Aster"
228 print "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
230 print "VALEUR", valeur
233 def sup_valeur_from_salome(self,name=None):
235 Méthode qui sert à retirer de la liste des valeurs la valeur sélectionnée
237 liste_valeurs = self.Liste_valeurs.get_liste()
238 liste_valeurs_salome=self.Liste_valeurs_salome.get_liste()
239 entrychaine=salome.sg.getAllSelected()
242 valeur = self.convertit_entrees_en_valeurs(entrychaine)
244 if i in liste_valeurs :
245 liste_valeurs.remove(i)
248 # la valeur sélectionnée n'est pas dans la liste
251 entryname_list=SMESH_utils.entryToName(salome.myStudy,entrychaine)
252 self.entrygroupe.delete(0,END)
253 self.sortie.delete(0,END)
254 for entryname in entryname_list:
256 liste_valeurs_salome.remove(entryname)
258 print "la valeur ", entryname, "n est pas dans la liste"
259 entryname=entryname + " "
260 self.sortie.insert(0,entryname)
261 self.selected_valeur = None
262 self.Liste_valeurs.put_liste(liste_valeurs)
263 self.Liste_valeurs_salome.put_liste(liste_valeurs_salome)
266 def visu_in_salome(self):
267 liste_valeurs = self.Liste_valeurs.get_liste()
268 entryname_list=SMESH_utils.VisuGroupe(salome.myStudy,liste_valeurs)
270 def visu3D_in_salome(self):
271 liste_valeurs = self.Liste_valeurs.get_liste()
272 entryname_list=SMESH_utils.VisuGroupe(salome.myStudy,liste_valeurs)
275 liste_valeurs_salome=self.Liste_valeurs_salome.get_liste()
277 liste_valeurs = self.Liste_valeurs.get_liste()
278 for valeur in liste_valeurs_salome:
279 r=dict_geom_numgroupe[valeur]
281 if i not in liste_valeurs :
282 liste_valeurs.append(i)
283 self.Liste_valeurs.put_liste(liste_valeurs)
286 def add_valeur_from_salome(self,name=None):
287 entrychaine=salome.sg.getAllSelected()
288 self.sortie.delete(0,END)
289 self.entrygroupe.delete(0,END)
290 if entrychaine != '':
291 entryname_list=SMESH_utils.entryToName(salome.myStudy,entrychaine)
292 touteslesvaleurs = self.convertit_entrees_en_valeurs(entrychaine)
295 liste_valeurs = self.Liste_valeurs.get_liste()
296 for i in touteslesvaleurs:
297 if i not in liste_valeurs:
303 liste_valeurs_salome = self.Liste_valeurs_salome.get_liste()
304 for entryname in entryname_list:
305 if entryname not in liste_valeurs_salome:
306 liste_valeurs_salome.append(entryname)
307 entryname=entryname + " "
308 self.entrygroupe.insert(0,entryname)
309 self.Liste_valeurs_salome.put_liste(liste_valeurs_salome)
311 if self.node.item.wait_reel():
313 valeur = self.traite_reel(valeur)
314 if self.node.item.wait_geom():
319 val,test1 = self.node.item.object.eval_valeur(valeur)
322 test2 = self.node.item.object.verif_type(val)
324 liste_valeurs = self.Liste_valeurs.get_liste()
325 if len(liste_valeurs) >= max :
326 self.parent.appli.affiche_infos("La liste a déjà atteint le nombre maximum d'éléments, ajout refusé")
329 if type(val) == type([]):
331 liste_valeurs.append(groupe)
333 liste_valeurs.append(val)
334 self.Liste_valeurs.put_liste(liste_valeurs)
335 self.parent.appli.affiche_infos("Nouvelle valeur acceptée")
337 self.parent.appli.affiche_infos("Valeur incorrecte : ajout à la liste refusé")
339 print "impossible d'évaluer %s" %val
340 self.parent.appli.affiche_infos("Valeur incorrecte : ajout à la liste refusé")
343 def makeValeurPage(self,page):
345 Crée la page de saisie d'une liste de valeurs à priori quelconques,
346 cad qui ne sont pas à choisir dans une liste prédéfinie
349 # On récupère la bulle d'aide du panneau, l'objet, l'aide,min et max (cardinalité de la liste),
350 # et la liste des valeurs déjà affectées à l'objet courant
351 bulle_aide=self.get_bulle_aide()
352 objet_mc = self.node.item.get_definition()
353 aide = self.get_aide()
354 aide = justify_text(texte=aide)
355 min,max = self.node.item.GetMinMax()
356 self.clef_fonction= self.node.item.clef_fonction
357 l_valeurs = self.node.item.GetListeValeurs()
359 self.frame1 = Frame(page,relief='groove',bd=2)
360 self.frame2 = Frame(page)
361 self.frame1.place(relx=0.,rely=0.,relwidth=1.,relheight=0.85)
362 self.frame2.place(relx=0.,rely=0.85,relwidth=1,relheight=0.15)
363 self.frame_right = Frame(self.frame1)
364 self.frame_right.place(relx=0.35,rely=0.,relwidth=0.65,relheight=1.)
366 # création des frames internes
367 self.frame_valeurs = Frame(self.frame1)
368 self.frame_valeurs.place(relx=0.0,rely=0.0,relwidth=0.35,relheight=0.95)
370 self.frame_choix = Frame(self.frame_right)
371 self.frame_choix.place(relx=0.0,rely=0.0,relwidth=1,relheight=0.9)
372 self.frame_valeurs_salome = Frame(self.frame_right)
373 self.frame_valeurs_salome.place(relx=0.02,rely=0.7,relwidth=0.9,relheight=0.3)
375 self.frame_boutons = Frame(self.frame2)
376 self.frame_boutons.place(relx=0.1,rely=0.,relwidth=0.5,relheight=1.)
377 self.frame_aide = Frame(self.frame2)
378 self.frame_aide.place(relx=0.6,rely=0.,relwidth=0.5,relheight=1)
380 for fram in (self.frame1,self.frame2,self.frame_right,self.frame_valeurs,
381 self.frame_choix,self.frame_aide,self.frame_boutons):
382 fram.bind("<Button-3>",lambda e,s=self,a=bulle_aide : s.parent.appli.affiche_aide(e,a))
383 fram.bind("<ButtonRelease-3>",self.parent.appli.efface_aide)
385 # création des objets dans les frames
386 liste_commandes_valeurs = (("<Button-1>",self.selectValeur),
387 ("<Button-3>",self.deselectValeur),
388 ("<Double-Button-1>",self.sup_valeur_sans_into))
389 self.Liste_valeurs = ListeChoix(self,self.frame_valeurs,l_valeurs,
390 liste_commandes = liste_commandes_valeurs,
391 titre="Valeur(s) actuelle(s)")
393 # PN : pour ajouter les validators
394 self.make_entry(frame = self.frame_choix,command = self.add_valeur_plusieurs_base,y=0.55)
396 bouton_valeurs_fichier = Button(self.frame_choix,
398 command=self.select_in_file)
399 bouton_valeurs_fichier.place(relx=0.28,rely=0.65,relwidth=0.6)
401 self.ajout_valeurs = None
402 self.b = Button(self.frame_choix,text='ajout select.',command=self.add_valeur_from_salome)
404 self.b.place(relx=0.03,rely=0.05,relwidth=0.35)
405 self.entrygroupe = Entry(self.frame_choix,relief='sunken')
406 self.entrygroupe.place(relx=0.4,rely=0.05,relwidth=0.6)
408 self.a = Button(self.frame_choix,text='enlev. select.',command=self.sup_valeur_from_salome)
409 self.a.place(relx=0.03,rely=0.2,relwidth=0.35)
410 self.sortie = Entry(self.frame_choix,relief='sunken')
411 self.sortie.place(relx=0.4,rely=0.2,relwidth=0.6)
412 self.c = Button(self.frame_choix,text='Visualiser',command=self.visu_in_salome)
413 self.c.place(relx=0.03,rely=0.35,relwidth=0.35)
415 self.genea =self.node.item.get_genealogie()
417 if "AFFE_CARA_ELEM" in self.genea :
418 self.d=Button(self.frame_choix,text='Visu 3D',command=self.visu3D_in_salome)
419 self.d.place(relx=0.47,rely=0.35,relwidth=0.35)
421 l_salome_valeurs=self.node.item.get_salome_valeurs()
422 self.Liste_valeurs_salome=ListeChoix(self,self.frame_valeurs_salome,l_salome_valeurs,
423 liste_commandes = liste_commandes_valeurs,
424 titre="Valeur(s) Salome actuelle(s) ")
425 self.Liste_valeurs_salome.affiche_liste()
428 # boutons Ajouter et Supprimer
429 bouton_add = Button(self.frame_choix,
430 image = images.get_image('arrow_left'),
431 command = self.add_valeur_plusieurs_base)
432 bouton_sup = Button(self.frame_choix,
433 image = images.get_image('arrow_right'),
434 command = self.sup_valeur_sans_into)
435 bouton_add.place(relx=0.08,rely=0.55)
436 bouton_sup.place(relx=0.08,rely=0.65)
438 # affichage de l'aide
439 self.frame_aide.update()
440 self.aide = Label(self.frame_aide, text = aide,
441 justify='center', anchor='center',
442 wraplength=int(self.frame_aide.winfo_width()*0.8))
443 self.aide.place(relx=0.5,rely=0.5,anchor='center',relwidth=1)
444 self.Liste_valeurs.affiche_liste()
446 # boutons Accepter et Annuler
447 bouton_accepter = Button(self.frame_boutons,
449 command = lambda s=self,m=min,M=max : s.accepte_modifs_valeur(m,M))
450 bouton_annuler = Button(self.frame_boutons,
452 command = self.annule_modifs_valeur)
453 for but in (bouton_accepter,bouton_annuler):
454 but.pack(side='left',padx=5)
459 # ------------------------------------------------------------------------------#
460 # classe SALOME_UNIQUE_BASE_Panel
462 # Commandes modifiées :
463 # - LIRE_MAILLAGE_UNITE
464 # Methodes surchargées :
465 # - makeValeurPage(self,page)
467 # ------------------------------------------------------------------------------#
469 class SALOME_UNIQUE_BASE_Panel(UNIQUE_BASE_Panel):
471 # ce dictionnaire va servir lors de la sortie d efficas
472 # a creer le fichier qui sera integre au config.txt
473 # pour relier une unite logique et un nom de fichier
475 dict_fichier_unite={}
478 def SALOME_DONNEES_HOMARD_FICHIER_MED_MAILLAGE_N(self):
479 entrychaine=salome.sg.getAllSelected()
480 if entrychaine != '':
481 self.entry2.delete(0,END)
483 SO = salome.myStudy.FindObjectID(entrychaine[0])
490 myBuilder = salome.myStudy.NewBuilder()
491 boo,FileAttr = myBuilder.FindAttribute(SO,"AttributeFileType")
494 if (val !="FICHIERMED" and val != "FICHIER_RESU_MED"):
496 showerror("Pas de Fichier MED","Cet Objet n a pas de fichier MED Associ\xe9")
498 boo,FileAttr = myBuilder.FindAttribute(SO,"AttributeExternalFileDef")
500 FileName=FileAttr.Value()
502 showerror("Pas de Fichier MED","Cet Objet n a pas de fichier MED Associ\xe9")
504 self.entry2.insert(0,FileName)
505 self.entry.delete(0,END)
506 self.entry.insert(0,FileName)
510 def SALOME_DONNEES_HOMARD_TRAITEMENT_NOM_MED_MAILLAGE_N(self):
512 entrychaine=salome.sg.getAllSelected()
513 if entrychaine != '':
514 self.entry2.delete(0,END)
516 SO = salome.myStudy.FindObjectID(entrychaine[0])
522 myBuilder = salome.myStudy.NewBuilder()
523 ok, AtName = myBuilder.FindAttribute(SO,"AttributeName")
525 EntryName=AtName.Value()
528 self.entry2.insert(0,EntryName)
529 self.entry.delete(0,END)
530 self.entry.insert(0,EntryName)
533 def SALOME_DONNEES_HOMARD_FICHIER_MED_MAILLAGE_NP1(self):
534 self.SALOME_DONNEES_HOMARD_FICHIER_MED_MAILLAGE_N()
537 # def SALOME_LIRE_MAILLAGE_UNITE(self):
539 # unite=self.node.item.get_valeur()
540 # entrychaine=salome.sg.getAllSelected()
541 # if entrychaine != '':
542 # self.entry2.delete(0,END)
545 # SO = salome.myStudy.FindObjectID(entrychaine[0])
551 # myBuilder = salome.myStudy.NewBuilder()
552 # boo,FileAttr = myBuilder.FindAttribute(SO,"AttributeComment")
556 # myBuilder = salome.myStudy.NewBuilder()
557 # boo,FileAttr = myBuilder.FindAttribute(SO,"AttributeFileType")
560 # val=FileAttr.Value()
561 # if (val !="FICHIERMED"):
562 # showerror("Pas de Fichier MED","Cet Objet n a pas de fichier MED Associ\xe9")
564 # boo,FileAttr = myBuilder.FindAttribute(SO,"AttributeExternalFileDef")
566 # FileName=FileAttr.Value()
568 # showerror("Pas de Fichier MED","Cet Objet n a pas de fichier MED Associ\xe9")
570 # print "FileName = " , FileName
571 # if FileName != '' :
572 # self.entry2.insert(0,FileName)
574 # SALOME_UNIQUE_BASE_Panel.dict_fichier_unite[unite]=typefic+FileName
576 # print "il faut afficher une Fenetre d impossibilit\xe9"
577 # showerror("Pas de Fichier MED","Cet Objet n a pas de fichier MED Associ\xe9")
579 def redistribue_selon_simp(self):
580 genea = self.node.item.get_genealogie()
582 for i in range(0,len( genea )) :
583 commande=commande+"_"+ genea[i]
584 (SALOME_UNIQUE_BASE_Panel.__dict__[commande])(self)
587 def makeValeurPage(self,page):
589 Génère la page de saisie de la valeur du mot-clé simple courant qui doit être de type
590 de base cad entier, réel, string ou complexe
592 # Récupération de l'aide associée au panneau, de l'aide destinée à l'utilisateur,
593 # et de la liste des SD du bon type (constituant la liste des choix)
594 bulle_aide=self.get_bulle_aide()
596 aide= justify_text(texte=aide)
597 liste_noms_sd = self.node.item.get_sd_avant_du_bon_type()
598 # Remplissage du panneau
599 self.frame_valeur = Frame(page)
600 self.frame_valeur.pack(fill='both',expand=1)
601 self.frame_valeur.bind("<Button-3>",lambda e,s=self,a=bulle_aide : s.parent.appli.affiche_aide(e,a))
602 self.frame_valeur.bind("<ButtonRelease-3>",self.parent.appli.efface_aide)
603 self.label = Label(self.frame_valeur,text='Valeur :')
604 self.label.place(relx=0.1,rely=0.5)
605 self.entry = Entry(self.frame_valeur,relief='sunken')
606 self.entry.place(relx=0.28,rely=0.5,relwidth=0.6)
607 self.entry.bind("<Return>",lambda e,c=self.valid_valeur:c())
608 self.entry.bind("<KP_Enter>",lambda e,c=self.valid_valeur:c())
610 # PN : Ajout d'un bouton pour selectionner à partir de Salome
611 self.b = Button(self.frame_valeur,text='Relier selection',command=self.redistribue_selon_simp)
612 self.b.place(relx=0.05,rely=0.1)
613 unite=self.node.item.get_valeur()
614 self.entry2 = Entry(self.frame_valeur,relief='sunken')
615 self.entry2.place(relx=0.3,rely=0.1)
616 self.entry2.configure(width = 250)
618 if SALOME_UNIQUE_BASE_Panel.dict_fichier_unite.has_key(unite):
619 associe=SALOME_UNIQUE_BASE_Panel.dict_fichier_unite[unite][1:]
620 self.entry2.delete(0,END)
622 self.entry2.insert(0,associe)
624 self.entry2.delete(0,END)
626 # aide associée au panneau
627 self.frame_valeur.update()
628 self.aide = Label(self.frame_valeur,
630 wraplength=int(self.frame_valeur.winfo_width()*0.8),
632 self.aide.place(relx=0.5,rely=0.7,anchor='n')
633 # affichage de la valeur du MCS
634 self.display_valeur()
636 #---------------------------------------------------------------------------------------
637 # Correspondances entre les classes eficas et les classes salome_eficas
638 #______________________________________________________________________________________
639 dict_classes_salome = { SHELLPanel : SALOME_SHELLPanel,
640 FONCTION_Panel : SALOME_FONCTION_Panel,
641 PLUSIEURS_INTO_Panel : SALOME_PLUSIEURS_INTO_Panel,
642 PLUSIEURS_ASSD_Panel : SALOME_PLUSIEURS_ASSD_Panel,
643 PLUSIEURS_BASE_Panel : SALOME_PLUSIEURS_BASE_Panel,
644 PLUSIEURS_BASE_OR_UNELISTE_Panel : SALOME_PLUSIEURS_BASE_OR_UNELISTE_Panel,
645 UNIQUE_INTO_Panel : SALOME_UNIQUE_INTO_Panel,
646 UNIQUE_SDCO_Panel : SALOME_UNIQUE_SDCO_Panel,
647 UNIQUE_ASSD_Panel : SALOME_UNIQUE_ASSD_Panel,
648 UNIQUE_ASSD_Panel_Reel : SALOME_UNIQUE_ASSD_Panel_Reel,
649 UNIQUE_COMP_Panel : SALOME_UNIQUE_COMP_Panel,
650 UNIQUE_BASE_Panel : SALOME_UNIQUE_BASE_Panel}
652 dict_geom_numgroupe = { }
653 dict_geom_numface = { }