widgetChoix.close()
raise EficasException()
+ #--------------------#
def choisitCata(self):
#--------------------#
- listeCataPossibles = []
-
listeTousLesCatas = []
+ listeCataPossibles = []
for catalogue in self.appliEficas.maConfiguration.catalogues:
if isinstance(catalogue, CatalogDescription):
listeTousLesCatas.append(catalogue)
self.appliEficas.afficheMessage(
tr("Import du catalogue"),
tr("Pas de catalogue defini pour le code {}".format(self.code)))
- self.appliEficas.close()
+ #self.appliEficas.close()
if self.appliEficas.salome == 0: sys.exit(1)
return
else:
# plusieurs catalogues sont disponibles : il faut demander a l'utilisateur
# lequel il veut utiliser ...
- print ('PN : --> passer la commande askChoixCatalogue dans Editor avec sortie pour non QT / non Web')
#self.appliEficas.afficheMessage( tr("Import du catalogue"), tr('Aucun catalogue choisi'), critique = True)
self.demandeCatalogue = True
self.askChoixCatalogue(cataListeChoix)
self.appliEficas = appliEficas
self.code = appliEficas.code
- if self.code == None: return
self.salome = appliEficas.salome
if self.salome: name = "prefs_eficas_salome.ini"
else: name = "prefs_eficas.ini"
- if sys.platform == 'linux' : self.repUser = os.path.join( os.path.expanduser("~"), '.config/Eficas',self.code)
- else : self.repUser = os.path.join('C:/','.config/Eficas',self.code)
+ if self.code != None :
+ if sys.platform == 'linux' : self.repUser = os.path.join( os.path.expanduser("~"), '.config/Eficas',self.code)
+ else : self.repUser = os.path.join('C:/','.config/Eficas',self.code)
+ else :
+ if sys.platform == 'linux' : self.repUser = os.path.join( os.path.expanduser("~"), '.config/Eficas')
+ else : self.repUser = os.path.join('C:/','.config/Eficas')
self.fichierPrefsUtilisateur = os.path.join(self.repUser, name)
self.labelsStandards = ('PdfReader', 'saveDir', 'modeNouvCommande', 'afficheUQ', 'closeAutreCommande', 'closeFrameRechercheCommande',
self.setValeursParDefaut()
- if self.code != "":
+ if self.code != "" and self.code != None:
self.lectureFichierIniStandard()
self.lectureFichierIniIntegrateur()
self.lectureFichierIniUtilisateur()
# Valeurs par defaut
self.pathDoc = os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "..","Doc"))
- self.PedfReader = "acroread"
- nomDir = "Eficas_" + self.code
- self.saveDir = os.path.abspath(os.path.join(os.path.expanduser("~"), nomDir))
+ self.PdfReader = "acroread"
+
+ if self.code :
+ nomDir = "Eficas_" + self.code
+ self.saveDir = os.path.abspath(os.path.join(os.path.expanduser("~"), nomDir))
+ else :
+ self.saveDir = os.path.abspath(os.path.expanduser("~"))
self.modeNouvCommande = "initial"
self.affiche = "alpha"
self.closeAutreCommande = False
self.dicoNouveauxFact = {}
self.dict_reels = {}
self.liste_simp_reel = []
- self.idUnique = uuid1().hex
- self.appliEficas.editorManager.dictEditors[self.idUnique]=self
-
+ self.idEditor = uuid1().hex
+ self.appliEficas.editorManager.dictEditors[self.idEditor]=self
# ces attributs sont mis a jour par definitCode appelee par newEditor
self.doubles = {}
- # -----------------------------------------------------
- def getEditor(self, fichier=None, jdc=None, include=0):
- # -----------------------------------------------------
+ # -----------------------------------------------------------------
+ def getEditor(self, cata = None, fichier=None, jdc=None, include=0):
+ # -----------------------------------------------------------------
"""
Retourne un nouvel editeur ou None si doublon
"""
if fichier == None :
- self.appliEficas.afficheMessage('Eficas sans Ihm',
+ self.appliEficas.afficheMessage('Eficas',
'nom de fichier obligatoire pour obtenir un editor')
return None
for indexEditor in self.dictEditors:
self.appliEficas.afficheMessage('Eficas sans Ihm', 'impossible d allouer un editor')
return None
self.editors.append(editor)
- idEditor = uuid1().hex
- self.dictEditors[idEditor] = editor
- editor.idEditor = idEditor
+ self.dictEditors[editor.idEditor] = editor
return editor
- # --------------------------------
- def setCurrentEditorById(self,id):
- # --------------------------------
- print ('a Programmer')
- return True
# -------------------------
from Editeur.configuration import BaseConfiguration
self.maConfiguration = BaseConfiguration(self)
- self.suiteTelemac = False
self.withUQ = False
self.genereXSD = False
from Editeur.editor_manager import EditorManager
#------------------------------------------------------
#PN reflechir a ce que cela veut dire d avoir plusieurs editeurs
if (hasattr(self, "editor")) and self.editor != None:
- print("un seul editeur par application eficas_appli ")
- sys.exit()
+ print("un seul editeur par application eficas_appli sans Ihm ? ")
+ # sys.exit()
self.editor = self.editorManager.getEditor(fichier, jdc, include)
return self.editor
return self.editorManager.setCurrentEditorById(self,id)
#---------------------------
- def openFile(self, fichier):
+ def openDataSet(self, fichier):
#---------------------------
try:
monEditor = self.editorManager.openFile(fichier)
if __name__ == "__main__":
- pass
+ if repIni not in sys.path : sys.path.insert(0,repIni)
+ lanceQtEficas(multi=True)
from PyQt5.QtGui import QPalette
from PyQt5.QtCore import QProcess, QFileInfo, Qt, QSize
+listeCode = ("Telemac", "ReacteurNumerique", "Adao", "A", "B")
# Import des panels
def verifieInstall(self):
self.groupCodes = QButtonGroup(self.groupBox)
vars = list(os.environ.items())
- listeCode = ("Telemac", "ReacteurNumerique", "Adao")
for code in listeCode:
dirCode = os.path.abspath(
- os.path.join(os.path.abspath(__file__), "../..", code)
+ os.path.join(os.path.abspath(__file__), "../../../Codes", code)
)
try:
l = os.listdir(dirCode)
self.groupCodes.addButton(bouton)
except:
pass
- self.appliEficas.listeCode = self.appliEficas.listeCode + listeCodesIntegrateur
def choisitCode(self):
bouton = self.groupCodes.checkedButton()
if bouton == None:
return
code = str(bouton.text())
- codeUpper = code.upper()
- self.appliEficas.code = codeUpper
+ self.appliEficas.code = code
try:
dirCode = os.path.abspath(
- os.path.join(os.path.abspath(__file__), "../..", code)
+ os.path.join(os.path.abspath(__file__), "../../../Codes", code)
)
l = os.listdir(dirCode)
sys.path.insert(0, dirCode)
except:
clef = "PREFS_CATA_" + code
- repIntegrateur = os.path.abspath(os.environ[clef])
- l = os.listdir(repIntegrateur)
- sys.path.insert(0, repIntegrateur)
+ try:
+ repIntegrateur = os.path.abspath(os.environ[clef])
+ l = os.listdir(repIntegrateur)
+ sys.path.insert(0, repIntegrateur)
+ except :
+ print ('probleme voir la maintenance pour definir le code')
self.close()
Editor.__init__(self, appliEficas, fichier, jdc, include)
# on enleve la gestion du dicEditor necessaire dans les autres cas
- # mais ici l index est le numero de page et non l idUnique
- del self.appliEficas.editorManager.dictEditors[self.idUnique]
+ # mais ici l index est le numero de page et non l idEditor
+ del self.appliEficas.editorManager.dictEditors[self.idEditor]
if self.jdc:
comploader.chargerComposants(self.appliEficas.GUIPath)
self.GUIPath = GUIPath
self.suiteTelemac = self.maConfiguration.suiteTelemac
self.multi = multi
- if self.multi :
- self.definitCode(code, None)
- if self.code == None: return
-
if self.maConfiguration.demandeLangue:
from InterfaceGUI.QT5.monChoixLangue import MonChoixLangue
widgetLangue = MonChoixLangue(self)
ret = widgetLangue.exec_()
+ self.recemmentUtilises = []
from Accas.extensions import localisation
localisation.localise(None, self.langue, translatorFile=self.maConfiguration.translatorFile,)
self.repIcon = os.path.join( os.path.dirname(os.path.abspath(__file__)),"..", "..", "Editeur", "icons")
widgetChoix = MonChoixCode(self)
ret = widgetChoix.exec_()
if self.code == None:
- return # pour le cancel de la fenetre choix code
+ return # pour permettre une sortie propre
EficasAppli.definitCode(self, self.code, ssCode)
#------------------------------------
if hasattr(self, "rechercherDejaLa"): return
self.rechercherDejaLa = True
- self.actionRechercherDsCatalogue.triggered.connect( self.rechercherDejaLaechercherMotClefDsCatalogue)
+ self.actionRechercherDsCatalogue.triggered.connect( self.rechercherMotClefDsCatalogue)
#-----------------------------
def ajoutSortieComplete(self):
# ------------------------------------------------------
- def getEditor(self, fichier=None, jdc=None, session = 1 ):
+ def getEditor(self, sId=None, cata=None, fichier=None
# ------------------------------------------------------
"""
Retourne un nouvel editeur ou le meme si doublon
gere la liste des connexions pour propager les infos
- a affiner : le nom du fichier n est pas determinant
il faut aussi la machine dont il provient
"""
for indexEditor in self.dictEditors:
editor = self.dictEditors[indexEditor]
- if self.samePath(fichier, editor.getFileName()):
+ if self.samePath(cata, editor.getCataName()) and self.samePath(fichier, editor.getFileName()):
double = editor
break
else:
#-----------------------------------------
- def toWebApp(self, fction,*args, **kwargs):
+ def toWebApp(self,fction, sid, eid *args, **kwargs):
#-----------------------------------------
#if fction =='propageValide' :
debug=0
- if debug : print ('PNPNPN : WebEficasAppli.toWebApp', fction, *args, **kwargs)
+ if debug : print ('PNPNPN : WebEficasAppli.toWebApp', fction, sid, eid, *args, **kwargs)
if self.appWeb == None : return
#if fction =='propageValide' : print ('self.appWeb.toWebApp propageValide', self.monEditeur.getNodeById(args[0]).nom)
- self.appWeb.fromConnecteur(fction, *args, **kwargs)
+ self.appWeb.fromConnecteur(fction, sid, eid, *args, **kwargs)
#-----------------------
def createEditor(self):