2 Ce module contient la classe COMMENTAIRE qui sert dans EFICAS
3 pour gérer les commentaires dans un JDC
6 from Noyau.N_CR import CR
10 Cette classe permet de créer des objets de type COMMENTAIRE
12 nature = 'COMMENTAIRE'
15 def __init__(self,valeur,parent=None):
16 # parent est un objet de type OBJECT (ETAPE ou MC ou JDC...)
19 self.jdc = self.parent = CONTEXT.get_current_step()
21 self.jdc = self.parent = parent
22 # La classe COMMENTAIRE n'a pas de définition. On utilise self
26 self.niveau = self.parent.niveau
32 Enregistre le commentaire dans la liste des étapes de son parent
33 lorsque celui-ci est un JDC
35 if self.parent.nature == 'JDC':
36 # le commentaire est entre deux commandes:
37 # il faut l'enregistrer dans la liste des étapes
38 self.parent.register(self)
42 Retourne 1 si self est valide, 0 sinon
43 Retourne toujours 1 car un commentaire est toujours valide
48 """ Indique si self est obligatoire ou non : retourne toujours 0 """
51 def isrepetable(self):
52 """ Indique si self est répétable ou non : retourne toujours 1 """
57 Rend l'etape courante active
63 Rend l'etape courante inactive
64 NB : un commentaire est toujours actif !
70 Booléenne qui retourne 1 si self est valide, 0 sinon
76 Méthode qui supprime toutes les boucles de références afin que
77 l'objet puisse être correctement détruit par le garbage collector
81 self.definition = None
84 def liste_mc_presents(self):
87 def get_valeur(self) :
88 """ Retourne la valeur de self, cad le contenu du commentaire """
94 def set_valeur(self,new_valeur):
96 Remplace la valeur de self(si elle existe) par new_valeur
98 self.valeur = new_valeur
101 def init_modif(self):
102 self.state = 'modified'
104 self.parent.init_modif()
106 def supprime_sdprods(self):
109 def update_context(self,d):
111 Update le dictionnaire d avec les concepts ou objets produits par self
112 --> ne fait rien pour un commentaire
117 """ Génère l'objet rapport (classe CR) """
119 if not self.isvalid(): self.cr.warn("Objet commentaire non valorisé")
123 """ Retourne le nom interne associé à self
124 Ce nom n'est jamais vu par l'utilisateur dans EFICAS
128 def delete_concept(self,sd):
131 def verif_condition_bloc(self):
133 Evalue les conditions de tous les blocs fils possibles
134 (en fonction du catalogue donc de la définition) de self et
135 retourne deux listes :
136 - la première contient les noms des blocs à rajouter
137 - la seconde contient les noms des blocs à supprimer
141 def verif_condition_regles(self,liste_presents):
143 Retourne la liste des mots-clés à rajouter pour satisfaire les règles
144 en fonction de la liste des mots-clés présents