From 5c55dadf5fcfbfa04b7362b28d510cbb6b523f8d Mon Sep 17 00:00:00 2001 From: eficas <> Date: Wed, 27 Mar 2002 16:20:02 +0000 Subject: [PATCH] =?utf8?q?F.R:=20Plusieurs=20bugs=20corrig=C3=A9s=20pour?= =?utf8?q?=20arriver=20=C3=A0=20=C3=A9crire=20la=20premi=C3=A8re=20moiti?= =?utf8?q?=C3=A9=20F.R:=20du=20cas=20test=20de=20recette=20d'EFICAS?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Editeur/appli.py | 1 + Editeur/treeitemincanvas.py | 2 +- Editeur/treewidget.py | 6 ++++-- Extensions/parametre_eval.py | 2 ++ Ihm/I_ETAPE.py | 4 ++++ Ihm/I_MCCOMPO.py | 8 +++++++- Ihm/I_MCLIST.py | 25 ++++++++++++++++++++++++- Ihm/I_MCSIMP.py | 10 ++++++++++ Ihm/I_OBJECT.py | 8 +++++++- 9 files changed, 60 insertions(+), 6 deletions(-) diff --git a/Editeur/appli.py b/Editeur/appli.py index f8b031f7..701d5766 100644 --- a/Editeur/appli.py +++ b/Editeur/appli.py @@ -110,6 +110,7 @@ class APPLI: root.option_add('*background', 'grey') root.option_add('*foreground', 'black') root.option_add('*EntryField.Entry.background', 'white') + root.option_add('*Entry*background', 'white') root.option_add('*Listbox*background', 'white') root.option_add('*Listbox*selectBackground', '#00008b') root.option_add('*Listbox*selectForeground', 'white') diff --git a/Editeur/treeitemincanvas.py b/Editeur/treeitemincanvas.py index 5ec26438..a9f60e76 100644 --- a/Editeur/treeitemincanvas.py +++ b/Editeur/treeitemincanvas.py @@ -25,7 +25,7 @@ class TREEITEMINCANVAS: self.parent=parent self.item=Objecttreeitem.make_objecttreeitem(self.appli,self.nom,self.object) - self.canvas=Pmw.ScrolledCanvas(self.parent,borderframe=1) + self.canvas=Pmw.ScrolledCanvas(self.parent,borderframe=1,canvas_background='gray95') self.canvas.pack(padx=10,pady=10,fill = 'both', expand = 1) if not sel: def sel(event=None): diff --git a/Editeur/treewidget.py b/Editeur/treewidget.py index a0d6554e..c80538f9 100644 --- a/Editeur/treewidget.py +++ b/Editeur/treewidget.py @@ -13,8 +13,8 @@ import fontes import images # -__version__="$Name: V1_1p1 $" -__Id__="$Id: treewidget.py,v 1.1.1.1 2001/12/04 15:38:23 eficas Exp $" +__version__="$Name: $" +__Id__="$Id: treewidget.py,v 1.1.1.1 2002/03/26 09:08:45 eficas Exp $" # Fonte_Standard = fontes.standard @@ -468,6 +468,7 @@ class Node : try: self.canvas.addtag_overlapping('move',bbox1[0],self.y +10,bbox1[2],bbox1[3]) except: + print "Erreur dans move :" print self print self.item print self.item.object @@ -493,6 +494,7 @@ class Node : try: child.trace_ligne() except: + print "Erreur dans trace_ligne :" print child print child.item.object diff --git a/Extensions/parametre_eval.py b/Extensions/parametre_eval.py index 73bf9bd6..a9685498 100644 --- a/Extensions/parametre_eval.py +++ b/Extensions/parametre_eval.py @@ -60,6 +60,8 @@ class PARAMETRE_EVAL(parametre.PARAMETRE) : """ if not val : return None d={} + val = string.strip(val) + if val[-1] == ';' : val = val[0:-1] d['EVAL'] = Accas.EVAL try: valeur = eval(val,{},d) diff --git a/Ihm/I_ETAPE.py b/Ihm/I_ETAPE.py index 8937c110..d6f6f58c 100644 --- a/Ihm/I_ETAPE.py +++ b/Ihm/I_ETAPE.py @@ -237,6 +237,10 @@ class ETAPE(I_MCCOMPO.MCCOMPO): etape.mc_liste=[] for objet in self.mc_liste: new_obj = objet.copy() + new_obj.parent = etape + if hasattr(new_obj,'isMcList') : + if new_obj.isMCList() : + new_obj.init(new_obj.nom,etape) etape.mc_liste.append(new_obj) return etape diff --git a/Ihm/I_MCCOMPO.py b/Ihm/I_MCCOMPO.py index 24f71cca..31efd18f 100644 --- a/Ihm/I_MCCOMPO.py +++ b/Ihm/I_MCCOMPO.py @@ -32,7 +32,7 @@ class MCCOMPO(I_OBJECT.OBJECT): """ l=[] objet = self - while objet.definition.label != 'JDC' : + while objet.nature != 'JDC' : if not objet.isMCList() : l.append(string.strip(objet.nom)) else : @@ -304,11 +304,17 @@ class MCCOMPO(I_OBJECT.OBJECT): def copy(self): """ Retourne une copie de self """ objet = self.makeobjet() + # FR : attention !!! avec makeobjet, objet a le même parent que self + # ce qui n'est pas du tout bon dans le cas d'une copie !!!!!!! + # FR : peut-on passer par là autrement que dans le cas d'une copie ??? + # FR --> je suppose que non + objet.parent = None objet.valeur = copy(self.valeur) objet.val = copy(self.val) objet.mc_liste=[] for obj in self.mc_liste: new_obj = obj.copy() + new_obj.parent = objet objet.mc_liste.append(new_obj) return objet diff --git a/Ihm/I_MCLIST.py b/Ihm/I_MCLIST.py index c08a3834..c58c6d40 100644 --- a/Ihm/I_MCLIST.py +++ b/Ihm/I_MCLIST.py @@ -49,11 +49,16 @@ class MCList: child.delete_concept(sd) def copy(self): + """ + Réalise la copie d'une MCList + """ liste = self.data[0].definition.list_instance() # XXX Pas de parent ?? - liste.init(self.nom) + # FR -->Il faut en spécifier un pour la méthode init qui attend 2 arguments ... + liste.init(self.nom,self.parent) for objet in self: new_obj = objet.copy() + new_obj.parent = liste liste.append(new_obj) return liste @@ -93,3 +98,21 @@ class MCList: # Sans objet pour une liste de mots clés facteurs return [],[] + def init_modif(self): + """ + Met l'état de l'objet à modified et propage au parent + qui vaut None s'il n'existe pas + """ + self.state = 'modified' + if self.parent: + self.parent.init_modif() + + def get_etape(self): + """ + Retourne l'étape à laquelle appartient self + Un objet de la catégorie etape doit retourner self pour indiquer que + l'étape a été trouvée + XXX double emploi avec self.etape ??? + """ + if self.parent == None: return None + return self.parent.get_etape() diff --git a/Ihm/I_MCSIMP.py b/Ihm/I_MCSIMP.py index 96fe6ccd..c7f3fb73 100644 --- a/Ihm/I_MCSIMP.py +++ b/Ihm/I_MCSIMP.py @@ -257,3 +257,13 @@ class MCSIMP(I_OBJECT.OBJECT): if issubclass(self.valeur.__class__,ASSD) : l.append(self.valeur) return l + + def set_valeur_co(self,nom_co): + """ + Affecte à self l'objet de type CO et de nom nom_co + """ + new_objet = CO(nom_co) + self.valeur = new_objet + self.val = new_objet + self.init_modif() + diff --git a/Ihm/I_OBJECT.py b/Ihm/I_OBJECT.py index 559ebcd5..04ef8cca 100644 --- a/Ihm/I_OBJECT.py +++ b/Ihm/I_OBJECT.py @@ -1,5 +1,6 @@ """ """ +import string class OBJECT: def isMCList(self): @@ -80,4 +81,9 @@ class OBJECT: """ return [],[] - + def get_genealogie(self): + """ + Retourne la liste des noms des ascendants (noms de MCSIMP,MCFACT,MCBLOC + ou ETAPE) de self jusqu'au premier objet etape rencontré + """ + return [] -- 2.39.2