mirror of https://gitlab.com/pamhyr/pamhyr2
Merge branch 'master' of gitlab-ssh.irstea.fr:theophile.terraz/pamhyr
commit
ecc75c45eb
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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__),
|
||||||
"..", ".."
|
"..", "..", ".."
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
|
|
|
||||||
|
|
@ -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()]
|
||||||
|
|
|
||||||
|
|
@ -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:
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue