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 Une MCList n'est jamais obligatoire (même si le MCFACT qu'elle représente l'est
36 # if i.isoblig():return 1
39 def liste_mc_presents(self):
42 def delete_concept(self,sd):
47 Mettre a jour les fils de l objet suite à la disparition
49 Seuls les mots cles simples MCSIMP font un traitement autre
50 que de transmettre aux fils
52 for child in self.data :
53 child.delete_concept(sd)
57 Réalise la copie d'une MCList
59 liste = self.data[0].definition.list_instance()
60 # FR -->Il faut spécifier un parent pour la méthode init qui attend 2 arguments ...
61 liste.init(self.nom,self.parent)
63 new_obj = objet.copy()
64 # Pour etre coherent avec le constructeur de mots cles facteurs N_FACT.__call__
65 # dans lequel le parent de l'element d'une MCList est le parent de la MCList
66 new_obj.reparent(self.parent)
71 return self.data[0].definition.get_docu()
73 def get_liste_mc_inconnus(self):
75 Retourne la liste des mots-clés inconnus dans self
78 for mcfact in self.data :
79 if mcfact.isvalid() : continue
80 l_child = mcfact.get_liste_mc_inconnus()
87 def verif_condition_regles(self,liste_presents):
89 Retourne la liste des mots-clés à rajouter pour satisfaire les règles
90 en fonction de la liste des mots-clés présents
92 # Sans objet pour une liste de mots clés facteurs
95 def verif_condition_bloc(self):
97 Evalue les conditions de tous les blocs fils possibles
98 (en fonction du catalogue donc de la définition) de self et
99 retourne deux listes :
100 - la première contient les noms des blocs à rajouter
101 - la seconde contient les noms des blocs à supprimer
103 # Sans objet pour une liste de mots clés facteurs
106 def init_modif(self):
108 Met l'état de l'objet à modified et propage au parent
109 qui vaut None s'il n'existe pas
111 self.state = 'modified'
113 self.parent.init_modif()
117 Retourne l'étape à laquelle appartient self
118 Un objet de la catégorie etape doit retourner self pour indiquer que
119 l'étape a été trouvée
120 XXX double emploi avec self.etape ???
122 if self.parent == None: return None
123 return self.parent.get_etape()
125 def get_genealogie(self):
127 Retourne la liste des noms des ascendants.
128 Un objet MCList n'est pas enregistré dans la genealogie.
129 XXX Meme si le MCFACT fils ne l'est pas lui non plus ????
132 return self.parent.get_genealogie()
136 def get_liste_mc_ordonnee_brute(self,liste,dico):
138 Retourne la liste ordonnée (suivant le catalogue) BRUTE des mots-clés
139 d'une entité composée dont le chemin complet est donné sous forme
140 d'une liste du type :ETAPE + MCFACT ou MCBLOC + ...
143 objet_cata = dico[arg]
145 return objet_cata.liste
147 def reparent(self,parent):
149 Cette methode sert a reinitialiser la parente de l'objet
153 self.etape=parent.etape
154 for mcfact in self.data:
155 mcfact.reparent(parent)
157 def verif_existence_sd(self):
159 Vérifie que les structures de données utilisées dans self existent bien dans le contexte
160 avant étape, sinon enlève la référence à ces concepts
162 for motcle in self.data :
163 motcle.verif_existence_sd()