]> SALOME platform Git repositories - tools/eficas.git/blob - InterfaceQT4/compojdc.py
Salome HOME
a0614f1c298d25273bfc73587a519a60682ffe0f
[tools/eficas.git] / InterfaceQT4 / compojdc.py
1 # -*- coding: utf-8 -*-
2
3 from Editeur import Objecttreeitem
4 import browser
5
6
7 class Node(browser.JDCNode):
8     def getPanel(self):
9         """
10         """
11         from monRacinePanel import MonRacinePanel
12         return MonRacinePanel(self,parent=self.editor)
13
14
15
16 class JDCTreeItem(Objecttreeitem.ObjectTreeItem):
17   itemNode=Node
18   
19   def IsExpandable(self):
20     return 1
21
22   def GetText(self):
23       return  "    "
24
25   def GetLabelText(self):
26       # None --> fonte et couleur par défaut
27       return self.object.nom,None,None
28
29   def get_jdc(self):
30     """
31     Retourne l'objet pointé par self
32     """
33     return self.object
34   
35   def GetIconName(self):
36     if self.object.isvalid():
37       return "ast-green-square"
38     else:
39       return "ast-red-square"
40
41   def keys(self):
42       if self.object.etapes_niveaux != []:
43           return range(len(self.object.etapes_niveaux))
44       else:
45           return range(len(self.object.etapes))
46
47   def additem(self,name,pos):
48       cmd = self._object.addentite(name,pos)
49       return cmd
50
51   def suppitem(self,item) :
52     # item             = item de l'ETAPE à supprimer du JDC
53     # item.getObject() = ETAPE ou COMMENTAIRE
54     # self.object      = JDC
55
56     itemobject=item.getObject()
57     if self.object.suppentite(itemobject):
58        if itemobject.nature == "COMMENTAIRE" :
59           message = "Commentaire supprimé"
60        else :
61           message = "Commande " + itemobject.nom + " supprimée"
62        self.appli.affiche_infos(message)
63        return 1
64     else:
65        self.appli.affiche_infos("Pb interne : impossible de supprimer cet objet",Qt.red)
66        return 0
67
68   def GetSubList(self):
69     """
70        Retourne la liste des items fils de l'item jdc.
71        Cette liste est conservee et mise a jour a chaque appel
72     """
73     if self.object.etapes_niveaux != []:
74         liste = self.object.etapes_niveaux
75     else:
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()
81        if old_obj in liste:
82           pos=liste.index(old_obj)
83           sublist[pos]=item
84        else:
85           pass # objets supprimes ignores
86     # ajout des items lies aux nouveaux objets
87     pos=0
88     for obj in liste:
89        if sublist[pos] is None:
90           # nouvel objet : on cree un nouvel item
91           item = self.make_objecttreeitem(self.appli, obj.nom + " : ", obj)
92           sublist[pos]=item
93        pos=pos+1
94
95     self.sublist=sublist
96     return self.sublist
97
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()
101
102   def get_liste_cmd(self):
103       listeCmd = self.object.niveau.definition.get_liste_cmd()
104       return listeCmd
105
106 import Accas
107 treeitem =JDCTreeItem
108 objet = Accas.JDC