self.zone_texte.pack(side='top',fill='both',expand=1,padx=5,pady=10)
self.zone_texte.configure(yscrollcommand=self.scroll_v.set)
# définition des boutons
- self.but_quit = Button(self.frame_boutons,text = "Fermer",command=self.quit)
+ self.but_quit = Button(self.frame_boutons,text = "Fermer",command=self.quit,default='active')
self.but_save = Button(self.frame_boutons,text = "sauver",command = self.save)
self.but_quit.place(relx=0.4,rely=0.5,anchor='center')
self.but_save.place(relx=0.6,rely=0.5,anchor='center')
# affichage du texte
self.affiche_texte(self.texte)
+ self.zone_texte.config(state=DISABLED)
centerwindow(self.fenetre)
self.fenetre.deiconify()
label.bind("<Return>",lambda e,s=self,c=self.liste_commandes[2][1],x=objet,l=label : s.chooseitemsurligne(x,l,c))
label.bind("<KP_Enter>",lambda e,s=self,c=self.liste_commandes[2][1],x=objet,l=label : s.chooseitemsurligne(x,l,c))
label.bind("<Key-Right>",lambda e,s=self,x=objet,l=label : s.selectNextItem(x,l))
+ label.bind("<Key-Down>",lambda e, s=self,x=objet,l=label : s.selectNextItem(x,l))
label.bind("<Key-Left>" ,lambda e,s=self,x=objet,l=label : s.selectPrevItem(x,l))
+ label.bind("<Key-Up>" ,lambda e,s=self,x=objet,l=label : s.selectPrevItem(x,l))
if self.active == 'oui':
label.bind(self.liste_commandes[0][0],lambda e,s=self,c=self.liste_commandes[0][1],x=objet,l=label : s.selectitem(x,l,c))
label.bind(self.liste_commandes[1][0],lambda e,s=self,c=self.liste_commandes[1][1],x=objet,l=label : s.deselectitem(l,x,c))
self.MCbox.config(state=DISABLED)
self.selection = None
+ self.dontselect=0
for event,callback in self.liste_commandes:
if event == "<Enter>":
self.selection=None,None,callback
except AsException,e:
raison=str(e)
showerror(raison.split('\n')[0],raison)
-
+
def selectNextItem(self,mot,label):
index=self.liste.index(mot)
indexsuivant=index+1
labelsuivant=self.dico_labels[motsuivant]
index = self.MCbox.index(labelsuivant)
self.MCbox.see(index)
- self.selectitem(motsuivant,labelsuivant,self.selection[2],)
+ self.selectthis(motsuivant,labelsuivant,self.selection[2],)
+ self.dontselect=1
def selectPrevItem(self,mot,label):
index=self.liste.index(mot)
labelprec=self.dico_labels[motprec]
index = self.MCbox.index(labelprec)
self.MCbox.see(index)
- self.selectitem(motprec,labelprec,self.selection[2],)
+ self.selectthis(motprec,labelprec,self.selection[2],)
+ self.dontselect=1
- def selectitem(self,mot,label,commande) :
- """ Met l'item sélectionné (représenté par son label) en surbrillance
- et lance la commande associée au double-clic"""
+ def selectthis(self,mot,label,commande) :
self.clear_marque()
if self.selection != None :
self.deselectitem(self.selection[1],self.selection[0],self.selection[2],)
self.arg_selected = mot
if commande : commande(mot)
+ def selectitem(self,mot,label,commande) :
+ """ Met l'item sélectionné (représenté par son label) en surbrillance
+ et lance la commande associée au double-clic"""
+ if self.dontselect:
+ self.dontselect=0
+ return
+ self.selectthis(mot,label,commande)
+
def highlightitem(self,label) :
""" Met l'item représenté par son label en surbrillance """
label.focus_set()
return lign
def remove_selected_item(self):
- index=self.MCbox.index(self.selection[1])
+ try :
+ index=self.MCbox.index(self.selection[1])
+ except :
+ index=self.MCbox.index(self.dico_labels[self.arg_selected] )
lign,col=map(int,string.split(index,'.'))
del self.liste[lign-1]
self.affiche_liste()
self.MCbox.config(state=DISABLED)
self.selection = None
+ self.dontselect=0
for event,callback in self.liste_commandes:
if event == "<Enter>":
self.selection=None,None,callback
labelsuivant=self.dico_labels[co]
index = self.MCbox.index(labelsuivant)
self.MCbox.see(index)
- self.selectitem(co,labelsuivant,self.selection[2],)
+ self.selectthis(co,labelsuivant,self.selection[2],)
+ self.dontselect=1
def selectNextItem(self,mot,label,callback,group,cmd):
g=self.liste_groupes.index(group)
labelsuivant=self.dico_labels[co]
index = self.MCbox.index(labelsuivant)
self.MCbox.see(index)
- self.selectitem(co,labelsuivant,self.selection[2],)
+ self.selectthis(co,labelsuivant,self.selection[2],)
+ self.dontselect=1
def entry_changed(self,event=None):
"""