]> SALOME platform Git repositories - modules/eficas.git/commitdiff
Salome HOME
Report du patch pour Salome
authorPascale Noyret <pascale.noyret@edf.fr>
Tue, 12 Jun 2007 08:27:10 +0000 (08:27 +0000)
committerPascale Noyret <pascale.noyret@edf.fr>
Tue, 12 Jun 2007 08:27:10 +0000 (08:27 +0000)
Editeur/widgets.py

index ef17d3cbacddaaebd4f41f0f1d42cd78ce73f209..83c51ffc87e9df391611f985b15bb2c30c45c9f8 100644 (file)
@@ -232,15 +232,14 @@ class FenetreDeSelection(Fenetre):
         Cette classe est utilisée pour affecter une liste de valeurs à un mot-clé.
     """
     def __init__(self,panel,item,appli,titre="",texte="",cardinal=1):
-        Fenetre.__init__(self,appli,titre=titre,texte=texte,width = 30,height=20)
-        #Fenetre.__init__(self,appli,titre=titre,texte=texte)
-        #self.frame_boutons.place_forget()
-        #self.frame_texte.place_forget()
-        #self.frame_texte.place(relx=0,rely=0,relwidth=1,relheight=0.8)
-        #self.frame_boutons.place(relheight=0.2,relx=0,rely=0.8,relwidth=1.)
+        Fenetre.__init__(self,appli,titre=titre,texte=texte)
+        self.frame_boutons.place_forget()
+        self.frame_texte.place_forget()
+        self.frame_texte.place(relx=0,rely=0,relwidth=1,relheight=0.8)
+        self.frame_boutons.place(relheight=0.2,relx=0,rely=0.8,relwidth=1.)
 
         self.cardinal=cardinal
-        #self.fenetre.configure(width = 320,height=400)
+        self.fenetre.configure(width = 320,height=400)
         centerwindow(self.fenetre)
         self.panel = panel
         self.item = item
@@ -257,21 +256,15 @@ class FenetreDeSelection(Fenetre):
                                       selectioncommand = self.choose_separateur,
                                       scrolledlist_items = l_separateurs_autorises)
         self.choix_sep.component('entry').configure(width=6)
-        #self.choix_sep.place(relx=0.01,rely=0.5,anchor='w')
-        self.choix_sep.pack(side='left',padx=5, pady=5)
+        self.choix_sep.place(relx=0.01,rely=0.5,anchor='w')
         self.choix_sep.selectitem(self.separateur)
         # Replacement
-        #self.but_quit.place_forget()
-        #self.but_save.place_forget()
-        self.but_quit.pack_forget()
-        self.but_save.pack_forget()
+        self.but_quit.place_forget()
+        self.but_save.place_forget()
         self.but_all  = Button(self.frame_boutons,text = "Tout Sélectionner", command=self.tout)
-        #self.but_save.place(relx=0.6,rely=0.6,anchor='center')
-        #self.but_quit.place(relx=0.8,rely=0.6,anchor='center')
-        #self.but_all.place(relx=0.7,rely=0.2,anchor='center')
-        self.but_save.pack(side='left',padx=5, pady=5)
-        self.but_quit.pack(side='right',padx=5, pady=5)
-        self.but_all.pack(side='left',padx=5, pady=5)
+        self.but_save.place(relx=0.6,rely=0.6,anchor='center')
+        self.but_quit.place(relx=0.8,rely=0.6,anchor='center')
+        self.but_all.place(relx=0.7,rely=0.2,anchor='center')
         self.choose_separateur('espace')
      
 
@@ -751,8 +744,10 @@ class ListeChoix :
         self.page = page
         self.liste = liste
         self.dico_labels={}
+        self.dico_mots={}
         self.nBlabel = 0
         self.dico_place={}
+       self.dico_mots={}
         self.selection = None
         self.liste_commandes = liste_commandes
         self.liste_marques = liste_marques
@@ -838,6 +833,7 @@ class ListeChoix :
                         fg = 'black',bg = 'gray95',justify = 'left')
           self.dico_labels[mot]=label
           self.dico_place[mot]=self.nBlabel
+         self.dico_mots[label]=mot
           self.nBlabel=self.nBlabel+1
           liste_labels.append(label)
           self.MCbox.window_create(END,
@@ -969,16 +965,23 @@ class ListeChoix :
         if commande and mot : commande(mot)
 
     def cherche_selected_item(self):
-        index=self.MCbox.index(self.selection[1])
-        lign,col=map(int,string.split(index,'.'))
+        try :
+           index=self.MCbox.index(self.selection[1])
+           lign,col=map(int,string.split(index,'.'))
+        except :
+          label=self.dico_labels[self.arg_selected]
+           mot=self.dico_mots[label] 
+           lign=self.dico_place[mot]+1
         return lign
 
     def remove_selected_item(self):
         try :
            index=self.MCbox.index(self.selection[1])
+           lign,col=map(int,string.split(index,'.'))
         except :
-           index=self.MCbox.index(self.dico_labels[self.arg_selected] )
-        lign,col=map(int,string.split(index,'.'))
+          label=self.dico_labels[self.arg_selected]
+           mot=self.dico_mots[label] 
+           lign=self.dico_place[mot]+1
         del self.liste[lign-1]
         self.affiche_liste()
 
@@ -1195,13 +1198,10 @@ class ListeChoixParGroupes(ListeChoix) :
         Cette classe est utilisée pour afficher une liste de commandes classées par
         groupes. L'utilisateur peut réaliser des actions de selection
         qui déclenchent des actions spécifiées par les bindings contenus dans liste_commandes
-
-        Exemple de binding::
-
+        Exemple de binding:
            liste_commandes = (("<Enter>",self.selectCmd),
                               ("<Leave>",self.deselectCmd),
                               ("<Double-Button-1>",self.defCmd))
-
         Il s'agit d'une liste de doublets dont le premier element est un evenement et le 
         deuxieme un callback a appeler sur l'evenement en question.
 
@@ -1227,6 +1227,7 @@ class ListeChoixParGroupes(ListeChoix) :
     def affiche_liste(self):
         """ Affiche la liste dans la fenêtre"""
         liste_labels=[]
+       self.dico_mots={}
         self.MCbox.config(state=NORMAL)
         self.MCbox.delete(1.0,END)
         for grp in self.liste_groupes:
@@ -1251,6 +1252,7 @@ class ListeChoixParGroupes(ListeChoix) :
                         fg = 'black',bg = 'gray95',justify = 'left')
               # On stocke la relation entre le nom de la commande et le label
               self.dico_labels[cmd]=label
+             self.dico_mots[label]=cmd
               self.MCbox.window_create(END,
                                    window=label,
                                    stretch = 1)