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 """
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
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
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
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
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
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
"""
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):
"""
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",
## 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