From a0fe41172598c5d6c684a0699d4de5943a3c2387 Mon Sep 17 00:00:00 2001 From: PASCALE NOYRET Date: Tue, 13 Sep 2022 18:06:43 +0200 Subject: [PATCH] changement des menus Incertitudes et Fichiers dans le contexte UQ. Lancement ne lance pas le script ib_test mais un ls -) --- InterfaceQT4/editor.py | 35 ++++++++++++++++++++++++-------- InterfaceQT4/editorSsIhm.py | 10 +++++++++ InterfaceQT4/qtEficas.py | 17 ++++++++++++---- InterfaceQT4/viewManager.py | 11 ++++++++++ InterfaceQT4/viewManagerSsIhm.py | 5 +++++ 5 files changed, 65 insertions(+), 13 deletions(-) diff --git a/InterfaceQT4/editor.py b/InterfaceQT4/editor.py index 82f56cb4..db87df37 100755 --- a/InterfaceQT4/editor.py +++ b/InterfaceQT4/editor.py @@ -206,28 +206,30 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): noeudAvantCommentaire.addComment(True) - #----------------------------------------------# - def _viewTextExecute(self, txt, prefix, suffix): - #----------------------------------------------# + #---------------------------------------------------------------# + def _viewTextExecute(self, txt, prefix, suffix, fichierExe=None): + #---------------------------------------------------------------# self.w = ViewText( self.QWParent ) self.w.setWindowTitle( "execution" ) self.monExe=QProcess(self.w) pid=self.monExe.pid() - nomFichier = self.__generateTempFilename(prefix, suffix = ".sh") - f=open(nomFichier,'w') - f.write(txt) - f.close() + if not fichierExe : + fichierExe = self.__generateTempFilename(prefix, suffix = ".sh") + f=open(fichierTemp,'w') + f.write(txt) + f.close() self.monExe.readyReadStandardOutput.connect( self.readFromStdOut) self.monExe.readyReadStandardError.connect( self.readFromStdErr) - exe='sh ' + nomFichier + exe='sh ' + fichierExe self.monExe.start(exe) self.monExe.closeWriteChannel() self.w.exec_() try: - commande="rm "+ nomFichier + commande="rm "+ fichierExe os.system(commande) except : pass + return 1 def readFromStdErr(self): a=self.monExe.readAllStandardError() @@ -894,7 +896,9 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): if fn== '' : return (0, None) ulfile = os.path.abspath(fn) self.appliEficas.maConfiguration.savedir=os.path.split(ulfile)[0] + print (fn) fn = QDir.toNativeSeparators(fn) + self.fichier=fn else : fn = self.fichier if self.jdc.isValid() == 0 : @@ -922,6 +926,19 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): QMessageBox.information( self, titre,texte) return (1, self.fichier) + #-----------------------------------------------# + def exeUQ(self, fichier = None, path =None): + #------------------------------------------------# + if self.modified or not self.fichier : + sauvegarde, fichier= self.saveUQFile() + if not sauvegarde : return 0 + print ('je suis la') + print ('je suis la') + print ('je suis la') + directoryExe='/tmp' + self._viewTextExecute(None,None,None, fichierExe='/home/A96028/QT5Dev/eficasRN/ReacteurNumerique/test.sh') + return (1, directoryExe) + #----------------------------------------------# def sauveLigneFile(self): #----------------------------------------------# diff --git a/InterfaceQT4/editorSsIhm.py b/InterfaceQT4/editorSsIhm.py index d4c823cc..b7e1f3ea 100755 --- a/InterfaceQT4/editorSsIhm.py +++ b/InterfaceQT4/editorSsIhm.py @@ -582,14 +582,24 @@ class JDCEditorSsIhm : return ret, None if ret == 2 : self.informe('Sauvegarde UQ', self.generator.commentaire, critique=False) + self.modified = False return 1, fichier ret = self.generator.writeUQ(fichier) if not ret : self.informe('Sauvegarde UQ', self.generator.commentaire) else: self.informe('Sauvegarde UQ', 'Sauvegardes des fichiers .comm, _UQ.comm effectuées.\n'\ 'Création des fichiers _UQ.py et _UQBalise.comm.',critique=False) + self.modified = False return ret, fichier + + #-----------------------------------------------# + def exeUQ(self, fichier = None, path =None): + #------------------------------------------------# + self.informe('Pas prevu pour l instant') + return ret, None + + # --------------------------------------------- # Methodes Surchargees par avecIhm # --------------------------------------------- diff --git a/InterfaceQT4/qtEficas.py b/InterfaceQT4/qtEficas.py index cc0fd8e7..25828365 100755 --- a/InterfaceQT4/qtEficas.py +++ b/InterfaceQT4/qtEficas.py @@ -252,10 +252,16 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): def ajoutUQ(self): AppliSsIhm.ajoutUQ(self) self.menuUQ = self.menubar.addMenu(tr("Incertitude")) - self.actionUQ = QAction(self) - self.actionUQ.setText(tr("Sauve Incertitude")) - self.menuUQ.addAction(self.actionUQ) - self.actionUQ.triggered.connect(self.handleSortieUQ) + self.actionSaveUQ = QAction(self) + self.actionSaveUQ.setText(tr("Sauvegarde des fichiers pour l etude incertaine")) + self.menuUQ.addAction(self.actionSaveUQ) + self.actionSaveUQ.triggered.connect(self.handleSortieUQ) + self.actionExeUQ = QAction(self) + self.actionExeUQ.setText(tr("Lancement de l etude")) + self.menuUQ.addAction(self.actionExeUQ) + self.actionExeUQ.triggered.connect(self.handleExeUQ) + self.actionEnregistrer.setDisabled(True) + self.actionEnregistrer_sous.setDisabled(True) def ajoutN1(self): return @@ -633,6 +639,9 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): def handleSortieUQ(self): self.viewmanager.handleSortieUQ() + def handleExeUQ(self): + self.viewmanager.handleExeUQ() + def ajoutCommentaire(self): self.viewmanager.ajoutCommentaire() diff --git a/InterfaceQT4/viewManager.py b/InterfaceQT4/viewManager.py index 70052ba4..5af9761a 100644 --- a/InterfaceQT4/viewManager.py +++ b/InterfaceQT4/viewManager.py @@ -262,6 +262,13 @@ class MyViewManager(object): ok, newName = editor.saveUQFile() return ok + def handleExeUQ(self): + index=self.myQtab.currentIndex() + if index < 0 : return + editor=self.dictEditors[index] + ok = editor.exeUQ() + return ok + def saveCompleteCurrentEditor(self): index=self.myQtab.currentIndex() if index < 0 : return @@ -406,6 +413,10 @@ class MyViewManager(object): msgBox.addButton(tr("&Annuler"),2) res=msgBox.exec_() if res == 2 : return res + if res == 0 and self.appliEficas.maConfiguration.afficheUQ : + if fn is None : ret,fichier = editor.saveUQFile(self) + else : ret,fichier = editor.saveUQFile(self,fn) + return 2 if res == 0: (ok, newName) = editor.saveFile() if ok: diff --git a/InterfaceQT4/viewManagerSsIhm.py b/InterfaceQT4/viewManagerSsIhm.py index 19ee6e8c..f3ceccf4 100644 --- a/InterfaceQT4/viewManagerSsIhm.py +++ b/InterfaceQT4/viewManagerSsIhm.py @@ -76,6 +76,11 @@ class JdcSsIhmHandler(object): # ----------------------------------- return self.viewManagerSsIhm.handleSortieUQ(self,fileName) + def handleExeUQ(self,fileName): +# ----------------------------------- +# est-ce que cela a un sens de faire l exe hors IHM ? + return self.viewManagerSsIhm.handleExeUQ(self,fileName) + #-------------------------------- class MyViewManagerSsIhm(object): -- 2.39.2