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