From c4e1a4c4854313b2755ed420305a41704b47dd1b Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby Date: Tue, 20 Aug 2024 15:08:49 +0200 Subject: [PATCH] Results: Delete ReadingResultsDialog (switch to WaitingDialog). --- src/View/InitialConditions/Window.py | 5 +- src/View/MainWindow.py | 1 - src/View/Results/ReadingResultsDialog.py | 117 ----------------------- src/View/RunSolver/Window.py | 14 ++- src/View/ui/DialogReadingResults.ui | 77 --------------- 5 files changed, 14 insertions(+), 200 deletions(-) delete mode 100644 src/View/Results/ReadingResultsDialog.py delete mode 100644 src/View/ui/DialogReadingResults.ui diff --git a/src/View/InitialConditions/Window.py b/src/View/InitialConditions/Window.py index 1113b121..4f529aaf 100644 --- a/src/View/InitialConditions/Window.py +++ b/src/View/InitialConditions/Window.py @@ -60,7 +60,7 @@ from View.InitialConditions.PlotDischarge import PlotDischarge from View.InitialConditions.translate import ICTranslate from View.InitialConditions.DialogHeight import HeightDialog from View.InitialConditions.DialogDischarge import DischargeDialog -from View.Results.ReadingResultsDialog import ReadingResultsDialog +from View.WaitingDialog import WaitingDialog from Solver.Mage import Mage8 @@ -267,8 +267,9 @@ class InitialConditionsWindow(PamhyrWindow): name=name ) - dlg = ReadingResultsDialog( + dlg = WaitingDialog( reading_fn=reading, + title="waiting_result", parent=self ) dlg.exec_() diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py index 7d2d963b..fc16bee4 100644 --- a/src/View/MainWindow.py +++ b/src/View/MainWindow.py @@ -74,7 +74,6 @@ from View.SolverParameters.Window import SolverParametersWindow from View.RunSolver.Window import SelectSolverWindow, SolverLogWindow from View.CheckList.Window import CheckListWindow from View.Results.Window import ResultsWindow -from View.Results.ReadingResultsDialog import ReadingResultsDialog from View.Debug.Window import ReplWindow # Optional internal display of documentation for make the application diff --git a/src/View/Results/ReadingResultsDialog.py b/src/View/Results/ReadingResultsDialog.py deleted file mode 100644 index 84fa17ea..00000000 --- a/src/View/Results/ReadingResultsDialog.py +++ /dev/null @@ -1,117 +0,0 @@ -# ReadingResultsDialog.py -- Pamhyr -# Copyright (C) 2023-2024 INRAE -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# -*- coding: utf-8 -*- - -import logging - -from tools import logger_exception - -from View.Tools.PamhyrWindow import PamhyrDialog -from View.Results.translate import ResultsTranslate - -from PyQt5.QtGui import ( - QKeySequence, -) - -from PyQt5.QtCore import ( - Qt, QVariant, QAbstractTableModel, QTimer, - QObject, pyqtSlot, pyqtSignal, QThread, -) - -from PyQt5.QtWidgets import ( - QLabel, -) - -logger = logging.getLogger() - - -class Worker(QObject): - signalStatus = pyqtSignal(str) - - def __init__(self, reading_fn, parent=None): - super(self.__class__, self).__init__(parent) - - self._reading_fn = reading_fn - - def process(self): - self._reading_fn() - self.signalStatus.emit('end') - - -class ReadingResultsDialog(PamhyrDialog): - _pamhyr_ui = "DialogReadingResults" - _pamhyr_name = "Reading results" - - _spin = ["-", "\\", "|", "/"] - - def __init__(self, reading_fn, parent=None): - trad = ResultsTranslate() - super(ReadingResultsDialog, self).__init__( - title=trad[self._pamhyr_name], - trad=trad, - options=[], - parent=parent - ) - - self._reading_fn = reading_fn - - self._init_default_values() - - self.setup_timer() - self.setup_worker() - - self._timer.start(150) - self._worker_thread.start() - - def _init_default_values(self): - self._spinner_step = 0 - - self.set_label_text("label_spinner", self._spin[0]) - - def setup_worker(self): - self._worker = Worker(self._reading_fn) - self._worker_thread = QThread(parent=self) - self._worker.moveToThread(self._worker_thread) - - self._worker.signalStatus.connect(self.close) - self._worker_thread.started.connect(self._worker.process) - - def setup_timer(self): - self._timer = QTimer(self) - self._timer.timeout.connect(self.update_spinner) - - def update_spinner(self): - self._spinner_step += 1 - self._spinner_step %= len(self._spin) - - self.set_label_text( - "label_spinner", - self._spin[self._spinner_step] - ) - - def end_worker(self): - self._worker_thread.terminate() - self._worker_thread.wait() - - def close(self): - try: - self._timer.stop() - self.end_worker() - except Exception as e: - logger_exception(e) - - super().close() diff --git a/src/View/RunSolver/Window.py b/src/View/RunSolver/Window.py index 6f9bf5e6..49a838ba 100644 --- a/src/View/RunSolver/Window.py +++ b/src/View/RunSolver/Window.py @@ -44,7 +44,7 @@ from PyQt5.QtWidgets import ( ) from View.RunSolver.Log.Window import SolverLogFileWindow -from View.Results.ReadingResultsDialog import ReadingResultsDialog +from View.WaitingDialog import WaitingDialog try: from signal import SIGTERM, SIGSTOP, SIGCONT @@ -297,7 +297,11 @@ class SolverLogWindow(PamhyrWindow): logger.error(f"Failed to open results") logger_exception(e) - dlg = ReadingResultsDialog(reading_fn=reading_fn, parent=self) + dlg = WaitingDialog( + reading_fn=reading_fn, + title="waiting_result", + parent=self + ) dlg.exec_() def _update_logs_all(self): @@ -384,7 +388,11 @@ class SolverLogWindow(PamhyrWindow): self._study, self._workdir, qlog=self._output ) - dlg = ReadingResultsDialog(reading_fn=reading_fn, parent=self) + dlg = WaitingDialog( + reading_fn=reading_fn, + title="waiting_result", + parent=self + ) dlg.exec_() self._parent.set_results(self._solver, self._results) diff --git a/src/View/ui/DialogReadingResults.ui b/src/View/ui/DialogReadingResults.ui deleted file mode 100644 index dd2c2a22..00000000 --- a/src/View/ui/DialogReadingResults.ui +++ /dev/null @@ -1,77 +0,0 @@ - - - Dialog - - - - 0 - 0 - 205 - 42 - - - - Dialog - - - - - - - - - - Read results: - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - Monospace - 12 - 50 - false - - - - . - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - -