res=app.exec_()
sys.exit(res)
-def getEficasSsIhm(code=None, multi=False, langue='en', labelCode=None,forceXML=False):
-#-------------------------------------------------------------------------------------
+def getEficasSsIhm(code=None, multi=False, langue='en', labelCode=None,forceXML=False, genereXSD=False):
+#------------------------------------------------------------------------------------------------------
"""
Lance l'appli EFICAS sans Ihm
"""
if forceXML : options.withXSD=True
from InterfaceQT4.qtEficasSsIhm import AppliSsIhm
- Eficas=AppliSsIhm(code=code, salome=0, multi=multi, langue=langue, labelCode=labelCode)
+ Eficas=AppliSsIhm(code=code, salome=0, multi=multi, langue=langue, labelCode=labelCode, genereXSD=genereXSD)
return Eficas
print ('Use -c cata_name.py')
return
- monEficasSsIhm = getEficasSsIhm(code=options.code)
+ monEficasSsIhm = getEficasSsIhm(code=options.code,genereXSD=True)
monEditor=monEficasSsIhm.getEditor()
texteXSD=monEficasSsIhm.dumpXsd(avecEltAbstrait=options.avecEltAbstrait)
self.lesFonctionsUtilisateurs={}
if self.code not in self.mesScripts : return
if not hasattr(self.mesScripts[self.code],'dict_menu') : return
- titre,lesFonctions=self.mesScripts[self.code].dict_menu.items()[0]
- self.menuOptions = self.menubar.addMenu("menuOptions")
- self.menuOptions.setTitle(tr(titre))
- for elt in lesFonctions :
- laFonctionUtilisateur, label, lesArguments = elt
- action = QAction(self)
- action.setText(label)
+ for monMenu in iter(self.mesScripts[self.code].dict_menu.items()) :
+ titre,lesFonctions= monMenu
+ self.menuOptions = self.menubar.addMenu("menuOptions")
+ self.menuOptions.setTitle(tr(titre))
+ for elt in lesFonctions :
+ laFonctionUtilisateur, label, lesArguments = elt
+ action = QAction(self)
+ action.setText(label)
#action.triggered.connect(self.appelleFonctionUtilisateur)
- self.menuOptions.addAction(action)
- self.lesFonctionsUtilisateurs[action]=(laFonctionUtilisateur, lesArguments)
- self.menuOptions.triggered.connect(self.handleFonctionUtilisateur)
+ self.menuOptions.addAction(action)
+ self.lesFonctionsUtilisateurs[action]=(laFonctionUtilisateur, lesArguments)
+ self.menuOptions.triggered.connect(self.handleFonctionUtilisateur)
+
def handleFonctionUtilisateur(self,action) :
(laFonctionUtilisateur, lesArguments)=self.lesFonctionsUtilisateurs[action]
"""
Class implementing the main user interface.
"""
- def __init__(self,code=None,salome=1,parent=None,multi=False,langue='fr',ssIhm=True,labelCode=None):
+ def __init__(self,code=None,salome=1,parent=None,multi=False,langue='fr',ssIhm=True,labelCode=None,genereXSD=False):
"""
Constructor
"""
self.salome=salome
self.ssIhm=True
self.code=code
+ self.genereXSD=genereXSD
self.dict_reels={}
self.fichierIn=None
# import du catalogue
self.choisitCata()
- if self.appliEficas.maConfiguration.withXSD or self.appliEficas.withXSD :
- try :
- import pyxb
- except :
- self.QWParent.informe('environnement', 'please source pyxb environment')
- exit()
- try :
- #if 1 :
- nomCataXsd = os.path.splitext(os.path.basename(self.fichierCata))[0]
- fichierCataTrunc=os.path.splitext(os.path.basename(self.fichierCata))[0]
- #if fichierCataTrunc[0:4] in ('cata','Cata'): fichierCataTrunc=fichierCataTrunc[4:]
- #if fichierCataTrunc[0] in ('_','-') : fichierCataTrunc=fichierCataTrunc[1:]
- nomCataXsd = fichierCataTrunc+'_driver'
-
-
- pathCata = os.path.dirname(self.fichierCata)+'/raw/'+nomCataXsd+'.py'
- import imp
- modeleMetier= imp.load_source(nomCataXsd,pathCata)
- except :
- #else:
- if self.appliEficas.ssIhm == False :print ('______________ poum import cata_genere ')
- self.QWParent.informe('XSD driver', 'unable to load xsd driver',critique=False)
- modeleMetier = None
- else :
- modeleMetier = None
+ modeleMetier = None
+ if not (self.appliEficas.genereXSD) :
+ if (self.appliEficas.maConfiguration.withXSD or self.appliEficas.withXSD) :
+ try :
+ import pyxb
+ except :
+ self.QWParent.informe('environnement', 'please source pyxb environment')
+ exit()
+ try :
+ nomCataXsd = os.path.splitext(os.path.basename(self.fichierCata))[0]
+ fichierCataTrunc=os.path.splitext(os.path.basename(self.fichierCata))[0]
+ nomCataXsd = fichierCataTrunc+'_driver'
+ pathCata = os.path.dirname(self.fichierCata)+'/raw/'+nomCataXsd+'.py'
+ import imp
+ modeleMetier= imp.load_source(nomCataXsd,pathCata)
+ except :
+ if self.appliEficas.ssIhm == False :print ('______________ poum import cata_genere ')
+ self.QWParent.informe('XSD driver', 'unable to load xsd driver',critique=False)
+ modeleMetier = None
self.cata = self.importCata(self.fichierCata)
if hasattr(self.cata, 'implement'): self.cata.JdC.implement = self.cata.implement