]> SALOME platform Git repositories - tools/eficas.git/blobdiff - Editeur/widgets.py
Salome HOME
PN
[tools/eficas.git] / Editeur / widgets.py
index dd47075c19b2897a9f39f234e472b7334f9c67f8..4f8ab2c5491bd4ff2518fe7a9fe54a64d208dab2 100644 (file)
@@ -83,12 +83,13 @@ class Fenetre :
         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()
 
@@ -773,7 +774,9 @@ class ListeChoix :
               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))
@@ -787,6 +790,7 @@ class ListeChoix :
 
         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
@@ -822,7 +826,7 @@ class ListeChoix :
         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
@@ -832,7 +836,8 @@ class ListeChoix :
         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)
@@ -841,11 +846,10 @@ class ListeChoix :
         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],)
@@ -854,6 +858,14 @@ class ListeChoix :
         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()
@@ -875,7 +887,10 @@ class ListeChoix :
         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()
@@ -1196,6 +1211,7 @@ class ListeChoixParGroupes(ListeChoix) :
 
         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
@@ -1219,7 +1235,8 @@ class ListeChoixParGroupes(ListeChoix) :
         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)
@@ -1239,7 +1256,8 @@ class ListeChoixParGroupes(ListeChoix) :
         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):
         """