]> SALOME platform Git repositories - modules/eficas.git/commitdiff
Salome HOME
PN : changement de commentaires et de fin de ligne (suppression des ^M)
authoreficas <>
Mon, 18 Aug 2003 15:28:57 +0000 (15:28 +0000)
committereficas <>
Mon, 18 Aug 2003 15:28:57 +0000 (15:28 +0000)
Editeur/widgets.py

index 50dc7a0bcde98ed7feca79dd93e54dd1a8fd426f..1d648f27f6cdc1731ea54d5b82eafa150227b626 100644 (file)
@@ -167,193 +167,193 @@ class FenetreYesNo(Fenetre):
         self.quit()
 
 class FenetreDeSelection(Fenetre):
-    """ Classe dérivée de Fenêtre permettant la récupération d'une zone de texte sélectionnée.\r
-        Cette classe est utilisée pour affecter une liste de valeurs à un mot-clé.\r
-    """\r
-    def __init__(self,panel,item,appli,titre="",texte=""):\r
-        Fenetre.__init__(self,appli,titre=titre,texte=texte)\r
-        self.fenetre.configure(width = 320,height=400)\r
+    """ Classe dérivée de Fenêtre permettant la récupération d'une zone de texte sélectionnée.
+        Cette classe est utilisée pour affecter une liste de valeurs à un mot-clé.
+    """
+    def __init__(self,panel,item,appli,titre="",texte=""):
+        Fenetre.__init__(self,appli,titre=titre,texte=texte)
+        self.fenetre.configure(width = 320,height=400)
         centerwindow(self.fenetre)
         self.panel = panel
         self.item = item
         self.fenetre.title(titre)
-        self.but_save.configure(text="Ajouter",command=self.traite_selection)\r
-        # séparateur par défaut\r
-        self.separateur = ";"\r
-        # création de la zone de saisie du séparateur\r
-        l_separateurs_autorises = self.get_separateurs_autorises()\r
-        self.choix_sep = Pmw.ComboBox(self.frame_boutons,\r
-                                      label_text = "Séparateur :",\r
-                                      labelpos = 'w',\r
-                                      listheight = 100,\r
-                                      selectioncommand = self.choose_separateur,\r
-                                      scrolledlist_items = l_separateurs_autorises)\r
-        self.choix_sep.component('entry').configure(width=6)\r
-        self.choix_sep.place(relx=0.01,rely=0.5,anchor='w')\r
-        self.choix_sep.selectitem(self.separateur)\r
-        # Replacement\r
-        self.but_quit.place_forget()\r
-        self.but_save.place_forget()\r
-        self.but_save.place(relx=0.6,rely=0.5,anchor='center')\r
-        self.but_quit.place(relx=0.8,rely=0.5,anchor='center')\r
-\r
-    def get_separateurs_autorises(self):\r
-        """\r
-        Retourne la liste des séparateurs autorisés\r
-        """\r
-        return ['espace',';',',']\r
-\r
-    def choose_separateur(self,nom_sep):\r
-        """\r
-        Affecte à self.separateur le caractère séparateur correspondant à nom_sep\r
-        """\r
-        if nom_sep == 'espace' :\r
-            self.separateur = ' '\r
-        else:\r
-            self.separateur = nom_sep\r
-        \r
-    def traite_selection(self):\r
-        """ Cette méthode effectue tous les traitements nécessaires pour vérifier\r
-            et affecter la liste de valeurs à l'objet réprésenté par self.item\r
-        """\r
-        # Récupère la liste des chaines de caractères de la zone sélectionnée\r
-        message,liste = self.recupere_liste()\r
-        if self.test_probleme(message,"Sélectionnez des données") == 0:\r
-            return\r
-        # Vérifie que le nombre de données est dans les limites attendues\r
-        message = self.verif_liste(liste)\r
-        if self.test_probleme(message,"Vérifiez le nombre de données") == 0:\r
-            return\r
-        # Crée une liste de valeurs du type attendu\r
-        message,liste_valeurs = self.creation_liste_valeurs(liste)\r
-        if self.test_probleme(message,"Vérifiez le type des données") == 0:\r
-            return\r
-        # Vérifie que chaque valeur est dans le domaine exigé\r
-        message = self.verif_valeurs(liste_valeurs)\r
-        if self.test_probleme(message,"Vérifiez le domaine des valeurs") == 0:\r
-            return\r
-        # Ajoute les valeurs dans la liste de valeurs du mot-clé\r
-        self.ajouter_valeurs(liste_valeurs)\r
-        self.appli.affiche_infos("Liste de valeurs acceptée")\r
-\r
-    def test_probleme(self, message, message_eficas):\r
-        """ Cette méthode affiche un message d'erreur si message != ''\r
-            et retourne 0, sinon retourne 1 sans rien afficher.\r
-        """\r
-        if message != "":\r
-            showinfo("Problème",message)\r
-            self.fenetre.tkraise()\r
-            self.appli.affiche_infos(message_eficas)\r
-            return 0\r
-        else:\r
-            return 1\r
-\r
-    def recupere_liste(self):\r
-        """ Cette méthode récupère le texte de la zone sélectionnée, construit et\r
-            retourne une liste avec les chaines qui se trouvent entre les séparateurs.\r
-            S'il n'y a pas de données selectionnées, elle retourne un message d'erreur\r
-            et une liste vide.\r
-        """\r
-        message = ""\r
-        try:\r
-            selection=self.fenetre.selection_get()\r
-        except:\r
-            message = "Pas de donnée sélectionnée"\r
-            return message,None\r
-        # les retours chariots doivent être interprétés comme des séparateurs\r
-        selection = string.replace(selection,'\n',self.separateur)\r
-        # on splitte la sélection suivant le caractère séparateur\r
-        liste_chaines = string.split(selection,self.separateur)\r
-        l_chaines = []\r
-        for chaine in liste_chaines:\r
-            chaine = string.strip(chaine)\r
-            if chaine != '' : l_chaines.append(chaine)\r
-        return message,l_chaines\r
-\r
-    def verif_liste(self, liste):\r
-        """ Cette méthode effectue des tests sur le nombre d'éléments de la liste\r
-            et retourne 1 si la liste est correcte, sinon 0 et le message d'erreur\r
-            correspondant.\r
-        """\r
-        message = ""\r
-        # nombre d'éléments sélectionnés\r
-        nombre_elements = len(liste)\r
-        # nombre d'éléments déja dans la liste du panel\r
-        nombre_in_liste = len(self.panel.Liste_valeurs.get_liste())\r
-        multiplicite = self.item.GetMultiplicite()\r
-        if (nombre_elements % multiplicite) != 0:\r
-            message = "Vous devez sélectionner "+str(multiplicite)+" * n données"\r
-            return message\r
-        nombre_valeurs = nombre_elements / multiplicite\r
-        cardinalite = self.item.GetMinMax()\r
-        if nombre_valeurs < cardinalite[0]:\r
-            message = "Vous devez sélectionner au moins "+str(cardinalite[0])+" valeurs"\r
-            return message\r
-        if cardinalite[1] != "**" and nombre_valeurs > (long(cardinalite[1])-nombre_in_liste):\r
-            message = "La liste ne peut avoir plus de "+str(cardinalite[1])+" valeurs"\r
-            return message\r
-\r
-        return message\r
-\r
-    def creation_liste_valeurs(self, liste):\r
-        """ Cette méthode crée et retourne une liste de valeurs du type attendu\r
-            par le mot-clé. La liste de valeurs est créée à partir de la liste\r
-            de chaines de caractères transmise.\r
-        """\r
-        type_attendu = self.item.GetType()[0]\r
-        if type_attendu == 'R':\r
-            return self.convertir(liste, f_conversion= float)\r
-        elif type_attendu == 'I':\r
-            return self.convertir(liste, f_conversion= int)\r
-        elif type_attendu == 'TXM':\r
-            return self.convertir(liste)\r
-        else:\r
-            message = "Seuls les entiers, les réels et les chaines de caractères sont convertis"\r
-            return message,None\r
-\r
-    def convertir(self, liste, f_conversion=None):\r
-        """ Cette méthode essaie de convertir les éléments de la liste avec la\r
-            fonction f_conversion si elle existe, et retourne la liste des\r
-            éléments dans le type voulu en cas de succès, sinon retourne None.\r
-        """\r
-        liste_valeurs = []\r
-        message = ""\r
-        for chaine in liste:\r
-            if f_conversion:\r
-                try:\r
-                    liste_valeurs.append(f_conversion(chaine))\r
-                except:\r
-                    message = "Impossible de convertir "+chaine+" dans le type attendu"\r
-                    return message,None\r
-            else:\r
-                liste_valeurs.append(chaine)\r
-        return message,liste_valeurs\r
-\r
-    def verif_valeurs(self, liste_valeurs):\r
-        """ Cette méthode teste tous les éléments de la liste, et retourne 1 si chaque\r
-            élément est dans le domaine voulu.\r
-        """\r
-        message = ""\r
-        for valeur in liste_valeurs:\r
-            test = self.item.IsInIntervalle(valeur)\r
-            if test == 0:\r
-                intervalle = str(self.item.GetIntervalle()[0])+","+str(self.item.GetIntervalle()[1])\r
-                message = "La valeur "+str(valeur)+" n'est pas dans l'intervalle ["+intervalle+"]"\r
-                return message\r
-        return message\r
-\r
-    def ajouter_valeurs(self, liste_valeurs):\r
-        """ Cette méthode ajoute les nouvelles valeurs à la liste existante."""\r
-        liste = self.panel.Liste_valeurs.get_liste()\r
-        liste.extend(liste_valeurs)\r
+        self.but_save.configure(text="Ajouter",command=self.traite_selection)
+        # séparateur par défaut
+        self.separateur = ";"
+        # création de la zone de saisie du séparateur
+        l_separateurs_autorises = self.get_separateurs_autorises()
+        self.choix_sep = Pmw.ComboBox(self.frame_boutons,
+                                      label_text = "Séparateur :",
+                                      labelpos = 'w',
+                                      listheight = 100,
+                                      selectioncommand = self.choose_separateur,
+                                      scrolledlist_items = l_separateurs_autorises)
+        self.choix_sep.component('entry').configure(width=6)
+        self.choix_sep.place(relx=0.01,rely=0.5,anchor='w')
+        self.choix_sep.selectitem(self.separateur)
+        # Replacement
+        self.but_quit.place_forget()
+        self.but_save.place_forget()
+        self.but_save.place(relx=0.6,rely=0.5,anchor='center')
+        self.but_quit.place(relx=0.8,rely=0.5,anchor='center')
+
+    def get_separateurs_autorises(self):
+        """
+        Retourne la liste des séparateurs autorisés
+        """
+        return ['espace',';',',']
+
+    def choose_separateur(self,nom_sep):
+        """
+        Affecte à self.separateur le caractère séparateur correspondant à nom_sep
+        """
+        if nom_sep == 'espace' :
+            self.separateur = ' '
+        else:
+            self.separateur = nom_sep
+        
+    def traite_selection(self):
+        """ Cette méthode effectue tous les traitements nécessaires pour vérifier
+            et affecter la liste de valeurs à l'objet réprésenté par self.item
+        """
+        # Récupère la liste des chaines de caractères de la zone sélectionnée
+        message,liste = self.recupere_liste()
+        if self.test_probleme(message,"Sélectionnez des données") == 0:
+            return
+        # Vérifie que le nombre de données est dans les limites attendues
+        message = self.verif_liste(liste)
+        if self.test_probleme(message,"Vérifiez le nombre de données") == 0:
+            return
+        # Crée une liste de valeurs du type attendu
+        message,liste_valeurs = self.creation_liste_valeurs(liste)
+        if self.test_probleme(message,"Vérifiez le type des données") == 0:
+            return
+        # Vérifie que chaque valeur est dans le domaine exigé
+        message = self.verif_valeurs(liste_valeurs)
+        if self.test_probleme(message,"Vérifiez le domaine des valeurs") == 0:
+            return
+        # Ajoute les valeurs dans la liste de valeurs du mot-clé
+        self.ajouter_valeurs(liste_valeurs)
+        self.appli.affiche_infos("Liste de valeurs acceptée")
+
+    def test_probleme(self, message, message_eficas):
+        """ Cette méthode affiche un message d'erreur si message != ''
+            et retourne 0, sinon retourne 1 sans rien afficher.
+        """
+        if message != "":
+            showinfo("Problème",message)
+            self.fenetre.tkraise()
+            self.appli.affiche_infos(message_eficas)
+            return 0
+        else:
+            return 1
+
+    def recupere_liste(self):
+        """ Cette méthode récupère le texte de la zone sélectionnée, construit et
+            retourne une liste avec les chaines qui se trouvent entre les séparateurs.
+            S'il n'y a pas de données selectionnées, elle retourne un message d'erreur
+            et une liste vide.
+        """
+        message = ""
+        try:
+            selection=self.fenetre.selection_get()
+        except:
+            message = "Pas de donnée sélectionnée"
+            return message,None
+        # les retours chariots doivent être interprétés comme des séparateurs
+        selection = string.replace(selection,'\n',self.separateur)
+        # on splitte la sélection suivant le caractère séparateur
+        liste_chaines = string.split(selection,self.separateur)
+        l_chaines = []
+        for chaine in liste_chaines:
+            chaine = string.strip(chaine)
+            if chaine != '' : l_chaines.append(chaine)
+        return message,l_chaines
+
+    def verif_liste(self, liste):
+        """ Cette méthode effectue des tests sur le nombre d'éléments de la liste
+            et retourne 1 si la liste est correcte, sinon 0 et le message d'erreur
+            correspondant.
+        """
+        message = ""
+        # nombre d'éléments sélectionnés
+        nombre_elements = len(liste)
+        # nombre d'éléments déja dans la liste du panel
+        nombre_in_liste = len(self.panel.Liste_valeurs.get_liste())
+        multiplicite = self.item.GetMultiplicite()
+        if (nombre_elements % multiplicite) != 0:
+            message = "Vous devez sélectionner "+str(multiplicite)+" * n données"
+            return message
+        nombre_valeurs = nombre_elements / multiplicite
+        cardinalite = self.item.GetMinMax()
+        if nombre_valeurs < cardinalite[0]:
+            message = "Vous devez sélectionner au moins "+str(cardinalite[0])+" valeurs"
+            return message
+        if cardinalite[1] != "**" and nombre_valeurs > (long(cardinalite[1])-nombre_in_liste):
+            message = "La liste ne peut avoir plus de "+str(cardinalite[1])+" valeurs"
+            return message
+
+        return message
+
+    def creation_liste_valeurs(self, liste):
+        """ Cette méthode crée et retourne une liste de valeurs du type attendu
+            par le mot-clé. La liste de valeurs est créée à partir de la liste
+            de chaines de caractères transmise.
+        """
+        type_attendu = self.item.GetType()[0]
+        if type_attendu == 'R':
+            return self.convertir(liste, f_conversion= float)
+        elif type_attendu == 'I':
+            return self.convertir(liste, f_conversion= int)
+        elif type_attendu == 'TXM':
+            return self.convertir(liste)
+        else:
+            message = "Seuls les entiers, les réels et les chaines de caractères sont convertis"
+            return message,None
+
+    def convertir(self, liste, f_conversion=None):
+        """ Cette méthode essaie de convertir les éléments de la liste avec la
+            fonction f_conversion si elle existe, et retourne la liste des
+            éléments dans le type voulu en cas de succès, sinon retourne None.
+        """
+        liste_valeurs = []
+        message = ""
+        for chaine in liste:
+            if f_conversion:
+                try:
+                    liste_valeurs.append(f_conversion(chaine))
+                except:
+                    message = "Impossible de convertir "+chaine+" dans le type attendu"
+                    return message,None
+            else:
+                liste_valeurs.append(chaine)
+        return message,liste_valeurs
+
+    def verif_valeurs(self, liste_valeurs):
+        """ Cette méthode teste tous les éléments de la liste, et retourne 1 si chaque
+            élément est dans le domaine voulu.
+        """
+        message = ""
+        for valeur in liste_valeurs:
+            test = self.item.IsInIntervalle(valeur)
+            if test == 0:
+                intervalle = str(self.item.GetIntervalle()[0])+","+str(self.item.GetIntervalle()[1])
+                message = "La valeur "+str(valeur)+" n'est pas dans l'intervalle ["+intervalle+"]"
+                return message
+        return message
+
+    def ajouter_valeurs(self, liste_valeurs):
+        """ Cette méthode ajoute les nouvelles valeurs à la liste existante."""
+        liste = self.panel.Liste_valeurs.get_liste()
+        liste.extend(liste_valeurs)
         self.panel.Liste_valeurs.put_liste(liste)
 
 class Formulaire:
-    """\r
+    """
     Cette classe permet de créer une boîte Dialog dans laquelle
-    on affiche un formulaire à remplir par l'utilisateur\r
+    on affiche un formulaire à remplir par l'utilisateur
     """
-    def __init__(self,fen_pere,obj_pere=None,titre="",texte="",items=(),mode='query',commande=None):\r
+    def __init__(self,fen_pere,obj_pere=None,titre="",texte="",items=(),mode='query',commande=None):
         if items in ((),[]) : return
         self.items = items
         self.titre = titre
@@ -364,25 +364,25 @@ class Formulaire:
         self.command = commande
         self.display()
 
-    def display(self):\r
+    def display(self):
         self.init_validateurs()
         self.init_fenetre()
         self.init_texte()
         self.init_items_formulaire()
         self.fenetre.activate(geometry='centerscreenalways')
-\r
-    def init_validateurs(self):\r
-        """\r
-        Crée le dictionnaire des validateurs des objets reconnus par le formulaire\r
-        """\r
-        self.d_validateurs = {}\r
-        self.d_validateurs['rep']  = self.repvalidator\r
-        self.d_validateurs['file'] = self.filevalidator\r
-        self.d_validateurs['cata']= self.catavalidator\r
+
+    def init_validateurs(self):
+        """
+        Crée le dictionnaire des validateurs des objets reconnus par le formulaire
+        """
+        self.d_validateurs = {}
+        self.d_validateurs['rep']  = self.repvalidator
+        self.d_validateurs['file'] = self.filevalidator
+        self.d_validateurs['cata']= self.catavalidator
         
-    def init_fenetre(self):\r
-        """\r
-        Crée la fenêtre Dialog\r
+    def init_fenetre(self):
+        """
+        Crée la fenêtre Dialog
         """
         if self.mode == 'query':
             buttons=('Valider','Annuler')
@@ -398,118 +398,118 @@ class Formulaire:
                                   buttons=buttons,
                                   defaultbutton = defaultbutton,
                                   title = self.titre,
-                                  command = self.execute)\r
+                                  command = self.execute)
         self.fenetre.withdraw()
         
-    def init_texte(self):\r
-        """\r
-        Crée le label qui affiche le texte à l'intérieur du panneau\r
+    def init_texte(self):
+        """
+        Crée le label qui affiche le texte à l'intérieur du panneau
         """
-        fonte=fontes.standard\r
-        fr_texte = Frame(self.fenetre.interior(),height=60)\r
+        fonte=fontes.standard
+        fr_texte = Frame(self.fenetre.interior(),height=60)
         fr_texte.pack(side='top',fill='x',expand=1)
         Label(fr_texte,text = self.texte, font=fonte).place(relx=0.5,rely=0.5,anchor='center')
-\r
-    def init_items_formulaire(self):\r
-        """\r
-        Crée et affiche les items dans la boîte de dialogue\r
-        """\r
-        self.radiobut = 0\r
-        self.widgets = []\r
-        self.item_widgets = {}\r
-        length_maxi = 0\r
+
+    def init_items_formulaire(self):
+        """
+        Crée et affiche les items dans la boîte de dialogue
+        """
+        self.radiobut = 0
+        self.widgets = []
+        self.item_widgets = {}
+        length_maxi = 0
         for item in self.items:
-            if len(item[0])>length_maxi : length_maxi = len(item[0])\r
-        window = self.fenetre.interior()\r
-        for item in self.items :\r
-            label,nature,nom_var,defaut = item\r
-            # création de la frame\r
-            fr_item = Frame(window,height=40,width=700)\r
-            fr_item.pack(side='top',fill='x',expand=1)\r
-            # création du label\r
-            Label(fr_item,text = label).place(relx=0.05,rely=0.4)\r
+            if len(item[0])>length_maxi : length_maxi = len(item[0])
+        window = self.fenetre.interior()
+        for item in self.items :
+            label,nature,nom_var,defaut = item
+            # création de la frame
+            fr_item = Frame(window,height=40,width=700)
+            fr_item.pack(side='top',fill='x',expand=1)
+            # création du label
+            Label(fr_item,text = label).place(relx=0.05,rely=0.4)
             if nature in ('rep','file','cata'):
-                # création de l'entry\r
-                e_item = Entry(fr_item) \r
-                e_item.place(relx=0.5,rely=0.4,relwidth=0.45)\r
-                self.widgets.append(e_item)\r
-                self.item_widgets[item] = e_item\r
-                if defaut : e_item.insert(0,str(defaut))\r
-            elif nature == 'YesNo':\r
-                # création de la StringVar\r
-                var = StringVar()\r
-                setattr(self,'item_'+nom_var,var)\r
-                var.set(defaut)\r
-                # création du radiobouton\r
-                rb1 = Radiobutton(fr_item,text='OUI',variable=var,value='OUI')\r
-                rb2 = Radiobutton(fr_item,text='NON',variable=var,value='NON')\r
-                rb1.place(relx=0.65,rely=0.5,anchor='center')\r
-                rb2.place(relx=0.80,rely=0.5,anchor='center')\r
-                self.widgets.append((rb1,rb2))\r
-                self.item_widgets[item] = var\r
-        # détermination de la méthode à appliquer sur les boutons\r
-        if self.mode == 'query':\r
-            function = self.active\r
-        elif self.mode == 'display':\r
-            function = self.inactive\r
-        else:\r
-            return\r
-        # on applique la méthode sur les boutons (activation ou désactivation)    \r
-        for widget in self.widgets :\r
-            if type(widget) == types.TupleType:\r
-                for widg in widget :\r
-                    apply(function,(widg,),{})\r
-            else:\r
-                apply(function,(widget,),{})\r
-\r
-    def active(self,widget):\r
-        """\r
-        Active le widget passé en argument\r
-        """\r
-        widget.configure(state='normal',bg='white')\r
-\r
-    def inactive(self,widget):\r
-        """\r
-        Inactive le widget passé en argument\r
-        """\r
-        if not isinstance(widget,Radiobutton) :\r
-            widget.configure(state='disabled',bg='gray95')\r
-        else :\r
-            widget.configure(state='disabled')\r
-\r
-# --------------------------------------------------------------------------------\r
-#       Validateurs des noms de répertoire, de fichiers et de catalogues\r
-# --------------------------------------------------------------------------------\r
+                # création de l'entry
+                e_item = Entry(fr_item) 
+                e_item.place(relx=0.5,rely=0.4,relwidth=0.45)
+                self.widgets.append(e_item)
+                self.item_widgets[item] = e_item
+                if defaut : e_item.insert(0,str(defaut))
+            elif nature == 'YesNo':
+                # création de la StringVar
+                var = StringVar()
+                setattr(self,'item_'+nom_var,var)
+                var.set(defaut)
+                # création du radiobouton
+                rb1 = Radiobutton(fr_item,text='OUI',variable=var,value='OUI')
+                rb2 = Radiobutton(fr_item,text='NON',variable=var,value='NON')
+                rb1.place(relx=0.65,rely=0.5,anchor='center')
+                rb2.place(relx=0.80,rely=0.5,anchor='center')
+                self.widgets.append((rb1,rb2))
+                self.item_widgets[item] = var
+        # détermination de la méthode à appliquer sur les boutons
+        if self.mode == 'query':
+            function = self.active
+        elif self.mode == 'display':
+            function = self.inactive
+        else:
+            return
+        # on applique la méthode sur les boutons (activation ou désactivation)  
+        for widget in self.widgets :
+            if type(widget) == types.TupleType:
+                for widg in widget :
+                    apply(function,(widg,),{})
+            else:
+                apply(function,(widget,),{})
+
+    def active(self,widget):
+        """
+        Active le widget passé en argument
+        """
+        widget.configure(state='normal',bg='white')
+
+    def inactive(self,widget):
+        """
+        Inactive le widget passé en argument
+        """
+        if not isinstance(widget,Radiobutton) :
+            widget.configure(state='disabled',bg='gray95')
+        else :
+            widget.configure(state='disabled')
+
+# --------------------------------------------------------------------------------
+#       Validateurs des noms de répertoire, de fichiers et de catalogues
+# -------------------------------------------------------------------------------
 
     def repvalidator(self,text):
-        """\r
-        Teste si text peut faire référence à un répertoire ou non\r
-        Retourne 1 si valide, 0 sinon\r
-        """\r
+        """
+        Teste si text peut faire référence à un répertoire ou non
+        Retourne 1 si valide, 0 sinon
+        """
         return os.path.isdir(text),'Répertoire introuvable : %s' %text
 
     def filevalidator(self,text):
-        """\r
-        Teste si text peut faire référence à un fichier ou non\r
-        Retourne 1 si valide, 0 sinon\r
-        """\r
+        """
+        Teste si text peut faire référence à un fichier ou non
+        Retourne 1 si valide, 0 sinon
+        """
         return os.path.isfile(text),'Fichier introuvable : %s' %text
-\r
-    def catavalidator(self,text):\r
-        """\r
-        Teste si  text est un chemin d'accès valide à un catalogue\r
-        Retourne 1 si valide, 0 sinon\r
-        """\r
-        return os.path.isfile(text),"Catalogue introuvable : %s" %text\r
-\r
-# --------------------------------------------------------------------------------\r
-#       Méthodes callbacks des boutons et de fin\r
-# --------------------------------------------------------------------------------\r
+
+    def catavalidator(self,text):
+        """
+        Teste si  text est un chemin d'accès valide à un catalogue
+        Retourne 1 si valide, 0 sinon
+        """
+        return os.path.isfile(text),"Catalogue introuvable : %s" %text
+
+# --------------------------------------------------------------------------------
+#       Méthodes callbacks des boutons et de fin
+# --------------------------------------------------------------------------------
         
-    def execute(self,txt):\r
-        """\r
-        Cette commande est activée à chaque clic sur un bouton.\r
-        Redirige l'action sur la bonne méthode en fonction du bouton activé\r
+    def execute(self,txt):
+        """
+        Cette commande est activée à chaque clic sur un bouton.
+        Redirige l'action sur la bonne méthode en fonction du bouton activé
         """
         if txt == 'Valider':
             self.fini()
@@ -522,26 +522,26 @@ class Formulaire:
             print "Nom de bouton inconnu"
             self.quit()
 
-    def fini(self):\r
-        """\r
-        Commande qui termine le panneau et sauvegarde les nouvelles options\r
-        dans l'objet resultat (dictionnaire)\r
+    def fini(self):
+        """
+        Commande qui termine le panneau et sauvegarde les nouvelles options
+        dans l'objet resultat (dictionnaire)
         """
         dico={}
-        for item,widget in self.item_widgets.items():\r
-            nom_var = item[2]\r
+        for item,widget in self.item_widgets.items():
+            nom_var = item[2]
             type_var = item[1]
-            valeur = widget.get()\r
-            if self.d_validateurs.has_key(type_var):\r
-                test = self.d_validateurs[type_var](valeur)\r
-                if not test :\r
-                    # une entrée n'est pas valide --> on la met en surbrillance et on quitte la méthode\r
-                    # sans tuer la fenêtre bien sûr\r
-                    widget.selection_range(0,END)\r
+            valeur = widget.get()
+            if self.d_validateurs.has_key(type_var):
+                test = self.d_validateurs[type_var](valeur)
+                if not test :
+                    # une entrée n'est pas valide --> on la met en surbrillance et on quitte la méthode
+                    # sans tuer la fenêtre bien sûr
+                    widget.selection_range(0,END)
                     return
             dico[nom_var] = valeur
         self.fenetre.destroy()    
-        self.resultat=dico\r
+        self.resultat=dico
         
     def quit(self):
         self.fenetre.destroy()
@@ -684,12 +684,16 @@ class ListeChoix :
     def get_liste_old(self):
         return self.liste
 
+    # PN attention à la gestion des paramétres
+    # cela retourne H = 1 , et ni H, ni 1
+    #            print repr(val)
+    #            print val.__class__.__name__
     def get_liste(self):
         l=[]
         for val in self.liste:
             try:
-                val = eval(val)
-                l.append(val)
+                v = eval(val)
+               l.append(v)
             except:
                 l.append(val)
         return l
@@ -751,9 +755,9 @@ class Affichage :
       self.progress.update()
 
 class Ask_Format_Fichier :
-    """\r
+    """
     Cette classe permet de créer une fenêtre Toplevel dans laquelle
-    on propose le choix du format de fichier de commandes à ouvrir\r
+    on propose le choix du format de fichier de commandes à ouvrir
     """
     def __init__(self,appli):
         self.fenetre = Toplevel()