X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2Freadercata.py;h=b0f63f57c857ce5f0cff5fed46879666ee792977;hb=91f8ed1cbaed8a138bc89ad058c99625b2aee6c5;hp=1f7b59109f327a86025235f0766581600b601bf7;hpb=16d5922e798b1254eb558678612711d72ed38b32;p=tools%2Feficas.git diff --git a/InterfaceQT4/readercata.py b/InterfaceQT4/readercata.py index 1f7b5910..b0f63f57 100644 --- a/InterfaceQT4/readercata.py +++ b/InterfaceQT4/readercata.py @@ -56,15 +56,13 @@ class READERCATA: self.code=self.QWParent.code self.ssCode=self.appliEficas.ssCode self.appliEficas.format_fichier='python' - if hasattr(self.appliEficas,'mode_nouv_commande'): - self.mode_nouv_commande=self.appliEficas.mode_nouv_commande - else : - self.mode_nouv_commande='alpha' + self.mode_nouv_commande=self.appliEficas.CONFIGURATION.mode_nouv_commande self.version_code=self.QWParent.version_code self.version_cata=None self.fic_cata=None self.OpenCata() self.cataitem=None + if self.code=="TELEMAC": self.cree_dico_inverse() def OpenCata(self): """ @@ -157,8 +155,10 @@ class READERCATA: # remplace par Retrouve_Ordre_Cata_Standard_autre qui utilise une numerotation # des mots cles a la creation self.Retrouve_Ordre_Cata_Standard_autre() - if self.mode_nouv_commande== "initial" : - self.Retrouve_Ordre_Cata_Standard() + if self.mode_nouv_commande== "initial" : self.Retrouve_Ordre_Cata_Standard() + if hasattr(self.cata, 'Ordre_Des_Commandes') : self.Ordre_Des_Commandes=self.cata.Ordre_Des_Commandes + else : self.Ordre_Des_Commandes=None + #print self.cata.Ordre_Des_Commandes # # analyse des donnees liees l'IHM : UIinfo @@ -242,6 +242,7 @@ class READERCATA: contient le nom des mots cles dans le bon ordre """ self.cata_ordonne_dico,self.appliEficas.liste_simp_reel=autre_analyse_cata.analyse_catalogue(self.cata) + #print self.cata_ordonne_dico,self.appliEficas.liste_simp_reel def Retrouve_Ordre_Cata_Standard(self): """ @@ -251,6 +252,7 @@ class READERCATA: nom_cata = os.path.splitext(os.path.basename(self.fic_cata))[0] rep_cata = os.path.dirname(self.fic_cata) self.Commandes_Ordre_Catalogue = analyse_catalogue_initial.analyse_catalogue(self.fic_cata) + #print self.Commandes_Ordre_Catalogue def ask_choix_catalogue(self, cata_choice_list): """ @@ -302,3 +304,44 @@ class READERCATA: if dict_clef_docu.has_key(oper.nom): oper.docu=dict_clef_docu[oper.nom] + + def cree_dico_inverse(self): + self.dicoInverse={} + self.dico={} + listeEtapes=self.cata[0].JdC.commandes + for e in self.cata[0].JdC.commandes: + self.traite_entite(e) + #print self.dicoInverse.keys() + #for e in self.cata[0].JdC.commandes: + # print "___________", e. nom , '__________________' + # self.cree_rubrique(e,self.dico,0) + + + def traite_entite(self,e): + boolIn=0 + for (nomFils, fils) in e.entites.items() : + self.traite_entite(fils) + boolIn=1 + if boolIn==0 : + liste=[] + moi=e + while hasattr(moi,'pere') : + liste.append((moi.nom,moi)) + moi=moi.pere + liste.append((moi.nom,moi)) + self.dicoInverse[e.nom]=liste + + def cree_rubrique(self,e,dico, niveau): + from Accas import A_BLOC + decale=niveau*" " + if niveau != 0 : + if isinstance(e,A_BLOC.BLOC): print decale, e.condition + else : print decale, e. nom + for (nom, fils) in e.entites.items() : + if fils.entites.items() != [] : self.cree_rubrique(fils,dico,niveau+1) + else : print (niveau+1)*" ", nom + + + + +