1 # -*- coding: utf-8 -*-
3 from Editeur import Objecttreeitem
7 class Node(browser.JDCNode):
11 from monRacinePanel import MonRacinePanel
12 return MonRacinePanel(self,parent=self.editor)
16 class JDCTreeItem(Objecttreeitem.ObjectTreeItem):
19 def IsExpandable(self):
25 def GetLabelText(self):
26 # None --> fonte et couleur par défaut
27 return self.object.nom,None,None
31 Retourne l'objet pointé par self
35 def GetIconName(self):
36 if self.object.isvalid():
37 return "ast-green-square"
39 return "ast-red-square"
42 if self.object.etapes_niveaux != []:
43 return range(len(self.object.etapes_niveaux))
45 return range(len(self.object.etapes))
47 def additem(self,name,pos):
48 cmd = self._object.addentite(name,pos)
51 def suppitem(self,item) :
52 # item = item de l'ETAPE à supprimer du JDC
53 # item.getObject() = ETAPE ou COMMENTAIRE
56 itemobject=item.getObject()
57 if self.object.suppentite(itemobject):
58 if itemobject.nature == "COMMENTAIRE" :
59 message = "Commentaire supprimé"
61 message = "Commande " + itemobject.nom + " supprimée"
62 self.appli.affiche_infos(message)
65 self.appli.affiche_infos("Pb interne : impossible de supprimer cet objet",Qt.red)
70 Retourne la liste des items fils de l'item jdc.
71 Cette liste est conservee et mise a jour a chaque appel
73 if self.object.etapes_niveaux != []:
74 liste = self.object.etapes_niveaux
76 liste = self.object.etapes
77 sublist=[None]*len(liste)
78 # suppression des items lies aux objets disparus
79 for item in self.sublist:
80 old_obj=item.getObject()
82 pos=liste.index(old_obj)
85 pass # objets supprimes ignores
86 # ajout des items lies aux nouveaux objets
89 if sublist[pos] is None:
90 # nouvel objet : on cree un nouvel item
91 item = self.make_objecttreeitem(self.appli, obj.nom + " : ", obj)
98 def get_l_noms_etapes(self):
99 """ Retourne la liste des noms des étapes de self.object"""
100 return self.object.get_l_noms_etapes()
102 def get_liste_cmd(self):
103 listeCmd = self.object.niveau.definition.get_liste_cmd()
107 treeitem =JDCTreeItem