]> SALOME platform Git repositories - tools/eficas.git/blob - InterfaceQT4/compojdc.py
Salome HOME
CCAR: merge de la version 1.14 dans la branche principale
[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     def doPasteCommande(self,objet_a_copier):
15         """
16           Réalise la copie de l'objet passé en argument qui est nécessairement
17           une commande
18         """
19         child = self.append_child(objet_a_copier,pos='first',retour='oui')
20         return child
21
22
23 class JDCTreeItem(Objecttreeitem.ObjectTreeItem):
24   itemNode=Node
25   
26   def IsExpandable(self):
27     return 1
28
29   def GetText(self):
30       return  "    "
31
32   def GetLabelText(self):
33       # None --> fonte et couleur par défaut
34       return self.object.nom,None,None
35
36   def get_jdc(self):
37     """
38     Retourne l'objet pointé par self
39     """
40     return self.object
41   
42   def GetIconName(self):
43     if self.object.isvalid():
44       return "ast-green-square"
45     else:
46       return "ast-red-square"
47
48   def keys(self):
49       if self.object.etapes_niveaux != []:
50           return range(len(self.object.etapes_niveaux))
51       else:
52           return range(len(self.object.etapes))
53
54   def additem(self,name,pos):
55       cmd = self._object.addentite(name,pos)
56       return cmd
57
58   def suppitem(self,item) :
59     # item             = item de l'ETAPE à supprimer du JDC
60     # item.getObject() = ETAPE ou COMMENTAIRE
61     # self.object      = JDC
62
63     itemobject=item.getObject()
64     if self.object.suppentite(itemobject):
65        if itemobject.nature == "COMMENTAIRE" :
66           message = "Commentaire supprimé"
67        else :
68           message = "Commande " + itemobject.nom + " supprimée"
69        self.appli.affiche_infos(message)
70        return 1
71     else:
72        self.appli.affiche_infos("Pb interne : impossible de supprimer cet objet")
73        return 0
74
75   def GetSubList(self):
76     """
77        Retourne la liste des items fils de l'item jdc.
78        Cette liste est conservee et mise a jour a chaque appel
79     """
80     if self.object.etapes_niveaux != []:
81         liste = self.object.etapes_niveaux
82     else:
83         liste = self.object.etapes
84     sublist=[None]*len(liste)
85     # suppression des items lies aux objets disparus
86     for item in self.sublist:
87        old_obj=item.getObject()
88        if old_obj in liste:
89           pos=liste.index(old_obj)
90           sublist[pos]=item
91        else:
92           pass # objets supprimes ignores
93     # ajout des items lies aux nouveaux objets
94     pos=0
95     for obj in liste:
96        if sublist[pos] is None:
97           # nouvel objet : on cree un nouvel item
98           item = self.make_objecttreeitem(self.appli, obj.nom + " : ", obj)
99           sublist[pos]=item
100        pos=pos+1
101
102     self.sublist=sublist
103     return self.sublist
104
105   def get_l_noms_etapes(self):
106       """ Retourne la liste des noms des étapes de self.object"""
107       return self.object.get_l_noms_etapes()
108
109   def get_liste_cmd(self):
110       listeCmd = self.object.niveau.definition.get_liste_cmd()
111       return listeCmd
112
113 import Accas
114 treeitem =JDCTreeItem
115 objet = Accas.JDC