]> SALOME platform Git repositories - tools/eficas.git/blobdiff - Editeur/widgets.py
Salome HOME
PN
[tools/eficas.git] / Editeur / widgets.py
index 9505fa93ab8cb096614161091a28ba47ce8d40da..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()
 
@@ -789,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
@@ -834,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)
@@ -843,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],)
@@ -856,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()
@@ -877,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()
@@ -1198,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
@@ -1221,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)
@@ -1241,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):
         """