From 4475fb98e3b746af552a794135fb2aa486e8146c Mon Sep 17 00:00:00 2001 From: Pascale Noyret Date: Tue, 12 Jun 2007 08:27:10 +0000 Subject: [PATCH] Report du patch pour Salome --- Editeur/widgets.py | 56 ++++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/Editeur/widgets.py b/Editeur/widgets.py index ef17d3cb..83c51ffc 100644 --- a/Editeur/widgets.py +++ b/Editeur/widgets.py @@ -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 = (("",self.selectCmd), ("",self.deselectCmd), ("",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) -- 2.39.2