+ def get_contexte_avant(self,etape):
+ """
+ Retourne le dictionnaire des concepts connus avant etape
+ On tient compte des concepts produits par le jdc pere
+ en reactualisant le contexte initial context_ini
+ On tient compte des commandes qui modifient le contexte
+ comme DETRUIRE ou les macros
+ Si etape == None, on retourne le contexte en fin de JDC
+ """
+ self.context_ini = self.etape_include.parent.get_contexte_avant(self.etape_include).copy()
+ return JDC.get_contexte_avant(self,etape)
+
+ #def get_sd_avant_etape(self,nom_sd,etape):
+ #sd=self.etape_include.parent.get_sd_avant_etape(nom_sd,self.etape_include)
+ #if sd:return sd
+ #return JDC.get_sd_avant_etape(self,nom_sd,etape)
+
+ #def get_sd_avant_du_bon_type(self,etape,types_permis):
+ #"""
+ # Retourne la liste des concepts avant etape d'un type acceptable
+ #"""
+ #l1=self.etape_include.parent.get_sd_avant_du_bon_type(self.etape_include,types_permis)
+ #l2=JDC.get_sd_avant_du_bon_type(self,etape,types_permis)
+ #return l1+l2
+
+ def get_sd_apres_etape(self,nom_sd,etape,avec='non'):
+ """
+ Cette méthode retourne la SD de nom nom_sd qui est éventuellement
+ définie apres etape
+ Si avec vaut 'non' exclut etape de la recherche
+ """
+ sd=self.etape_include.parent.get_sd_apres_etape(nom_sd,self.etape_include,'non')
+ if sd:return sd
+ return JDC.get_sd_apres_etape(self,nom_sd,etape,avec)
+
+ def get_sd_apres_etape_avec_detruire(self,nom_sd,sd,etape,avec='non'):
+ """
+ On veut savoir ce que devient le concept sd de nom nom_sd apres etape.
+ Il peut etre detruit, remplacé ou conservé
+ Cette méthode retourne la SD sd de nom nom_sd qui est éventuellement
+ définie apres etape en tenant compte des concepts detruits
+ Si avec vaut 'non' exclut etape de la recherche
+ """
+ autre_sd=JDC.get_sd_apres_etape_avec_detruire(self,nom_sd,sd,etape,avec)
+ if autre_sd is None or autre_sd is not sd :return autre_sd
+ return self.etape_include.parent.get_sd_apres_etape_avec_detruire(nom_sd,sd,self.etape_include,'non')
+
+ def delete_concept(self,sd):
+ """
+ Fonction : Mettre a jour les etapes du JDC suite à la disparition du
+ concept sd
+ Seuls les mots cles simples MCSIMP font un traitement autre
+ que de transmettre aux fils
+ """
+ # Nettoyage des etapes de l'include
+ JDC.delete_concept(self,sd)
+ # Nettoyage des etapes du parent
+ self.etape_include.parent.delete_concept_after_etape(self.etape_include,sd)
+
+ def delete_concept_after_etape(self,etape,sd):
+ """
+ Fonction : Mettre à jour les étapes du JDC qui sont après etape suite à
+ la disparition du concept sd
+ """
+ # Nettoyage des etapes de l'include
+ JDC.delete_concept_after_etape(self,etape,sd)
+ # Nettoyage des etapes du parent
+ self.etape_include.parent.delete_concept_after_etape(self.etape_include,sd)
+
+ def replace_concept_after_etape(self,etape,old_sd,sd):
+ """
+ Fonction : Mettre à jour les étapes du JDC qui sont après etape suite au
+ remplacement du concept old_sd par sd
+ """
+ # Nettoyage des etapes de l'include
+ JDC.replace_concept_after_etape(self,etape,old_sd,sd)
+ # Nettoyage des etapes du parent
+ self.etape_include.parent.replace_concept_after_etape(self.etape_include,old_sd,sd)
+
+