From 9b78917bc8021f434e6dad147e8d7e70b066239e Mon Sep 17 00:00:00 2001 From: eficas <> Date: Fri, 18 Nov 2005 15:58:43 +0000 Subject: [PATCH] =?utf8?q?PN=20:=20pour=20d=C3=A9placement=20dans=20l=20ar?= =?utf8?q?bre?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Editeur/bureau.py | 11 +++++++++++ Editeur/panels.py | 14 +++++++++----- Editeur/treewidget.py | 43 ++++++++++++++++++++++++++++++++----------- Editeur/widgets.py | 4 +++- 4 files changed, 55 insertions(+), 17 deletions(-) diff --git a/Editeur/bureau.py b/Editeur/bureau.py index c67df204..7f960dc4 100644 --- a/Editeur/bureau.py +++ b/Editeur/bureau.py @@ -141,6 +141,7 @@ class BUREAU: self.JDCDisplay_courant.select() #print "selectJDC",numero_jdc,self.JDCDisplay_courant,self.JDCName + def newJDC_include(self,event=None): """ Initialise un nouveau JDC vierge @@ -386,6 +387,16 @@ class BUREAU: self.appli.top.update() self.visuCR(mode='JDC') # On a ouvert un Patron + self.nb.bind_all("",lambda e,s=self:s.selectArbreDown()) + self.nb.bind_all("",lambda e,s=self:s.selectArbreUp()) + + def selectArbreDown(self): + self.JDCDisplay_courant.tree.tree.canvas.focus_set() + self.JDCDisplay_courant.tree.tree.mot_down_force() + + def selectArbreUp(self): + self.JDCDisplay_courant.tree.tree.canvas.focus_set() + self.JDCDisplay_courant.tree.tree.mot_up_force() def GetLabelJDC(self,nb_jdc = 'absent'): """ diff --git a/Editeur/panels.py b/Editeur/panels.py index ba98e8a5..0a12e119 100644 --- a/Editeur/panels.py +++ b/Editeur/panels.py @@ -308,6 +308,7 @@ class OngletPanel(Panel) : """ self.label = Label(page,text='Nom du concept :') self.label.place(relx=0.1,rely=0.4) + self.label.bind("",lambda e,s=self:s.execTutu()) self._any = Entry(page,relief='sunken') self._any.place(relx=0.35,rely=0.4,relwidth=0.5) self._any.bind("",lambda e,s=self:s.execConcept()) @@ -325,6 +326,7 @@ class OngletPanel(Panel) : page.bind("", lambda e,s=self,a=bulle_aide : s.parent.appli.affiche_aide(e,a)) page.bind("",self.parent.appli.efface_aide) + def makeMoclesPage(self,page): """ Crée la page qui affiche la liste des mots-clés que l'on peut @@ -336,13 +338,15 @@ class OngletPanel(Panel) : liste_commandes = (("",self.selectMC), ("",self.deselectMC), ("",self.defMC)) - Liste = ListeChoix(self,page,liste_mc,liste_commandes = liste_commandes,titre = "Mots-clés permis") + Liste = ListeChoix(self,page,liste_mc,liste_commandes = liste_commandes,titre = "Mots-clés permis",optionReturn="oui") Liste.affiche_liste() # aide associée au panneau bulle_aide="""Double-cliquez sur le mot-clé que vous voulez ajouter à la commande en cours d'édition""" Liste.MCbox.bind("", lambda e,s=self,a=bulle_aide : s.parent.appli.affiche_aide(e,a)) Liste.MCbox.bind("",self.parent.appli.efface_aide) + if len(liste_mc) > 0 : + Liste.surligne(liste_mc[0]) def makeCommentairePage(self,page): label = Label(page,text = "Insérer un commentaire :") @@ -458,8 +462,8 @@ class OngletPanel(Panel) : but_comment_apres = Button(self.frame_comment, text = "APRES "+self.node.item.get_nom(), command = self.ajout_commentaire) - but_comment_avant.place(relx=0.6,rely=0.3,anchor='w',relwidth=0.3) - but_comment_apres.place(relx=0.6,rely=0.7,anchor='w',relwidth=0.3) + but_comment_avant.place(relx=0.45,rely=0.3,anchor='w',relwidth=0.45) + but_comment_apres.place(relx=0.45,rely=0.7,anchor='w',relwidth=0.45) # remplissage de la frame paramètre Label(self.frame_param,text = "Insérer un paramètre :").place(relx=0.1,rely=0.5,anchor='w') but_param_avant = Button(self.frame_param, @@ -468,8 +472,8 @@ class OngletPanel(Panel) : but_param_apres = Button(self.frame_param, text = "APRES "+self.node.item.get_nom(), command = self.ajout_parametre) - but_param_avant.place(relx=0.6,rely=0.3,anchor='w',relwidth=0.3) - but_param_apres.place(relx=0.6,rely=0.7,anchor='w',relwidth=0.3) + but_param_avant.place(relx=0.45,rely=0.3,anchor='w',relwidth=0.45) + but_param_apres.place(relx=0.45,rely=0.7,anchor='w',relwidth=0.45) # remplissage de la frame eval #Label(self.frame_eval,text="Insérer un paramètre EVAL :").place(relx=0.1,rely=0.5,anchor='w') #Label(self.frame_eval,text='Non encore disponible').place(relx=0.6,rely=0.5,anchor='w') diff --git a/Editeur/treewidget.py b/Editeur/treewidget.py index 3519a5ac..8fba5f71 100644 --- a/Editeur/treewidget.py +++ b/Editeur/treewidget.py @@ -28,7 +28,7 @@ from Ihm import CONNECTOR # __version__="$Name: $" -__Id__="$Id: treewidget.py,v 1.25 2005/06/16 09:27:25 eficas Exp $" +__Id__="$Id: treewidget.py,v 1.26 2005/11/03 09:03:49 eficas Exp $" # Fonte_Standard = fontes.standard @@ -40,8 +40,8 @@ class Tree : self.canvas = self.scrolledcanvas.component('canvas') self.id_up=self.canvas.bind("", self.page_up) self.id_down=self.canvas.bind("", self.page_down) - self.id_uup=self.canvas.bind("", self.unit_up) - self.id_udown=self.canvas.bind("", self.unit_down) + #self.id_uup=self.canvas.bind("", self.unit_up) + #self.id_udown=self.canvas.bind("", self.unit_down) self.id_um=self.canvas.bind("", self.mot_up) self.id_dm=self.canvas.bind("", self.mot_down) self.id_s=self.canvas.bind("<1>", self.canvas_select) @@ -59,10 +59,13 @@ class Tree : def page_up(self,event): event.widget.yview_scroll(-1, "page") + def page_down(self,event): event.widget.yview_scroll(1, "page") + def unit_up(self,event): event.widget.yview_scroll(-1, "unit") + def unit_down(self,event): event.widget.yview_scroll(1, "unit") @@ -70,10 +73,18 @@ class Tree : self.select_next(None) self.canvas.focus_set() + def mot_down_force(self): + self.select_next(None) + self.canvas.focus_set() + def mot_up(self,event): self.node_selected.select_mot_previous() self.canvas.focus_set() + def mot_up_force(self): + self.node_selected.select_mot_previous() + self.canvas.focus_set() + def build_children(self): """ Construit la liste des enfants de self """ self.children = [] @@ -412,31 +423,41 @@ class Node : self.children[ind].select() except: self.children[0].select() - else : - self.parent.select_next(index) except : - self.parent.select_next(index) + if self.parent is self.tree: + pass + else : + self.parent.select_next(index) def select_mot_previous(self): index = self.parent.children.index(self) - 1 try : - if index > 0 : + if index > -1 : self.parent.children[index].select() - else : + elif self.parent is self.tree: + pass + else : self.parent.select() except: - self.parent.select() + if self.parent is self.tree: + pass + else : + self.parent.select_previous() def select_previous(self): """ on doit d'abord sélectionner(dans l'ordre) : - son frère aîné - son père """ - index = self.parent.children.index(self) + 1 + index = self.parent.children.index(self) - 1 try : self.parent.children[index].select() except: - self.parent.select() + #self.parent.select() + if self.parent is self.tree: + pass + else : + self.parent.select_previous() def popup(self,event=None): """ diff --git a/Editeur/widgets.py b/Editeur/widgets.py index dd47075c..9505fa93 100644 --- a/Editeur/widgets.py +++ b/Editeur/widgets.py @@ -773,7 +773,9 @@ class ListeChoix : label.bind("",lambda e,s=self,c=self.liste_commandes[2][1],x=objet,l=label : s.chooseitemsurligne(x,l,c)) label.bind("",lambda e,s=self,c=self.liste_commandes[2][1],x=objet,l=label : s.chooseitemsurligne(x,l,c)) label.bind("",lambda e,s=self,x=objet,l=label : s.selectNextItem(x,l)) + label.bind("",lambda e, s=self,x=objet,l=label : s.selectNextItem(x,l)) label.bind("" ,lambda e,s=self,x=objet,l=label : s.selectPrevItem(x,l)) + label.bind("" ,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)) @@ -822,7 +824,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 -- 2.39.2