]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
CCAR: diverses modifications pour pouvoir piloter l'IHM en produisant des
authorChristian Caremoli <>
Mon, 29 May 2006 07:12:38 +0000 (07:12 +0000)
committerChristian Caremoli <>
Mon, 29 May 2006 07:12:38 +0000 (07:12 +0000)
evenements souris, clavier, etc. L'essentiel des modifications consiste
a garder des poignees sur les labels, boutons, etc et a ajouter des bindings
sur la touche <Return>. Une limite est que l'evenement <Double-Button-1> ne peut
etre produit par event_generate.

13 files changed:
Editeur/appli.py
Editeur/bureau.py
Editeur/fonctionpanel.py
Editeur/panels.py
Editeur/plusieursassdpanel.py
Editeur/plusieursbasepanel.py
Editeur/plusieursintopanel.py
Editeur/plusieurspanel.py
Editeur/treewidget.py
Editeur/uniqueassdpanel.py
Editeur/uniqueintopanel.py
Editeur/uniquesdcopanel.py
Editeur/widgets.py

index c7551ae4e7546498fdb9fcf841d1293a4d084952..9e11eb894e47b67f253511e8298af74a12cad5ff 100644 (file)
@@ -51,7 +51,7 @@ import session
 import listeFichiers
 import listePatrons
 
-VERSION="EFICAS v1.9"
+VERSION="EFICAS v1.10"
 
 class APPLI: 
   def __init__ (self,master,code=prefs.code,fichier=None,test=0) :
index 38d1f6c67737aa603a881b94bf6d3b7aedba5d81..4d5dfedfb7f2ee02c9c8362e500cfe3e91616450 100644 (file)
@@ -144,7 +144,7 @@ class BUREAU:
 
    def newJDC_include(self,event=None):
       """
-          Initialise un nouveau JDC vierge
+          Initialise un nouveau JDC include vierge
       """
       import Extensions.jdc_include
       JdC_aux=Extensions.jdc_include.JdC_include
@@ -168,10 +168,11 @@ class BUREAU:
       self.fileName=None
       self.ShowJDC(J,self.JDCName)
       self.appli.toolbar.active_boutons()
+      return J
 
    def newJDC(self,event=None):
       """
-          Initialise un nouveau JDC include vierge
+          Initialise un nouveau JDC vierge
       """
       self.appli.statusbar.reset_affichage_infos()
 
@@ -185,6 +186,7 @@ class BUREAU:
       self.fileName=None
       self.ShowJDC(J,self.JDCName)
       self.appli.toolbar.active_boutons()
+      return J
 
    def ShowJDC(self,JDC,nom,label_onglet=None,JDCDISPLAY=JDCDISPLAY,enregistre="non"):
       """
@@ -389,6 +391,7 @@ class BUREAU:
           if not self.JDC.isvalid():
              self.appli.top.update()
              self.visuCR(mode='JDC')
+      return J
 
    def deplieReplieNode(self):
        self.JDCDisplay_courant.tree.tree.deplieReplieNode()
index 55280b7942b59d9790184369a808548230e7dd0a..a5661581562350e2f739d10139c9ae797c87a39a 100644 (file)
@@ -105,14 +105,14 @@ class FONCTION_Panel(PLUSIEURS_BASE_Panel):
       self.ajout_valeurs = None
 
       # boutons Ajouter et Supprimer
-      bouton_add = Button(self.frame_boutons_fleches,
+      self.bouton_add = Button(self.frame_boutons_fleches,
                           image = images.get_image('arrow_left'),
                           command = self.add_double_valeur_plusieurs_base)
-      bouton_sup = Button(self.frame_boutons_fleches,
+      self.bouton_sup = Button(self.frame_boutons_fleches,
                           image = images.get_image('arrow_right'),
                           command = self.sup_valeur_sans_into)
-      bouton_add.place(relx=0.3,rely=0.35)
-      bouton_sup.place(relx=0.3,rely=0.65)
+      self.bouton_add.place(relx=0.3,rely=0.35)
+      self.bouton_sup.place(relx=0.3,rely=0.65)
       # affichage de l'aide
       self.frame_aide.update()
       self.aide = Label(self.frame_aide,
@@ -123,13 +123,13 @@ class FONCTION_Panel(PLUSIEURS_BASE_Panel):
       self.aide.place(relx=0.5,rely=0.5,anchor='center',relwidth=1)
       self.Liste_valeurs.affiche_liste()
       # boutons Accepter et Annuler
-      bouton_accepter = Button(self.frame_boutons,
+      self.bouton_accepter = Button(self.frame_boutons,
                                text='Valider',
                                command = lambda s=self,m=min,M=max : s.accepte_modifs_valeur_recolle(m,M))
-      bouton_annuler = Button(self.frame_boutons,
+      self.bouton_annuler = Button(self.frame_boutons,
                               text = 'Annuler',
                               command = self.annule_modifs_valeur)
-      for but in (bouton_accepter,bouton_annuler):
+      for but in (self.bouton_accepter,self.bouton_annuler):
           but.pack(side='left',padx=4)
 
 
index 0610919fc9ca47ede73e7ff568cba8fd3c8502f8..3b84a1ba5d3faba5822015f8553138d0c9eb1729 100644 (file)
@@ -297,10 +297,13 @@ class OngletPanel(Panel) :
           return
        if OngletPanel.panelbind == None:
           return
-       OngletPanel.panelbind.unbind_all("<F1>")
-       OngletPanel.panelbind.unbind_all("<F2>")
-       OngletPanel.panelbind.unbind_all("<F3>")
-       OngletPanel.panelbind.unbind_all("<F4>")
+       try:
+           OngletPanel.panelbind.unbind_all("<F1>")
+           OngletPanel.panelbind.unbind_all("<F2>")
+           OngletPanel.panelbind.unbind_all("<F3>")
+           OngletPanel.panelbind.unbind_all("<F4>")
+       except:
+           pass
        OngletPanel.panelbind = None
 
   def commande_up(self,num):
@@ -376,6 +379,7 @@ class OngletPanel(Panel) :
       Liste.MCbox.bind("<ButtonRelease-3>",self.parent.appli.efface_aide)
       if len(liste_mc) > 0 :
          Liste.surligne(liste_mc[0])
+      self.Liste=Liste
 
   def makeCommentairePage(self,page):
       label = Label(page,text = "Insérer un commentaire :")
@@ -414,6 +418,7 @@ class OngletPanel(Panel) :
       bulle_aide="""Double-cliquez sur la commande que vous voulez ajouter au jeu de commandes"""
       Liste.MCbox.bind("<Button-3>", lambda e,s=self,a=bulle_aide : s.parent.appli.affiche_aide(e,a))
       Liste.MCbox.bind("<ButtonRelease-3>",self.parent.appli.efface_aide)
+      self.liste_command=Liste
       global panneauCommande
       panneauCommande=self
 
@@ -477,11 +482,9 @@ class OngletPanel(Panel) :
       # les frame ...
       self.frame_comment = Frame(page,bd=1,relief='raised')
       self.frame_param   = Frame(page,bd=1,relief='raised')
-      #self.frame_eval    = Frame(page,bd=1,relief='raised')
       self.frame_boutons = Frame(page,bd=1,relief='raised')
       self.frame_comment.place(relx=0,rely=0,relwidth=1,relheight=0.40)
       self.frame_param.place(relx=0,rely=0.40,relwidth=1,relheight=0.40)
-      #self.frame_eval.place(relx=0,rely=0.56,relwidth=1,relheight=0.28)
       self.frame_boutons.place(relx=0,rely=0.84,relwidth=1,relheight=0.16)
       # remplissage de la frame commentaire
       Label(self.frame_comment,text = "Insérer un commentaire :").place(relx=0.1,rely=0.5,anchor='w')
@@ -503,17 +506,6 @@ class OngletPanel(Panel) :
                                  command = self.ajout_parametre)
       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')
-      #but_eval_avant = Button(self.frame_eval,
-      #                        text = "AVANT "+self.node.item.get_nom(),
-      #                        command = lambda s=self :s.ajout_parametre_eval(ind = 'before'))
-      #but_eval_apres = Button(self.frame_eval,
-      #                        text = "APRES "+self.node.item.get_nom(),
-      #                        command = self.ajout_parametre_eval)
-      #but_eval_avant.place(relx=0.6,rely=0.3,anchor='w',relwidth=0.3)
-      #but_eval_apres.place(relx=0.6,rely=0.7,anchor='w',relwidth=0.3)      
       # remplissage de la frame boutons
       Button(self.frame_boutons,
              text="Commentariser toute la commande",
index cd236396ecab1b65ad509fbe779d4f826bd82eae..88eea05db8a1a0613623e74ac737d3102b66bd95 100644 (file)
@@ -75,30 +75,26 @@ class PLUSIEURS_ASSD_Panel(PLUSIEURS_Panel):
                                  ("<Double-Button-1>",self.sup_valeur_sans_into))
       liste_commandes_choix = (("<Button-1>",self.selectChoix),
                                ("<Button-3>",self.deselectChoix),
-      #                         ("<Double-Button-1>",self.add_valeur_sans_into))
                                ("<Double-Button-1>",self.add_eval_valeur_sans_into))
       self.Liste_valeurs = ListeChoix(self,self.frame_valeurs,l_valeurs,liste_commandes = liste_commandes_valeurs,
                                       titre="Valeur(s) actuelle(s)")
       self.Liste_choix = ListeChoix(self,self.frame_choix,l_choix,liste_commandes = liste_commandes_choix,
                                     titre= "Valeurs possibles")
-      bouton_add = Button(self.frame_boutons_fleches,
-                          #text="<--",
+      self.bouton_add = Button(self.frame_boutons_fleches,
                           image = images.get_image('arrow_left'),
-      #                    command = self.add_valeur_sans_into)
                           command = self.add_eval_valeur_sans_into)
-      bouton_sup = Button(self.frame_boutons_fleches,
-                          #text="-->",
+      self.bouton_sup = Button(self.frame_boutons_fleches,
                           image = images.get_image('arrow_right'),
                           command = self.sup_valeur_sans_into)
-      bouton_accepter = Button(self.frame_boutons,
+      self.bouton_accepter = Button(self.frame_boutons,
                                text='Valider',
                                command = lambda s=self,m=min,M=max : s.accepte_modifs_valeur(m,M))
-      bouton_annuler = Button(self.frame_boutons,
+      self.bouton_annuler = Button(self.frame_boutons,
                               text = 'Annuler',
                               command = self.annule_modifs_valeur)
-      bouton_add.place(relx=0.3,rely=0.35)
-      bouton_sup.place(relx=0.3,rely=0.65)
-      for but in (bouton_accepter,bouton_annuler):
+      self.bouton_add.place(relx=0.3,rely=0.35)
+      self.bouton_sup.place(relx=0.3,rely=0.65)
+      for but in (self.bouton_accepter,self.bouton_annuler):
           but.pack(side='left',padx=4)
       self.Liste_valeurs.affiche_liste()
       if len(l_valeurs) > 0 :
index 8693c0ea34b53a9ded777e986a270a360231fc17..7483cfbde26859eaf17eee2cd01c2112e2cafa31 100644 (file)
@@ -121,14 +121,14 @@ class PLUSIEURS_BASE_Panel(PLUSIEURS_Panel):
       self.ajout_valeurs = None
 
       # boutons Ajouter et Supprimer
-      bouton_add = Button(self.frame_boutons_fleches,
+      self.bouton_add = Button(self.frame_boutons_fleches,
                           image = images.get_image('arrow_left'),
                           command = self.add_valeur_plusieurs_base)
-      bouton_sup = Button(self.frame_boutons_fleches,
+      self.bouton_sup = Button(self.frame_boutons_fleches,
                           image = images.get_image('arrow_right'),
                           command = self.sup_valeur_sans_into)
-      bouton_add.place(relx=0.3,rely=0.35)
-      bouton_sup.place(relx=0.3,rely=0.65)
+      self.bouton_add.place(relx=0.3,rely=0.35)
+      self.bouton_sup.place(relx=0.3,rely=0.65)
       # affichage de l'aide
       self.frame_aide.update()
       self.aide = Label(self.frame_aide,
@@ -143,16 +143,14 @@ class PLUSIEURS_BASE_Panel(PLUSIEURS_Panel):
           self.Liste_valeurs.surligne(liste_marque)
           self.selectValeur(liste_marque)
       # boutons Accepter et Annuler
-      bouton_accepter = Button(self.frame_boutons,
+      self.bouton_accepter = Button(self.frame_boutons,
                                text='Valider',
                                command = lambda s=self,m=min,M=max : s.accepte_modifs_valeur(m,M))
-      bouton_annuler = Button(self.frame_boutons,
+      self.bouton_annuler = Button(self.frame_boutons,
                               text = 'Annuler',
                               command = self.annule_modifs_valeur)
-      bouton_accepter.place(relx=0.2, rely=0.2,relwidth=0.25)
-      bouton_annuler.place(relx=0.5, rely=0.2,relwidth=0.25)
-      #for but in (bouton_accepter,bouton_annuler):
-      #    but.pack(side='left',padx=4)
+      self.bouton_accepter.place(relx=0.2, rely=0.2,relwidth=0.25)
+      self.bouton_annuler.place(relx=0.5, rely=0.2,relwidth=0.25)
 
   def affiche_parametre(self) :
       if self.node.item.get_liste_param_possible() != [ ]:
@@ -279,40 +277,6 @@ class PLUSIEURS_BASE_Panel(PLUSIEURS_Panel):
       self.entry.bind("<KP_Enter>",lambda e,c=command:c())
       self.entry.focus()
 
-  #def make_entry(self,frame,command,x=0.28,y=0.2):
-      """
-      Crée l'entry de saisie de la valeur souhaitée : distingue le
-      cas d'un complexe attendu, d'une autre valeur quelconque
-      """
-      #print "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"
-      #print "                                                  "
-      #print "A priori on ne doit plus passer dans cette methode "
-      #print "                                                  "
-      #print "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"
-      #if self.node.item.wait_complex():
-      #    self.typ_cplx=StringVar()
-      #    self.typ_cplx.set('RI')
-      #    rb1 = Radiobutton(frame, text='RI',variable=self.typ_cplx,value='RI')
-      #    rb2 = Radiobutton(frame, text='MP',variable=self.typ_cplx,value='MP')
-      #    self.entry1 = Pmw.EntryField(frame,validate='real')
-      #    self.entry2 = Pmw.EntryField(frame,validate='real')
-      #    rb1.place(relx=0.05,rely = 0.4)
-      #    rb2.place(relx=0.05,rely = 0.6)
-      #    self.entry1.component('entry').bind("<Return>",lambda e,s=self:s.entry2.component('entry').focus)
-      #    self.entry2.component('entry').bind("<Return>",lambda e,c=command:c())
-      #    self.entry1.component('entry').bind("<KP_Enter>",lambda e,s=self:s.entry2.component('entry').focus)
-      #    self.entry2.component('entry').bind("<KP_Enter>",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()
-      #else:
-      #    self.entry = Entry(frame,relief='sunken')
-      #    self.entry.place(relx=0.28,rely=0.2,relwidth=0.6)
-      #           self.entry.place(relx=0.28,rely=y,relwidth=0.6)
-      #    self.entry.bind("<Return>",lambda e,c=command:c())
-      #    self.entry.bind("<KP_Enter>",lambda e,c=command:c())
-      #    self.entry.focus()
-
   def get_valeur(self):
       """
       Retourne la valeur saisie par l'utilisateur dans self.entry
@@ -323,26 +287,41 @@ class PLUSIEURS_BASE_Panel(PLUSIEURS_Panel):
          valeurentree = self.entry.get()
          if (valeurentree == None or valeurentree ==""):
             return None,0,""
-         if (valeurentree[0] != "(") and (valeurentree.find(',') < len(valeurentree)):
-            valeurs=[]
-            for v in valeurentree.split(','):
-              vsimple,validite=self.node.item.eval_valeur(v)
+
+         #On tente une evaluation globale
+         valeur,validite=self.node.item.eval_valeur(valeurentree)
+         if valeur == valeurentree:
+             #L'evaluation n'a rien donné : on a toujours la string
+             #on découpe la string sur le séparateur , si c'est possible
+             if valeurentree.find(',') != -1:
+                 valeur=[]
+                 for v in valeurentree.split(','):
+                     vsimple,validite=self.node.item.eval_valeur(v)
+                     valeur.append(vsimple)
+
+         return valeur,validite,commentaire
+
+
+        # if (valeurentree[0] != "(") and (valeurentree.find(',') < len(valeurentree)):
+        #    valeurs=[]
+        #    for v in valeurentree.split(','):
+        #      vsimple,validite=self.node.item.eval_valeur(v)
               # Pn If ajoute  pour le panneau "double"
               #if isinstance(vsimple,LASSD) : 
               #         commentaire = "impossible de mélanger reels et liste prédéfinie"
               #  validite = 0
               #         break 
-              if validite :
-                 valeurs.append(vsimple)
-              else:
-                 commentaire = "impossible d'évaluer : %s " %`valeurentree`
-                 break
-            valeur=valeurs
-         else: 
-            valeur,validite=self.node.item.eval_valeur(valeurentree)
-         if not validite and commentaire == "":
-            commentaire = "impossible d'évaluer : %s " %`valeurentree`
-         return valeur,validite,commentaire
+        #      if validite :
+        #         valeurs.append(vsimple)
+        #      else:
+        #         commentaire = "impossible d'évaluer : %s " %`valeurentree`
+        #         break
+        #    valeur=valeurs
+        # else: 
+        #    valeur,validite=self.node.item.eval_valeur(valeurentree)
+        # if not validite and commentaire == "":
+        #    commentaire = "impossible d'évaluer : %s " %`valeurentree`
+        # return valeur,validite,commentaire
       #else:
       #   # Traitement d'une entree de type complexe
       #   try:
index 4c163b1079a2b7a442d5588e48b0d67955e2f0de..ef2003e1f1fe5ae7d7b12744eca5182fc3c7e83e 100644 (file)
@@ -86,23 +86,23 @@ class PLUSIEURS_INTO_Panel(PLUSIEURS_Panel):
       self.Liste_choix = ListeChoix(self,self.frame_choix,l_choix,
                                     liste_commandes = liste_commandes_choix,
                                     titre= "Valeurs possibles")
-      bouton_add = Button(self.frame_boutons_fleches,
+      self.bouton_add = Button(self.frame_boutons_fleches,
                           #text="<--",
                           image = images.get_image('arrow_left'),
                           command = self.add_choix)
-      bouton_sup = Button(self.frame_boutons_fleches,
+      self.bouton_sup = Button(self.frame_boutons_fleches,
                           #text="-->",
                           image = images.get_image('arrow_right'),
                           command = self.sup_valeur)
-      bouton_accepter = Button(self.frame_boutons,
+      self.bouton_accepter = Button(self.frame_boutons,
                                text='Valider',
                                command = lambda s=self,m=min,M=max : s.accepte_modifs_valeur(m,M))
-      bouton_annuler = Button(self.frame_boutons,
+      self.bouton_annuler = Button(self.frame_boutons,
                               text = 'Annuler',
                               command = self.annule_modifs_valeur)
-      bouton_add.place(relx=0.3,rely=0.35)
-      bouton_sup.place(relx=0.3,rely=0.65)
-      for but in (bouton_accepter,bouton_annuler):
+      self.bouton_add.place(relx=0.3,rely=0.35)
+      self.bouton_sup.place(relx=0.3,rely=0.65)
+      for but in (self.bouton_accepter,self.bouton_annuler):
           but.pack(side='left',padx=3)
       self.Liste_valeurs.affiche_liste()
       if len(l_valeurs) > 0 :
index a8c7bad1af982764fc9a9d92e6fbf34359124fd0..72161e0ffa9fc24c0b3cc4e0c1d373bcddd80e93 100644 (file)
@@ -90,27 +90,18 @@ class PLUSIEURS_Panel(newSIMPPanel):
           
   def add_valeur_sans_into(self,name=None,encorevalide=1):
       """
-      Lit ce que l'utilisateur a saisi dans self.entry et cherche à
-      l'évaluer :
+      Tente d'ajouter la valeur fournie (name) à la liste courante :
         - si la valeur est acceptable, elle est ajoutée dans la liste des valeurs
         - sinon elle est refusée
+
       encorevalide vaut 1 si le validateur trouve l item et la liste correctes
                         0 si le validateur trouve la valeur de l item incorrecte
                        -1 si le validateur trouve la liste incorrecte
       """
+      valeur = name
       commentaire="Valeur incorrecte : ajout à la liste refusé"
       testvalide=1
 
-      # Lecture de la zone de saisie et evaluation si nécessaire
-      if name != None :
-         valeur = name
-      else:
-         valeurentree = self.get_valeur()
-         if valeurentree == '': valeur=None
-         valeurentree,testvalide=self.node.item.eval_valeur(valeur)
-         if (not testvalide) :
-            commentaire = "impossible d'évaluer : %s " %`valeurentree`
-
       # Pas de traitement des valeurs nulles ( a priori clic involontaire
       if (valeur == None or valeur =="") :
           commentaire = "Pas de saisie des valeurs nulles"
@@ -154,7 +145,6 @@ class PLUSIEURS_Panel(newSIMPPanel):
          else :
             commentaire ="Type de la valeur incorrecte"
 
-      #self.erase_valeur()
       self.parent.appli.affiche_infos(commentaire)
 
   def sup_valeur_sans_into(self,name=None):
index c1aaf786e0cd9544de39f5dd3e9da2861e55fd1c..61a3fd7c53a201105d19f7ab66eca7b4a08f4ae2 100644 (file)
@@ -27,8 +27,8 @@ import images
 from Ihm import CONNECTOR
 
 #
-__version__="$Name:  $"
-__Id__="$Id: treewidget.py,v 1.30.6.1 2006/03/07 11:21:44 eficas Exp $"
+__version__="$Name: BR_dev_mars_06 $"
+__Id__="$Id: treewidget.py,v 1.30.6.2 2006/03/10 14:38:30 eficas Exp $"
 #
 
 Fonte_Standard = fontes.standard
@@ -116,8 +116,8 @@ class Tree :
     def supprime(self):
         """ supprime tous les éléments de l'arbre """
         #print "supprime",self
-        self.canvas.unbind("<Key-Prior>",self.id_up)
-        self.canvas.unbind("<Key-Next>",self.id_down)
+        self.canvas.unbind("<F11>",self.id_up)
+        self.canvas.unbind("<F12>",self.id_down)
         self.canvas.unbind("<Key-Left>",self.id_um)
         self.canvas.unbind("<Key-Right>",self.id_dm)
         self.canvas.unbind("<1>",self.id_s)             
index 029a1d20c0bd488bb2c4103533be42a13a0b09a6..e15c5bb3946e26beda4ec7ec2e759b42a8186e2f 100644 (file)
@@ -161,6 +161,7 @@ class UNIQUE_ASSD_Panel(UNIQUE_Panel):
       if len(self.listbox.getcurselection()) == 0 : return
       choix = self.listbox.getcurselection()[0]
       self.valeur_choisie.set(choix)
+      self.listbox.component("listbox").focus_set()
 
   def choose_valeur_from_list(self,command):
       """
index 870b165f027d90d49d97757514de80a63ca03608..da05fdce67cda797d0eaaff9467ff8d4ab35dc53 100644 (file)
@@ -71,7 +71,7 @@ class UNIQUE_INTO_Panel(UNIQUE_Panel):
                          ("<Double-Button-1>",self.record_valeur))
       self.Liste_choix = ListeChoix(self,self.frame,l_choix,
                                     liste_commandes = liste_commandes,
-                                    titre="Valeurs possibles")
+                                    titre="Valeurs possibles",optionReturn="oui")
       self.Liste_choix.affiche_liste()
 
   def get_bulle_aide(self):
index a270943cfea37118c7d135eb5ac72e62bdcd849a..49ecc2a60dbb823d44b0523fb111bc30457a4c16 100644 (file)
@@ -70,13 +70,16 @@ class UNIQUE_SDCO_Panel(UNIQUE_ASSD_Panel):
                                          listbox_height = 6,
                                          selectioncommand=self.select_valeur_from_list,
                                          dblclickcommand=lambda s=self,c=self.valid_valeur : s.choose_valeur_from_list(c))
+      self.listbox.component("listbox").bind("<Return>",lambda e,s=self,c=self.valid_valeur : s.choose_valeur_from_list(c))
       if liste_noms_sd != [] :
          self.listbox.place(relx=0.5,rely=0.3,relheight=0.4,anchor='center')
-         self.b_co = Pmw.OptionMenu(self.frame_valeur,labelpos='w',label_text = "Nouveau concept : ", items = ('NON','OUI'),menubutton_width=10)
+         self.b_co = Pmw.OptionMenu(self.frame_valeur,labelpos='w',label_text = "Nouveau concept : ", items = ('NON','OUI'),
+                                         menubutton_width=10)
       else :
-         self.b_co = Pmw.OptionMenu(self.frame_valeur,labelpos='w',label_text = "Nouveau concept : ", items = ('OUI','OUI'),menubutton_width=10)
+         self.b_co = Pmw.OptionMenu(self.frame_valeur,labelpos='w',label_text = "Nouveau concept : ", items = ('OUI',),
+                                         menubutton_width=10)
       # affichage du bouton 'Nouveau concept'
-      self.b_co.configure(command = lambda e,s=self : s.ask_new_concept())
+      self.b_co.configure(command = self.ask_new_concept)
       if liste_noms_sd != [] :
          self.b_co.place(relx=0.05,rely=0.6,anchor='w')
       else :
@@ -145,13 +148,6 @@ class UNIQUE_SDCO_Panel(UNIQUE_ASSD_Panel):
           mess = "Valeur du mot-clé non autorisée :"+cr.get_mess_fatal()
           self.reset_old_valeur(anc_val,mess=mess)
           return
-      #if self.node.item.get_position()=='global':
-          #self.node.etape.verif_all()
-      #elif self.node.item.get_position()=='global_jdc':
-          #self.node.racine.verif_all()
-      #else :
-          #self.node.parent.verif()
-      #self.node.update()
 
   def valid_nom_concept_co(self,event=None):
       """
@@ -183,17 +179,8 @@ class UNIQUE_SDCO_Panel(UNIQUE_ASSD_Panel):
           mess = "Valeur du mot-clé non autorisée :"+cr.get_mess_fatal()
           self.reset_old_valeur(anc_val,mess=mess)
           return
-      #if self.node.item.get_position()=='global':
-          #self.node.etape.verif_all()
-      #elif self.node.item.get_position()=='global_jdc':
-          #self.node.racine.verif_all()
-      #else :
-          #self.node.parent.verif()
-      #if self.node.item.isvalid():
-          #self.node.parent.select()
-      #self.node.update()
 
-  def ask_new_concept(self):
+  def ask_new_concept(self,tag):
       """
       Crée une entry dans le panneau d'un MCS qui attend un concept OU un CO() afin de
       permettre à l'utilisateur de donner le nom du nouveau concept
@@ -249,14 +236,7 @@ class UNIQUE_SDCO_Panel(UNIQUE_ASSD_Panel):
       self.parent.appli.affiche_infos(mess)
       # On met a jour le display dans le panneau
       self.display_valeur()
-      #if self.node.item.get_position()=='global':
-          #self.node.etape.verif_all()
-      #elif self.node.item.get_position()=='global_jdc':
-          #self.node.racine.verif_all()
-      #else :
-          #self.node.parent.verif()
       if self.node.item.isvalid():
           self.node.parent.select()
-      #self.node.update()
 
 
index 2341457973ac9c4503107d49944ffac3ff0db904..3abbe960c60dca061a57160eddff8d690c22fcab 100644 (file)
@@ -861,22 +861,19 @@ class ListeChoix :
            showerror(raison.split('\n')[0],raison)
 
     def afficheMot(self,mot):
-        """ Pour contourner le bug sur l index """
-        """ on commence par la methode dite normale """
-        """ puis par la methode de contournement """
-        """ puis rien du tout """
-        #try :
-        if ( 1 == 1 ):
-           try:
-             labelsuivant=self.dico_labels[motsuivant]
+        """ Pour contourner le bug sur l index 
+            on commence par la methode dite normale     
+            puis par la methode de contournement     
+            puis rien du tout 
+        """
+        try:
+             labelsuivant=self.dico_labels[mot]
              index = self.MCbox.index(labelsuivant)
              self.MCbox.see(index)
-           except :
+        except :
              posmot=self.dico_place[mot]
              totale=self.nBlabel + 0.0
              self.MCbox.yview_moveto(posmot/totale)
-        else :
-             pass
 
     def selectNextItem(self,mot,label):
         index=self.liste.index(mot)
@@ -885,8 +882,6 @@ class ListeChoix :
            indexsuivant=0
         motsuivant=self.liste[indexsuivant]
         labelsuivant=self.dico_labels[motsuivant]
-        #index = self.MCbox.index(labelsuivant)
-        #self.MCbox.see(index)
         self.afficheMot(motsuivant)
         self.selectthis(motsuivant,labelsuivant,self.selection[2],)
         self.dontselect=1
@@ -896,8 +891,6 @@ class ListeChoix :
         indexprec=index-1
         motprec=self.liste[indexprec]
         labelprec=self.dico_labels[motprec]
-        #index = self.MCbox.index(labelprec)
-        #self.MCbox.see(index)
         self.afficheMot(motprec)
         self.selectthis(motprec,labelprec,self.selection[2],)
         self.dontselect=1
@@ -958,8 +951,6 @@ class ListeChoix :
         for arg in self.liste :
             if fnmatch.fnmatch(arg,filtre) or fnmatch.fnmatch(arg,FILTRE) :
                 label=self.dico_labels[arg]
-                #index = self.MCbox.index(label)
-                #self.MCbox.see(index)
                 self.afficheMot(arg)
                 self.selectitem(arg,label,self.selection[2])
                 break