-#@ MODIF compojdc Editeur DATE 02/07/2001 AUTEUR D6BHHJP J.P.LEFEBVRE
+# -*- coding: utf-8 -*-
# CONFIGURATION MANAGEMENT OF EDF VERSION
# ======================================================================
-# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
-# SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND
-# REDISTRIBUTION OF THIS FILE.
+# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
# ======================================================================
-#XXX est ce utile ?from Tkinter import *
import Pmw
import Objecttreeitem
import panels
from widgets import ListeChoix
-# XXX temporairement supprimé :from Accas import commentaire
class JDCPanel(panels.OngletPanel):
def init(self):
self.bouton_com.pack_forget()
self.makeJDCPage(panneau.pane('left'))
self.makeReglesPage(panneau.pane('right'))
+ self.enlevebind()
def makeReglesPage(self,page) :
regles = []
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)
+import treewidget
+class Node(treewidget.Node):
+ def doPaste_Commande(self,objet_a_copier):
+ """
+ Réalise la copie de l'objet passé en argument qui est nécessairement
+ une commande
+ """
+ #child = self.item.append_child(objet_a_copier,pos='first')
+ child = self.append_child(objet_a_copier,pos='first',retour='oui')
+ #if child is None : return 0
+ return child
+
+
class JDCTreeItem(Objecttreeitem.ObjectTreeItem):
panel = JDCPanel
+ itemNode=Node
def IsExpandable(self):
-# return len(self.object.etapes) > 0
return 1
- def isJdc(self):
- """
- Retourne 1 si l'objet pointé par self est un JDC, 0 sinon
- """
- return 1
-
def GetText(self):
return " "
+ def GetLabelText(self):
+ # None --> fonte et couleur par défaut
+ return self.object.nom,None,None
+
def get_jdc(self):
"""
Retourne l'objet pointé par self
return range(len(self.object.etapes))
def additem(self,name,pos):
- if isinstance(name,Objecttreeitem.ObjectTreeItem) :
- cmd=self.object.addentite(name.object,pos)
- else :
- cmd = self.object.addentite(name,pos)
- item = self.make_objecttreeitem(self.appli,cmd.nom + " : ", cmd)
- return item
+ cmd = self._object.addentite(name,pos)
+ return cmd
def suppitem(self,item) :
# item = item de l'ETAPE à supprimer du JDC
- # item.object = ETAPE ou COMMENTAIRE
+ # item.getObject() = ETAPE ou COMMENTAIRE
# self.object = JDC
- self.object.suppentite(item.object)
- if item.object.nature == "COMMENTAIRE" :
- message = "Commentaire supprimé"
- self.appli.affiche_infos(message)
- else :
- message = "Commande " + item.object.nom + " supprimée"
- self.appli.affiche_infos(message)
- return 1
+ itemobject=item.getObject()
+ if self.object.suppentite(itemobject):
+ if itemobject.nature == "COMMENTAIRE" :
+ message = "Commentaire supprimé"
+ else :
+ message = "Commande " + itemobject.nom + " supprimée"
+ self.appli.affiche_infos(message)
+ return 1
+ else:
+ self.appli.affiche_infos("Pb interne : impossible de supprimer cet objet")
+ return 0
def GetSubList(self):
- sublist=[]
+ """
+ Retourne la liste des items fils de l'item jdc.
+ Cette liste est conservee et mise a jour a chaque appel
+ """
if self.object.etapes_niveaux != []:
liste = self.object.etapes_niveaux
else:
liste = self.object.etapes
- key=0
- for value in liste:
- def setfunction(value, key=key, object=liste):
- object[key] = value
- item = self.make_objecttreeitem(self.appli,value.ident() + " : ", value, setfunction)
- sublist.append(item)
- key=key+1
- return sublist
-
- def verif_condition_bloc(self):
- # retourne la liste des sous-items dont la condition est valide
- # sans objet pour le JDC
- return [],[]
+ sublist=[None]*len(liste)
+ # suppression des items lies aux objets disparus
+ for item in self.sublist:
+ old_obj=item.getObject()
+ if old_obj in liste:
+ pos=liste.index(old_obj)
+ sublist[pos]=item
+ else:
+ pass # objets supprimes ignores
+ # ajout des items lies aux nouveaux objets
+ pos=0
+ for obj in liste:
+ if sublist[pos] is None:
+ # nouvel objet : on cree un nouvel item
+ item = self.make_objecttreeitem(self.appli, obj.nom + " : ", obj)
+ sublist[pos]=item
+ pos=pos+1
+
+ self.sublist=sublist
+ return self.sublist
def get_l_noms_etapes(self):
""" Retourne la liste des noms des étapes de self.object"""
return self.object.get_l_noms_etapes()
-
+ def get_liste_cmd(self):
+ #print "get_liste_cmd",self.object.niveau.definition
+ listeCmd = self.object.niveau.definition.get_liste_cmd()
+ return listeCmd
+
import Accas
treeitem =JDCTreeItem
objet = Accas.JDC