6 Retourne 1 si self est une MCList (liste de mots-clés), 0 sinon (défaut)
10 def get_index(self,objet):
12 Retourne la position d'objet dans la liste self
14 return self.data.index(objet)
16 def ajout_possible(self):
18 Méthode booléenne qui retourne 1 si on peut encore ajouter une occurrence
19 de l'élément que contient self, 0 sinon
21 max = self.data[0].definition.max
32 if i.isoblig():return 1
35 def liste_mc_presents(self):
38 def delete_concept(self,sd):
43 Mettre a jour les fils de l objet suite à la disparition
45 Seuls les mots cles simples MCSIMP font un traitement autre
46 que de transmettre aux fils
48 for child in self.data :
49 child.delete_concept(sd)
53 Réalise la copie d'une MCList
55 liste = self.data[0].definition.list_instance()
56 # FR -->Il faut spécifier un parent pour la méthode init qui attend 2 arguments ...
57 liste.init(self.nom,self.parent)
59 new_obj = objet.copy()
60 # Pour etre coherent avec le constructeur de mots cles facteurs N_FACT.__call__
61 # dans lequel le parent de l'element d'une MCList est le parent de la MCList
62 new_obj.reparent(self.parent)
67 return self.data[0].definition.get_docu()
69 def get_liste_mc_inconnus(self):
71 Retourne la liste des mots-clés inconnus dans self
74 for mcfact in self.data :
75 if mcfact.isvalid() : continue
76 l_child = mcfact.get_liste_mc_inconnus()
83 def verif_condition_regles(self,liste_presents):
85 Retourne la liste des mots-clés à rajouter pour satisfaire les règles
86 en fonction de la liste des mots-clés présents
88 # Sans objet pour une liste de mots clés facteurs
91 def verif_condition_bloc(self):
93 Evalue les conditions de tous les blocs fils possibles
94 (en fonction du catalogue donc de la définition) de self et
95 retourne deux listes :
96 - la première contient les noms des blocs à rajouter
97 - la seconde contient les noms des blocs à supprimer
99 # Sans objet pour une liste de mots clés facteurs
102 def init_modif(self):
104 Met l'état de l'objet à modified et propage au parent
105 qui vaut None s'il n'existe pas
107 self.state = 'modified'
109 self.parent.init_modif()
113 Retourne l'étape à laquelle appartient self
114 Un objet de la catégorie etape doit retourner self pour indiquer que
115 l'étape a été trouvée
116 XXX double emploi avec self.etape ???
118 if self.parent == None: return None
119 return self.parent.get_etape()
121 def get_genealogie(self):
123 Retourne la liste des noms des ascendants.
124 Un objet MCList n'est pas enregistré dans la genealogie.
125 XXX Meme si le MCFACT fils ne l'est pas lui non plus ????
128 return self.parent.get_genealogie()
132 def get_liste_mc_ordonnee_brute(self,liste,dico):
134 Retourne la liste ordonnée (suivant le catalogue) BRUTE des mots-clés
135 d'une entité composée dont le chemin complet est donné sous forme
136 d'une liste du type :ETAPE + MCFACT ou MCBLOC + ...
139 objet_cata = dico[arg]
141 return objet_cata.liste
143 def reparent(self,parent):
145 Cette methode sert a reinitialiser la parente de l'objet
150 for mcfact in self.data:
151 mcfact.reparent(parent)