Merge branch 'master' of gitlab-ssh.irstea.fr:theophile.terraz/pamhyr

mesh
Theophile Terraz 2023-12-20 09:37:34 +01:00
commit ecc75c45eb
8 changed files with 47 additions and 21 deletions

View File

@ -33,7 +33,7 @@ dl-mage-linux:
rules: rules:
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG - if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
script: script:
- curl -L -o mage.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/Test6/downloads/packages/mage_linux.tgz - curl -L -o mage.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/v8.3.0/downloads/packages/mage_linux.tgz
- mkdir -p mage-linux - mkdir -p mage-linux
- cd mage-linux - cd mage-linux
- tar xvf ../mage.tgz - tar xvf ../mage.tgz
@ -50,7 +50,7 @@ dl-mage-windows:
rules: rules:
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG - if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
script: script:
- curl -L -o mage.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/Test6/downloads/packages/mage_windows.tgz - curl -L -o mage.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/v8.3.0/downloads/packages/mage_windows.tgz
- mkdir -p mage-windows - mkdir -p mage-windows
- cd mage-windows - cd mage-windows
- tar xvf ../mage.tgz - tar xvf ../mage.tgz

View File

@ -132,7 +132,7 @@ class CommandLineSolver(AbstractSolver):
return os.path.abspath( return os.path.abspath(
os.path.join( os.path.join(
os.path.dirname(__file__), os.path.dirname(__file__),
"..", ".." "..", "..", ".."
) )
) )

View File

@ -435,7 +435,7 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
"", "Pamhyr(*.pamhyr)" "", "Pamhyr(*.pamhyr)"
) )
if file_name[-4:] == ".pamhyr": if file_name.rsplit(".", 1)[-1] == ".pamhyr":
self._study.filename = file_name self._study.filename = file_name
else: else:
self._study.filename = file_name + ".pamhyr" self._study.filename = file_name + ".pamhyr"

View File

@ -16,9 +16,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import os
import logging import logging
from datetime import datetime
from datetime import datetime
from tools import trace, timer from tools import trace, timer
from View.Tools.PamhyrWindow import PamhyrWindow from View.Tools.PamhyrWindow import PamhyrWindow
@ -69,6 +70,14 @@ class ResultsWindow(PamhyrWindow):
_pamhyr_ui = "Results" _pamhyr_ui = "Results"
_pamhyr_name = "Results" _pamhyr_name = "Results"
def _path_file(self, filename):
return os.path.abspath(
os.path.join(
os.path.dirname(__file__),
"..", "..", filename
)
)
def __init__(self, study=None, config=None, def __init__(self, study=None, config=None,
solver=None, results=None, solver=None, results=None,
parent=None): parent=None):
@ -124,13 +133,15 @@ class ResultsWindow(PamhyrWindow):
self._slider_time.setMaximum(len(self._timestamps) - 1) self._slider_time.setMaximum(len(self._timestamps) - 1)
self._slider_time.setValue(len(self._timestamps) - 1) self._slider_time.setValue(len(self._timestamps) - 1)
file_path = os.path.abspath(os.path.dirname(__file__))
self._icon_start = QIcon() self._icon_start = QIcon()
self._icon_start.addPixmap( self._icon_start.addPixmap(
QPixmap('./src/View/ui/ressources/media-playback-start.png') QPixmap(f'{file_path}/../ui/ressources/media-playback-start.png')
) )
self._icon_pause = QIcon() self._icon_pause = QIcon()
self._icon_pause.addPixmap( self._icon_pause.addPixmap(
QPixmap('./src/View/ui/ressources/media-playback-pause.png') QPixmap(f'{file_path}/../ui/ressources/media-playback-pause.png')
) )
self._button_play = self.find(QPushButton, f"playButton") self._button_play = self.find(QPushButton, f"playButton")
self._button_play.setIcon(self._icon_start) self._button_play.setIcon(self._icon_start)
@ -254,6 +265,10 @@ class ResultsWindow(PamhyrWindow):
) )
self.plot_sed_profile.draw() self.plot_sed_profile.draw()
def closeEvent(self, event):
self._timer.stop()
super(ResultsWindow, self).closeEvent(event)
def _compute_status_label(self): def _compute_status_label(self):
# Timestamp # Timestamp
ts = self._timestamps[self._slider_time.value()] ts = self._timestamps[self._slider_time.value()]

View File

@ -21,7 +21,7 @@ import logging
import tempfile import tempfile
from queue import Queue from queue import Queue
from tools import trace, timer from tools import trace, timer, logger_exception
from View.Tools.PamhyrWindow import PamhyrDialog, PamhyrWindow from View.Tools.PamhyrWindow import PamhyrDialog, PamhyrWindow
@ -195,7 +195,7 @@ class SolverLogWindow(PamhyrWindow):
os.makedirs(self._workdir, exist_ok=True) os.makedirs(self._workdir, exist_ok=True)
def setup_process(self): def setup_process(self):
self._alarm.start(500) self._alarm.start(100)
self._output = Queue() self._output = Queue()
self._process = self.new_process(self._parent) self._process = self.new_process(self._parent)
@ -210,6 +210,10 @@ class SolverLogWindow(PamhyrWindow):
self._solver.export(self._study, self._workdir, qlog=self._output) self._solver.export(self._study, self._workdir, qlog=self._output)
self.update() self.update()
def closeEvent(self, event):
self._alarm.stop()
super(SolverLogWindow, self).closeEvent(event)
####### #######
# LOG # # LOG #
####### #######
@ -259,16 +263,21 @@ class SolverLogWindow(PamhyrWindow):
if self._solver.log_file() != "": if self._solver.log_file() != "":
self.find(QAction, "action_log_file").setEnabled(True) self.find(QAction, "action_log_file").setEnabled(True)
self._update_logs_all()
self._update_get_results() self._update_get_results()
self._update_logs_all() self._update_logs_all()
def _update_get_results(self): def _update_get_results(self):
if self._results is None: if self._results is None:
self._results = self._solver.results( try:
self._study, self._workdir, qlog=self._output self._results = self._solver.results(
) self._study, self._workdir, qlog=self._output
self._parent.set_results(self._solver, self._results) )
self._parent.set_results(self._solver, self._results)
except Exception as e:
logger.error(f"Failed to open results")
logger_exception(e)
def _update_logs_all(self): def _update_logs_all(self):
while self._output.qsize() != 0: while self._output.qsize() != 0:

View File

@ -98,7 +98,7 @@ class PamhyrPlotToolbar(NavigationToolbar2QT):
icon_zoom = QtGui.QIcon() icon_zoom = QtGui.QIcon()
icon_zoom.addPixmap(QtGui.QPixmap( icon_zoom.addPixmap(QtGui.QPixmap(
os.path.abspath(f"{file_path}/../ui/ressources/zoom.png") os.path.abspath(f"{file_path}/../../ui/ressources/zoom.png")
)) ))
icons.append(("zoom", icon_zoom)) icons.append(("zoom", icon_zoom))
@ -122,7 +122,7 @@ class PamhyrPlotToolbar(NavigationToolbar2QT):
icon_btn_isometric_view.addPixmap( icon_btn_isometric_view.addPixmap(
QtGui.QPixmap( QtGui.QPixmap(
os.path.abspath( os.path.abspath(
f"{file_path}/../ui/ressources/zoom_fit_11.png" f"{file_path}/../../ui/ressources/zoom_fit_11.png"
) )
) )
) )
@ -131,7 +131,7 @@ class PamhyrPlotToolbar(NavigationToolbar2QT):
icon_btn_global_view.addPixmap( icon_btn_global_view.addPixmap(
QtGui.QPixmap( QtGui.QPixmap(
os.path.abspath( os.path.abspath(
f"{file_path}/../ui/ressources/zoom_fit.png" f"{file_path}/../../ui/ressources/zoom_fit.png"
) )
) )
) )

View File

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>874</width> <width>1280</width>
<height>745</height> <height>720</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -34,7 +34,7 @@
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
</property> </property>
<widget class="QTableView" name="tableView_reach"/> <widget class="QTableView" name="tableView_reach"/>
<widget class="QWidget" name=""> <widget class="QWidget" name="layoutWidget">
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<widget class="QTableView" name="tableView_profile"/> <widget class="QTableView" name="tableView_profile"/>
@ -55,7 +55,7 @@
</layout> </layout>
</widget> </widget>
</widget> </widget>
<widget class="QWidget" name=""> <widget class="QWidget" name="layoutWidget">
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QTabWidget" name="tabWidget"> <widget class="QTabWidget" name="tabWidget">
@ -228,7 +228,7 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>874</width> <width>1280</width>
<height>22</height> <height>22</height>
</rect> </rect>
</property> </property>

View File

@ -39,6 +39,7 @@ from Scripts.P3DST import Script3DST
from Scripts.Hello import ScriptHello from Scripts.Hello import ScriptHello
from Scripts.ListSolver import ScriptListSolver from Scripts.ListSolver import ScriptListSolver
from Scripts.Run import ScriptExport, ScriptRun from Scripts.Run import ScriptExport, ScriptRun
from Scripts.MageMesh import MageMesh
from init import legal_info, debug_info, setup_lang from init import legal_info, debug_info, setup_lang
@ -50,6 +51,7 @@ scripts = {
"export": ScriptExport, "export": ScriptExport,
"run": ScriptRun, "run": ScriptRun,
"3DST": Script3DST, "3DST": Script3DST,
"mesh": MageMesh,
} }