From ef80b54ad212a095e74fcd2df96356af732a14d5 Mon Sep 17 00:00:00 2001 From: pbruno <> Date: Wed, 28 Feb 2007 15:02:34 +0000 Subject: [PATCH] update: correction des __main__ --- Interface/browser.py | 83 ++++++++++++++++----------- Interface/editor.py | 121 +++++++++++++-------------------------- Interface/viewManager.py | 20 ++++++- 3 files changed, 108 insertions(+), 116 deletions(-) diff --git a/Interface/browser.py b/Interface/browser.py index a7deb375..f97c613c 100644 --- a/Interface/browser.py +++ b/Interface/browser.py @@ -56,7 +56,8 @@ class JDCTree( QListView ): def handleOnItem(self, item ): ## print "handleChanged ->",item.text(0) fr = item.item.get_fr() - self.editor.affiche_infos(fr) + if self.editor: + self.editor.affiche_infos(fr) def build_children(self): """ Construit la liste des enfants de self """ @@ -484,38 +485,52 @@ class JDCNode(QListViewItem): if __name__=='__main__': from qt import * -## import cataManager -## f=open('az.comm','r') -## text=f.read() -## f.close() -## j=cataManager.cata.JdC(procedure=text,cata=cataManager.cata,nom="ahlv100a", -## cata_ord_dico=cataManager.cata_ordonne) -## print 'cata.JdC->',j -## -## j.compile() -## if not j.cr.estvide(): -## print j.cr -## sys.exit() -## -## j.exec_compile() -## if not j.cr.estvide(): -## print j.cr -## sys.exit() -## -## import comploader -## comploader.charger_composants() -## -## app = QApplication(sys.argv) -## import Objecttreeitem -## jdc_item=Objecttreeitem.make_objecttreeitem( app, "nom", j ) -## -## t=JDCTree( jdc_item ) -## app.setMainWidget(t) -## app.connect(app, SIGNAL("lastWindowClosed()"), app, SLOT("quit()")) -## t.show() -## -## res = app.exec_loop() -## sys.exit(res) - + sys.path[:0]=['..','../Aster','../Aster/Cata' ] + + app = QApplication(sys.argv) + + fn = 'azAster.comm' + jdcName = os.path.basename(fn) + f=open(fn,'r') + text=f.read() + f.close() + print 'text',text + from autre_analyse_cata import analyse_catalogue + from Cata import cataSTA8 + cata=cataSTA8 + fic_cata="../../Aster/Cata/cataSTA8/cata.py" + cata_ordonne ,list_simp_reel = analyse_catalogue(cata) + + + + j=cata.JdC( procedure=text, cata=cata, nom=jdcName, + cata_ord_dico=cata_ordonne ) + + j.compile() + if not j.cr.estvide(): + print j.cr + sys.exit() + + j.exec_compile() + if not j.cr.estvide(): + print j.cr + sys.exit() + + import comploader + comploader.charger_composants() + import Objecttreeitem + jdc_item=Objecttreeitem.make_objecttreeitem( app, "nom", j) + + if jdc_item: + tree = JDCTree( jdc_item, None ) + + app.setMainWidget(tree) + app.connect(app, SIGNAL("lastWindowClosed()"), app, SLOT("quit()")) + tree.show() + + res = app.exec_loop() + sys.exit(res) + + \ No newline at end of file diff --git a/Interface/editor.py b/Interface/editor.py index a8a09427..ce4152ac 100644 --- a/Interface/editor.py +++ b/Interface/editor.py @@ -20,11 +20,6 @@ import panels import qtcommun VERSION_EFICAS = "EFICAS v1.11" -VERSION_CODE = session.d_env.cata -##if session.d_env.has_attr('cata'): -## VERSION_CODE = session.d_env.cata -##else: -## VERSION_CODE = 'v8.2' class StringVar: #à cause de format_fichier (Tkinter.StringVar) appelé ailleur que ds l'Interface @@ -34,24 +29,19 @@ class StringVar: #à cause de format_fichier (Tkinter.StringVar) appelé ailleur self.val = str def get(self): return self.val - - - - - - - + class JDCEditor(QSplitter): """ Editeur de jdc - """ + """ def __init__(self,fn = None, jdc = None ,parent=None, editor = None): QSplitter.__init__(self, parent,'') print 5*'EDITOR fn->', fn print 5*'EDITOR jdc->', jdc - # CS_pbruno compatiblity begin + # CS_pbruno compatiblity begin + VERSION_CODE = session.d_env.cata self.top = None self.code = prefs.code self.version_code = VERSION_CODE @@ -65,7 +55,9 @@ class JDCEditor(QSplitter): self.CONFIGURATION = configuration.CONFIGURATION self.CONFIGStyle = configuration.CONFIGStyle #self.appli = self - self.sb = qApp.mainWidget().statusBar() + self.sb = None + if hasattr(qApp.mainWidget(),"statusBar"): + self.sb = qApp.mainWidget().statusBar() # CS_pbruno compatiblity end self.parent = parent @@ -77,7 +69,7 @@ class JDCEditor(QSplitter): self.fichier=None self.panel_courant=None - self.parent.node_selected = None + self.node_selected = None self.modified = False self.isReadOnly = False ## self.nom_jdc=fn @@ -500,14 +492,15 @@ class JDCEditor(QSplitter): self.close() - def affiche_infos(self,message): - self.sb.message(message)#,2000) + def affiche_infos(self,message): + if self.sb: + self.sb.message(message)#,2000) def updatePanel(self, jdcNode): """ Appelé à chaque changement de noeud """ - self.parent.node_selected = jdcNode + self.node_selected = jdcNode if self.panel: self.panel.close() del self.panel @@ -546,23 +539,23 @@ class JDCEditor(QSplitter): """ Stocke dans Eficas.noeud_a_editer le noeud à couper """ - if not self.parent.node_selected.item.iscopiable(): + if not self.node_selected.item.iscopiable(): QMessageBox.information( self, "Copie impossible", "Cette version d'EFICAS ne permet que la copie d'objets de type 'Commande' ou mot-clé facteur") return self.parent.edit="couper" - self.parent.noeud_a_editer = self.parent.node_selected + self.parent.noeud_a_editer = self.node_selected def copy(self): """ Stocke dans Eficas.noeud_a_editer le noeud à copier """ - if not self.parent.node_selected.item.iscopiable(): + if not self.node_selected.item.iscopiable(): QMessageBox.information( self, "Copie impossible", "La copie d'un tel objet n'est pas permise") return self.parent.edit="copier" - self.parent.noeud_a_editer = self.parent.node_selected + self.parent.noeud_a_editer = self.node_selected def paste(self): """ @@ -570,7 +563,7 @@ class JDCEditor(QSplitter): Ne permet que la copie d'objets de type Commande ou MCF """ try: - child=self.parent.noeud_a_editer.doPaste(self.parent.node_selected) + child=self.parent.noeud_a_editer.doPaste(self.node_selected) except: traceback.print_exc() QMessageBox.information( self, "Copie impossible", @@ -737,66 +730,32 @@ class JDCEditor(QSplitter): ## self.fic_cata=self.appli.readercata.fic_cata - -if __name__=='__main__': +if __name__=='__main__': + import prefs + if hasattr(prefs,'encoding'): + # Hack pour changer le codage par defaut des strings + import sys + reload(sys) + sys.setdefaultencoding(prefs.encoding) + del sys.setdefaultencoding + # Fin hack -## from autre_analyse_cata import analyse_catalogue -## from Cata import cataSTA8 -## cata=cataSTA8 -## fic_cata="../../Aster/Cata/cataSTA8/cata.py" -## cata_ordonne ,list_simp_reel = analyse_catalogue(cata) - - + #CS_pbruno note: fait implicitement des trucs ces imports (grr) + import styles + import import_code +## import splash + import session - from qt import * - - - app = QApplication(sys.argv) - - d=JDCEditor('az.comm') - app.setMainWidget(d) + # Analyse des arguments de la ligne de commande + options=session.parse(sys.argv) + code=options.code + + app = QApplication(sys.argv) + mw = JDCEditor('azAster.comm') + app.setMainWidget(mw) app.connect(app, SIGNAL("lastWindowClosed()"), app, SLOT("quit()")) - d.show() + mw.show() res = app.exec_loop() sys.exit(res) - - - - -## -### charge le JDC -## # ------------------------------------------------------------------------------------ -## self.readercata=readercata.READERCATA(self,None) -## -## jdcName=os.path.basename(fn) -## # Il faut convertir le contenu du fichier en fonction du format -## if convert.plugins.has_key( self.format_fichier ): -## # Le convertisseur existe on l'utilise -## appli = self # CS_pbruno parseur_python : self.appli.liste_simp_reel self.appli.dict_reels -## p=convert.plugins[self.format_fichier]() -## p.readfile(fn) -## text=p.convert('exec',appli) -## if not p.cr.estvide(): -## raise ValueError(str(p.cr)) -## -## CONTEXT.unset_current_step() -#### # On se met dans le repertoire ou se trouve le fichier de commandes -#### # pour trouver les eventuels fichiers include ou autres -#### # localises a cote du fichier de commandes -#### self.initialdir = os.path.dirname(os.path.abspath(file)) -#### os.chdir(self.initialdir) -## -## jdc=self.readercata.cata[0].JdC(procedure=text, -## appli=self, -## cata=self.readercata.cata, -## cata_ord_dico=self.readercata.cata_ordonne_dico, -## nom=jdcName, -## rep_mat=configuration.CONFIGURATION#self.CONFIGURATION.rep_mat -## ) -## jdc.analyse() -## txt= jdc.cr.get_mess_exception() -## if txt:raise ValueError(txt) -## # ------------------------------------------------------------------------------------ -## # charge le JDC fin -## # ------------------------------------------------------------------------------------ + \ No newline at end of file diff --git a/Interface/viewManager.py b/Interface/viewManager.py index bd82fd07..7fd11b6a 100644 --- a/Interface/viewManager.py +++ b/Interface/viewManager.py @@ -4003,6 +4003,24 @@ class MyTabview(Tabview): if __name__=='__main__': import sys + import prefs + if hasattr(prefs,'encoding'): + # Hack pour changer le codage par defaut des strings + import sys + reload(sys) + sys.setdefaultencoding(prefs.encoding) + del sys.setdefaultencoding + # Fin hack + + #CS_pbruno note: fait implicitement des trucs ces imports (grr) + import styles + import import_code +## import splash + import session + + # Analyse des arguments de la ligne de commande + options=session.parse(sys.argv) + code=options.code app = QApplication(sys.argv) ##mw = UserInterface(loc, splash) @@ -4011,6 +4029,6 @@ if __name__=='__main__': app.connect(app, SIGNAL("lastWindowClosed()"), app, SLOT("quit()")) mw.show() mw.getEditor('azAster.comm') - mw.getEditor('az.comm') + mw.getEditor('azAster2.comm') res = app.exec_loop() sys.exit(res) -- 2.39.2