From: eficas <> Date: Tue, 9 Aug 2005 09:57:47 +0000 (+0000) Subject: PN : pour accepter entrer dans le clavier numérique X-Git-Tag: CC_param_poursuite~93 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=0762932b3033dcd683587c6e90f7f56fe8d010c9;p=modules%2Feficas.git PN : pour accepter entrer dans le clavier numérique --- diff --git a/Editeur/Interp.py b/Editeur/Interp.py index 00cf5d8c..8fb95820 100644 --- a/Editeur/Interp.py +++ b/Editeur/Interp.py @@ -58,6 +58,7 @@ class InterpWindow(Tkinter.Toplevel): self.text.pack( fill='both', expand = 1) self.text.bind( '', self.clearMsg) self.text.bind( '', self.inputhandler) + self.text.bind( '', self.inputhandler) self.text.bind( '', self.uphistory) self.text.bind( '', self.downhistory) self.text.bind( '', self.goto_sol) diff --git a/Editeur/cataediteur.py b/Editeur/cataediteur.py index da1c882f..2d8ae0ed 100644 --- a/Editeur/cataediteur.py +++ b/Editeur/cataediteur.py @@ -40,7 +40,7 @@ import definition_cata # __version__="$Name: $" -__Id__="$Id: cataediteur.py,v 1.5 2004/09/10 15:51:48 eficas Exp $" +__Id__="$Id: cataediteur.py,v 1.6 2004/09/20 09:24:13 eficas Exp $" # Fonte_Niveau = fontes.canvas_gras_italique @@ -203,6 +203,7 @@ class OngletPanel(Panel) : 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()) + self._any.bind("",lambda e,s=self:s.execConcept()) self._any.insert(0,self.node.item.GetText()) type_sd = self.node.item.object.get_type_sd_prod() if type_sd : @@ -379,6 +380,7 @@ class SIMPPanel(OngletPanel): self.e_nom = Entry(fr1) self.e_nom.place(relx=0.35,rely=0.3,relwidth=0.3,anchor='w') self.e_nom.bind("",lambda e,s=self : s.set_valeur_attribut('nom',None)) + self.e_nom.bind("",lambda e,s=self : s.set_valeur_attribut('nom',None)) self.e_nom.insert(0,self.get_valeur_attribut('nom')) # Statut Label(fr1,text='Statut : ').place(relx=0.05,rely=0.7,anchor='w') @@ -419,6 +421,7 @@ class SIMPPanel(OngletPanel): if self.node.item.object.get_valeur_attribut('defaut') : self.e_defaut.insert(0,self.node.item.object.get_valeur_attribut('defaut')) self.e_defaut.bind("",lambda e,s=self : s.set_valeur_attribut('defaut',None)) + self.e_defaut.bind("",lambda e,s=self : s.set_valeur_attribut('defaut',None)) else : # dans le cas discret, la valeur par défaut doit être dans l'ensemble des valeurs possibles (into) liste = self.node.item.object.get_valeur_attribut('into') @@ -534,6 +537,7 @@ class SIMPPanel(OngletPanel): self.e_val_min = Entry(fr3) self.e_val_min.place(relx=0.35,rely=0.5,relwidth=0.5,anchor='w') self.e_val_min.bind("",lambda e,s=self : s.set_valeur_attribut('val_min',None)) + self.e_val_min.bind("",lambda e,s=self : s.set_valeur_attribut('val_min',None)) self.set_valeur_attribut('val_min',self.get_valeur_attribut('val_min')) # val_max self.l_val_max = Label(fr3,text='Valeur maximale : ') @@ -541,6 +545,7 @@ class SIMPPanel(OngletPanel): self.e_val_max = Entry(fr3) self.e_val_max.place(relx=0.35,rely=0.8,relwidth=0.5,anchor='w') self.e_val_max.bind("",lambda e,s=self : s.set_valeur_attribut('val_max',None)) + self.e_val_max.bind("",lambda e,s=self : s.set_valeur_attribut('val_max',None)) self.set_valeur_attribut('val_max',self.get_valeur_attribut('val_max')) # ------------------------------------------------------------------ diff --git a/Editeur/comploader.py b/Editeur/comploader.py index 346514bb..771fa116 100644 --- a/Editeur/comploader.py +++ b/Editeur/comploader.py @@ -79,7 +79,10 @@ def gettreeitem(object): itemtype= composants[e] return itemtype + # Apres poum ??? Les lignes suivantes sont elles utiles ? # Si on n'a rien trouve dans les composants on utilise l'objet par defaut + print ObjectTreeItem + print itemtype itemtype=ObjectTreeItem return itemtype @@ -91,4 +94,3 @@ def make_objecttreeitem(appli,labeltext, object, setfunction=None): c = gettreeitem(object) return c(appli,labeltext, object, setfunction) - diff --git a/Editeur/compoformule.py b/Editeur/compoformule.py index 62b8dfe6..47e09239 100644 --- a/Editeur/compoformule.py +++ b/Editeur/compoformule.py @@ -81,8 +81,11 @@ class FORMULEPanel(panels.OngletPanel): # binding sur les entries self.entry_nom.bind("",self.verif_nom) + self.entry_nom.bind("",self.verif_nom) self.entry_arg.bind("",self.verif_arguments) + self.entry_arg.bind("",self.verif_arguments) self.entry_exp.bind("",self.verif_corps) + self.entry_exp.bind("",self.verif_corps) # affichage des entries self.entry_nom.place(relx=0.35,rely=0.10,relwidth=0.2) self.entry_arg.place(relx=0.35,rely=0.40,relwidth=0.4) diff --git a/Editeur/componuplet.py b/Editeur/componuplet.py index e3c63dd7..07582aa4 100644 --- a/Editeur/componuplet.py +++ b/Editeur/componuplet.py @@ -31,7 +31,7 @@ import panels # __version__="$Name: $" -__Id__="$Id: componuplet.py,v 1.5 2004/09/10 15:51:49 eficas Exp $" +__Id__="$Id: componuplet.py,v 1.6 2005/05/19 12:18:47 eficas Exp $" # myrepr = Repr() @@ -80,6 +80,8 @@ class NUPLETPanel(panels.OngletPanel): entry.pack(side=Tkinter.LEFT,padx=1) entry.bind("", lambda e,obj=obj,s=self:s.valid_valeur(e,obj=obj)) + entry.bind("", + lambda e,obj=obj,s=self:s.valid_valeur(e,obj=obj)) if i==0:entry.focus_set() #aide = Tkinter.Label(frame_valeur, text = aide) #aide.place(relx=0.5,rely=0.55,anchor='n') diff --git a/Editeur/compoparam.py b/Editeur/compoparam.py index 386d1c12..64a1b15a 100644 --- a/Editeur/compoparam.py +++ b/Editeur/compoparam.py @@ -82,6 +82,8 @@ class PARAMPanel(panels.OngletPanel): # binding sur entry_nom self.entry_nom.bind("",lambda e,s=self : s.entry_val.focus()) self.entry_val.bind("",lambda e,s=self : s.change_valeur()) + self.entry_nom.bind("",lambda e,s=self : s.entry_val.focus()) + self.entry_val.bind("",lambda e,s=self : s.change_valeur()) # affichage des entries self.entry_nom.place(relx=0.35,rely=0.3,relwidth=0.3) self.entry_val.place(relx=0.35,rely=0.5,relwidth=0.5) diff --git a/Editeur/compoparameval.py b/Editeur/compoparameval.py index 34f1ef5c..a83fa448 100644 --- a/Editeur/compoparameval.py +++ b/Editeur/compoparameval.py @@ -83,6 +83,8 @@ class PARAM_EVALPanel(panels.OngletPanel): # binding sur entry_nom self.entry_nom.bind("",lambda e,s=self : s.verif_nom()) self.entry_val.bind("",lambda e,s=self : s.verif_eval()) + self.entry_nom.bind("",lambda e,s=self : s.verif_nom()) + self.entry_val.bind("",lambda e,s=self : s.verif_eval()) # affichage des entries self.entry_nom.place(relx=0.35,rely=0.3,relwidth=0.3) self.entry_val.place(relx=0.35,rely=0.5,relwidth=0.5) @@ -107,7 +109,7 @@ class PARAM_EVALPanel(panels.OngletPanel): self.bouton_val = Button(self.fr_but,text='Valider',command=self.change_valeur,width=14) self.bouton_ann = Button(self.fr_but,text='Annuler',command=self.display_valeur,width=14) self.bouton_val.bind("",lambda e,s=self : s.bouton_val.invoke()) - + self.bouton_val.bind("",lambda e,s=self : s.bouton_val.invoke()) self.bouton_val.place(relx=0.25,rely=0.5,relheight=0.8,anchor='center') self.bouton_ann.place(relx=0.50,rely=0.5,relheight=0.8,anchor='center') self.bouton_sup.place(relx=0.75,rely=0.5,relheight=0.8,anchor='center') diff --git a/Editeur/panels.py b/Editeur/panels.py index 74b3b1d5..de19cf52 100644 --- a/Editeur/panels.py +++ b/Editeur/panels.py @@ -310,6 +310,7 @@ class OngletPanel(Panel) : 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()) + self._any.bind("",lambda e,s=self:s.execConcept()) self._any.insert(0,self.node.item.GetText()) type_sd = self.node.item.get_type_sd_prod() if type_sd : diff --git a/Editeur/panelsSalome.py b/Editeur/panelsSalome.py index 48653ace..cff7ca5e 100644 --- a/Editeur/panelsSalome.py +++ b/Editeur/panelsSalome.py @@ -389,7 +389,7 @@ class SALOME_UNIQUE_BASE_Panel(UNIQUE_BASE_Panel): dict_fichier_unite={} - def SALOME_DONNEES_HOMARD_TRAITEMENT_FICHIER_MED_MAILLAGE_N(self): + def SALOME_DONNEES_HOMARD_FICHIER_MED_MAILLAGE_N(self): entrychaine=salome.sg.getAllSelected() if entrychaine != '': self.entry2.delete(0,END) @@ -405,7 +405,7 @@ class SALOME_UNIQUE_BASE_Panel(UNIQUE_BASE_Panel): boo,FileAttr = myBuilder.FindAttribute(SO,"AttributeFileType") if boo: val=FileAttr.Value() - if (val !="FICHIERMED"): + if (val !="FICHIERMED" and val != "FICHIER_RESU_MED"): boo=0 showerror("Pas de Fichier MED","Cet Objet n a pas de fichier MED Associ\xe9") else: @@ -444,8 +444,8 @@ class SALOME_UNIQUE_BASE_Panel(UNIQUE_BASE_Panel): self.entry.insert(0,EntryName) self.valid_valeur() - def SALOME_DONNEES_HOMARD_TRAITEMENT_FICHIER_MED_MAILLAGE_NP1(self): - self.SALOME_DONNEES_HOMARD_TRAITEMENT_FICHIER_MED_MAILLAGE_N() + def SALOME_DONNEES_HOMARD_FICHIER_MED_MAILLAGE_NP1(self): + self.SALOME_DONNEES_HOMARD_FICHIER_MED_MAILLAGE_N() # def SALOME_LIRE_MAILLAGE_UNITE(self): @@ -519,6 +519,7 @@ class SALOME_UNIQUE_BASE_Panel(UNIQUE_BASE_Panel): self.entry = Entry(self.frame_valeur,relief='sunken') self.entry.place(relx=0.28,rely=0.5,relwidth=0.6) self.entry.bind("",lambda e,c=self.valid_valeur:c()) + self.entry.bind("",lambda e,c=self.valid_valeur:c()) # PN : Ajout d'un bouton pour selectionner à partir de Salome self.b = Button(self.frame_valeur,text='Relier selection',command=self.redistribue_selon_simp) diff --git a/Editeur/plusieursbasepanel.py b/Editeur/plusieursbasepanel.py index 93c84d6c..8c8fdcfd 100644 --- a/Editeur/plusieursbasepanel.py +++ b/Editeur/plusieursbasepanel.py @@ -255,6 +255,8 @@ class PLUSIEURS_BASE_Panel(PLUSIEURS_Panel): rb2.place(relx=0.05,rely = 0.6) self.entry1.component('entry').bind("",lambda e,s=self:s.entry2.component('entry').focus) self.entry2.component('entry').bind("",lambda e,c=command:c()) + self.entry1.component('entry').bind("",lambda e,s=self:s.entry2.component('entry').focus) + self.entry2.component('entry').bind("",lambda e,c=command:c()) self.entry1.place(relx=0.27,rely = 0.5,relwidth=0.35) self.entry2.place(relx=0.65,rely = 0.5,relwidth=0.35) self.entry1.focus() @@ -262,6 +264,7 @@ class PLUSIEURS_BASE_Panel(PLUSIEURS_Panel): self.entry = Entry(frame,relief='sunken') self.entry.place(relx=0.28,rely=0.2,relwidth=0.6) self.entry.bind("",lambda e,c=command:c()) + self.entry.bind("",lambda e,c=command:c()) self.entry.focus() def get_valeur(self): diff --git a/Editeur/toolbar.py b/Editeur/toolbar.py index 7e549db9..74248a09 100644 --- a/Editeur/toolbar.py +++ b/Editeur/toolbar.py @@ -47,6 +47,12 @@ class TOOLBAR: b.bind("",lambda e,s=self,but=b,t=texte : s.affiche_balloon(e,but,t,pos='right')) b.bind("", self.efface_balloon) + def appelle_commande(self,e,b,c): + try : + c() + except : + pass + def inactive_boutons(self): """ Inactive les boutons de la liste self.l_boutons_a_activer @@ -129,6 +135,7 @@ class TOOLBAR: b.pack(side='left') b.bind("",lambda e,s=self,but=b,t=texte : s.affiche_balloon(e,but,t)) b.bind("", self.efface_balloon) + b.bind("", lambda e,s=self,but=b,c=commande:s.appelle_commande(e,but,c)) if statut != 'always': self.l_boutons_a_activer.append(b) diff --git a/Editeur/uniqueassdpanel.py b/Editeur/uniqueassdpanel.py index 89cf1341..333ddac6 100644 --- a/Editeur/uniqueassdpanel.py +++ b/Editeur/uniqueassdpanel.py @@ -118,6 +118,7 @@ class UNIQUE_ASSD_Panel(UNIQUE_Panel): self.entry = Entry(self.frame_valeur,relief='sunken') self.entry.place(relx=0.28,rely=0.9,relwidth=0.6) self.entry.bind("",lambda e,c=self.valid_valeur_reel:c()) + self.entry.bind("",lambda e,c=self.valid_valeur_reel:c()) diff --git a/Editeur/uniquebasepanel.py b/Editeur/uniquebasepanel.py index 7fc8f7ea..1ac25668 100644 --- a/Editeur/uniquebasepanel.py +++ b/Editeur/uniquebasepanel.py @@ -67,6 +67,7 @@ class UNIQUE_BASE_Panel(UNIQUE_Panel): self.entry = Entry(self.frame_valeur,relief='sunken') self.entry.place(relx=0.28,rely=0.2,relwidth=0.6) self.entry.bind("",lambda e,c=self.valid_valeur:c()) + self.entry.bind("",lambda e,c=self.valid_valeur:c()) # aide associée au panneau self.frame_valeur.update() self.aide = Label(self.frame_valeur, diff --git a/Editeur/uniquecomppanel.py b/Editeur/uniquecomppanel.py index 1566875e..df1906a8 100644 --- a/Editeur/uniquecomppanel.py +++ b/Editeur/uniquecomppanel.py @@ -71,6 +71,8 @@ class UNIQUE_COMP_Panel(UNIQUE_Panel): rb2.place(relx=0.05,rely = 0.6) self.entry1.component('entry').bind("",lambda e,s=self:s.entry2.component('entry').focus()) self.entry2.component('entry').bind("",lambda e,c=self.valid_valeur:c()) + self.entry1.component('entry').bind("",lambda e,s=self:s.entry2.component('entry').focus()) + self.entry2.component('entry').bind("",lambda e,c=self.valid_valeur:c()) self.entry1.place(relx=0.27,rely = 0.5,relwidth=0.35) self.entry2.place(relx=0.65,rely = 0.5,relwidth=0.35) self.entry1.focus() diff --git a/Editeur/uniquesdcopanel.py b/Editeur/uniquesdcopanel.py index fe59a101..55a30178 100644 --- a/Editeur/uniquesdcopanel.py +++ b/Editeur/uniquesdcopanel.py @@ -84,6 +84,7 @@ class UNIQUE_SDCO_Panel(UNIQUE_ASSD_Panel): self.label_co = Label(self.frame_valeur,text='Nom du nouveau concept :') self.entry_co = Entry(self.frame_valeur) self.entry_co.bind('',self.valid_nom_concept_co) + self.entry_co.bind('',self.valid_nom_concept_co) # affichage du label de la structure de donnée choisie self.l_resu = Label(self.frame_valeur,text='Structure de donnée choisie :') self.valeur_choisie = StringVar() diff --git a/Editeur/widgets.py b/Editeur/widgets.py index e4d59a14..0b39e721 100644 --- a/Editeur/widgets.py +++ b/Editeur/widgets.py @@ -764,7 +764,9 @@ class ListeChoix : self.MCbox.insert(END,'\n') if self.optionReturn != None : 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.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)) @@ -814,6 +816,8 @@ class ListeChoix : try : index=self.liste.index(mot) indexsuivant=index+1 + if indexsuivant > len(self.liste) -1: + indexsuivant=0 motsuivant=self.liste[indexsuivant] labelsuivant=self.dico_labels[motsuivant] self.clear_marque() @@ -829,6 +833,25 @@ class ListeChoix : except: pass + def selectPrevItem(self,mot,label): + try : + index=self.liste.index(mot) + indexprec=index-1 + motprec=self.liste[indexprec] + labelprec=self.dico_labels[motprec] + self.clear_marque() + if self.selection != None : + self.deselectitem(self.selection[1],self.selection[0],self.selection[2],) + self.selection = (mot,label,self.selection[2]) + index = self.MCbox.index(labelprec) + self.MCbox.see(index) + self.highlightitem(labelprec) + self.arg_selected=motprec + labelprec.focus_set() + # PN il faut faire quelque chose pour être dans la fenetre + except: + pass + def selectitem(self,mot,label,commande) : """ Met l'item sélectionné (représenté par son label) en surbrillance @@ -843,6 +866,7 @@ class ListeChoix : def highlightitem(self,label) : """ Met l'item représenté par son label en surbrillance """ + label.focus_set() label.configure(bg='#00008b',fg='white') def markitem(self,label): @@ -1148,6 +1172,7 @@ class ListeChoixParGroupes(ListeChoix) : label.bind("",lambda e,s=self,c=null,x=cmd,l=label: s.deselectitem(l,x,c)) label.bind("",lambda e,s=self,c=null,x=cmd,l=label: s.chooseitem(x,l,c)) label.bind("",lambda e,s=self,c=null,x=cmd,l=label: s.chooseitem(x,l,c)) + label.bind("",lambda e,s=self,c=null,x=cmd,l=label: s.chooseitem(x,l,c)) label.bind("",lambda e,s=self,c=null,x=cmd,l=label,gr=grp: s.selectNextItem(x,l,c,gr,x)) label.bind("",lambda e,s=self,c=null,x=cmd,l=label,gr=grp: s.selectNextItem(x,l,c,gr,x)) label.bind("",lambda e,s=self,c=null,x=cmd,l=label,gr=grp: s.selectPrevItem(x,l,c,gr,x)) @@ -1163,6 +1188,8 @@ class ListeChoixParGroupes(ListeChoix) : label.bind("",lambda e,s=self,c=callback,x=cmd,l=label: s.chooseitem(x,l,c)) elif event == "": label.bind("",lambda e,s=self,c=callback,x=cmd,l=label: s.chooseitem(x,l,c)) + elif event == "": + label.bind("",lambda e,s=self,c=callback,x=cmd,l=label: s.chooseitem(x,l,c)) elif event == "": label.bind("",lambda e,s=self,c=callback,x=cmd,l=label,gr=grp:s.selectNextItem(x,l,c,gr,x)) elif event == "":