X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2Feditor.py;h=9f3aaa3edf90c8322d6065d8d4adf33edbeb5338;hb=f4cf310a046c9d2de91704c2efbad5d7e66375be;hp=8f2b1f8ac9c3e9653438cbc789d835efe36dec26;hpb=8aa5188149dec5e807b92ca1656f31f7d8d8b6e1;p=tools%2Feficas.git diff --git a/InterfaceQT4/editor.py b/InterfaceQT4/editor.py index 8f2b1f8a..9f3aaa3e 100755 --- a/InterfaceQT4/editor.py +++ b/InterfaceQT4/editor.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2015 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -36,8 +36,9 @@ from Editeur import session from Editeur import comploader from Editeur import Objecttreeitem from desBaseWidget import Ui_baseWidget -from monViewTexte import ViewText -from monWidgetCreeParam import MonWidgetCreeParam +from monViewTexte import ViewText +from monViewTexte import ViewText2 +from monWidgetCreeParam import MonWidgetCreeParam import browser import readercata @@ -54,21 +55,21 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): def __init__ (self,appli,fichier = None, jdc = None, QWParent=None, units = None, include=0 , vm=None): #----------------------------------------------------------------------------------------------------------# - self.a=0 QtGui.QWidget.__init__(self,None) self.setupUi(self) - self.monOptionnel=None + self.widgetOptionnel=None self.fenetreCentraleAffichee=None self.dejaDansPlieTout=False self.afficheCommandesPliees = True + self.listeDesListesOuvertes=set() self.appliEficas = appli self.appli = appli #---- attendu par IHM self.vm = vm self.fichier = fichier self.jdc = jdc - self.first = True + self.first = True self.QWParent = QWParent - + if appli != None : self.salome = self.appliEficas.salome else : @@ -77,10 +78,16 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): # ces attributs sont mis a jour par definitCode appelee par newEditor self.code = self.appliEficas.CONFIGURATION.code + # tres vite a cause du tag. doit etre pase dans CONFIGURATION + + self.afficheListesPliees=False + if self.code == "ASTER" : self.afficheListesPliees =True + self.mode_nouv_commande=self.appliEficas.CONFIGURATION.mode_nouv_commande self.affiche=self.appliEficas.CONFIGURATION.affiche + #if self.code in ['MAP','CARMELCND','PSEN'] : self.afficheCommandesPliees=False if self.code in ['MAP','CARMELCND'] : self.afficheCommandesPliees=False - if self.code in ['MAP',] : + if self.code in ['MAP',] : self.widgetTree.close() self.widgetTree=None self.appliEficas.resize(1440,self.appliEficas.height()) @@ -193,36 +200,45 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): jdc_item=Objecttreeitem.make_objecttreeitem( self, "nom", self.jdc ) if (not self.jdc.isvalid()) and (not self.nouveau) and (self.appliEficas.ssIhm == False): self.viewJdcRapport() - - # if self.code=="TELEMAC" : print "kkkkkkkk" + if jdc_item: self.tree = browser.JDCTree( jdc_item, self ) self.appliEficas.construitMenu() - #-------------------# - def runPSEN(self): + #-------------------# Pour execution avec output sans une fenetre EFICAS. (erreurs encore dans la fenetre bash) + def runPSEN_2(self): #-------------------# if self.modified or self.fichier==None : QMessageBox.critical( self, tr( "Execution impossible "),tr("Sauvegarder SVP avant l'execution ")) return - #lancement avec le .bat - textePython="PSEN_Path='EficasV2\PSEN_Eficas\PSEN\PSSEWrapper.py'\ - \nimport subprocess\ - \np=subprocess.Popen(['python',PSEN_Path])\ - \n(out,err)=p.communicate()" - - #lancement avec qteficas_psen.py + #monPython="/home/A96028/salome75/prerequisites/install/Python-273-tcl8513-tk8513/bin/python" + #monWrapper="/local00/home/A96028/GitEficasTravail/eficas/PSEN_Eficas/PSSEWrapper.py" + path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','../','PSEN_Eficas','PSEN')) + monWrapper = os.path.join(path1, 'PSSEWrapper.py') + cmd=['python',monWrapper] - #textePython='C:\Users\plscist\Desktop\Vico\sauveEficasPSEN~\EficasV1\PSEN_Eficas\PSEN\PSSEWrapper.py' - try : - self._viewTextExecute( textePython,"psen_run",".py") - except Exception, e: - print traceback.print_exc() + w = ViewText2( self.QWParent, cmd ) + w.setWindowTitle( "execution" ) + w.exec_() + #-------------------# Pour execution avec output et error dans le bash + def runPSEN(self): + #-------------------# + if self.modified or self.fichier==None : self.saveFile() + + #lancement avec le .bat + path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','../','PSEN_Eficas','PSEN')) + WrapperFilePath = os.path.join(path1, 'PSSEWrapper.py') + import subprocess + p = subprocess.Popen(['python',WrapperFilePath]) + (out,err)=p.communicate() + print out + print err + #--------------------------------# def _newJDC( self ,units = None): #--------------------------------# @@ -236,8 +252,9 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): if self.code == "CARMELCND" : texte=self._newJDCCND() if self.code == "ZCRACKS" : texte=self._newZCRACKS() if self.code == "TELEMAC" : texte=self._newTELEMAC() + if self.code == "PSEN" : texte = self._newPSEN() # texte=self.newTexteCND - + jdc=self.readercata.cata[0].JdC( procedure =texte, appli=self, cata=self.readercata.cata, @@ -413,7 +430,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): def readFromStdOut(self) : a=self.monExe.readAllStandardOutput() self.w.view.append(QString.fromUtf8(a.data(),len(a))) ; - + #-----------------------# @@ -440,8 +457,16 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): def viewJdcRapport(self): #-----------------------# strRapport = unicode( self.jdc.report() ) + # on ajoute les regles + self._viewText(strRapport, "JDC_RAPPORT") + #-----------------------# + def viewJdcRegles(self): + #-----------------------# + if self.tree :self.tree.AppelleBuildLBRegles() + + #----------------# def closeIt(self): #----------------# @@ -468,6 +493,11 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): # appele par I_MACRO_ETAPE QMessageBox.information( self, titre, message) + #-----------------------------------# + def affiche_commentaire(self,message): + #-----------------------------------# + self.labelCommentaire.setText(message) + #-------------------# def init_modif(self): #-------------------# @@ -508,7 +538,6 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): #---------------------# def handleDeplier(self): #---------------------# - print "je passe ici" if self.tree == None : return #self.tree.collapseAll() if self.deplier : @@ -739,7 +768,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): """ fn = unicode(fn) - + if txt == None : txt = self.get_text_JDC(self.format,formatLigne=formatLigne) eol = '\n' @@ -767,7 +796,6 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): #-----------------------------------------------------------# if self.code == "MAP" and not(generator.plugins.has_key(format)): format = "MAP" if generator.plugins.has_key(format): - print "get_text_JDC" # Le generateur existe on l'utilise self.generator=generator.plugins[format]() @@ -832,11 +860,11 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): #textePython="ls -l" self._viewTextExecute( textePython,"map_run",".sh") - try: - commande="rm "+self.fichierMapInput - os.system(commande) - except : - pass + #try: + # commande="rm "+self.fichierMapInput + # os.system(commande) + #except : + # pass except Exception, e: print traceback.print_exc() @@ -1039,7 +1067,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): dicoCourant=self.generator.dico return dicoCourant - + #-----------------------------------------# def handleAjoutGroup(self,listeGroup): @@ -1266,6 +1294,13 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): #texte="" return texte + #---------------------------# + def _newPSEN(self): + #---------------------------# + texte="DIRECTORY() ; PSSE_PARAMETERS() ; SIMULATION() ; sansnom=DISTRIBUTION() ; sansnom=DISTRIBUTION() ; CORRELATION() ;" + #texte="" + return texte + #---------------------------# #---------------------------# @@ -1278,7 +1313,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): def _newJDCCND(self): #---------------------------# extensions=tr('Fichiers Med (*.med);;''Tous les Fichiers (*)') - + #if self.salome == 0 : QMessageBox.information( self, tr("Fichier Med"), @@ -1297,7 +1332,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): texteVcut="" texteZs="" for groupe in self.listeGroupes : - if groupe[0:8]=='CURRENT_': + if groupe[0:8]=='CURRENT_': texteSources +=groupe[8:]+"=SOURCE(" texteSources +="VecteurDirecteur=(1.0,2.0,3.0,),);\n" if groupe[0:5]=='COND_': texteCond +=groupe[5:]+"=CONDUCTEUR();\n"