Merge: branch 'master' into 'scenarios'.

This commit is contained in:
parouby committed 2025-08-11 11:12:59 +02:00
commit 74ab3aa522
312 files changed
+82851 -9744

No files matched your search

+64 -48
View File
@@ -23,6 +23,7 @@ from tools import trace, timer, logger_exception
from View.Tools.PamhyrWindow import PamhyrWindow
from PyQt5 import QtWidgets
from PyQt5.QtGui import (
QKeySequence,
)
@@ -30,7 +31,7 @@ from PyQt5.QtGui import (
from PyQt5.QtCore import (
Qt, QVariant, QAbstractTableModel,
QCoreApplication, QModelIndex, pyqtSlot,
QRect,
QRect, QSettings, QItemSelectionModel,
)
from PyQt5.QtWidgets import (
@@ -265,27 +266,38 @@ class InitialConditionsWindow(PamhyrWindow):
self._update()
def import_from_file(self):
workdir = os.path.dirname(self._study.filename)
return self.file_dialog(
select_file="ExistingFile",
callback=lambda d: self._import_from_file(d[0]),
directory=workdir,
default_suffix=".BIN",
file_filter=["Mage (*.BIN)"],
options = QFileDialog.Options()
settings = QSettings(QSettings.IniFormat,
QSettings.UserScope, 'MyOrg', )
options |= QFileDialog.DontUseNativeDialog
filename, _ = QtWidgets.QFileDialog.getOpenFileName(
self,
self._trad["open_file"],
"",
";; ".join(["Mage (*.BIN)"]),
options=options
)
if filename != "":
size = os.stat(filename).st_size
# self._table.import_geometry(0, filename)
self._import_from_file(filename)
def _import_from_file(self, file_name):
solver = Mage8("dummy")
name = os.path.basename(file_name)\
.replace(".BIN", "")
def reading():
self._tmp_results = solver.results(
self._study,
os.path.dirname(file_name),
name=name
)
try:
self._tmp_results = solver.results(
self._study,
os.path.dirname(file_name),
name=name
)
except Exception as e:
logger.error(f"Failed to open results")
logger_exception(e)
dlg = WaitingDialog(
payload_fn=reading,
@@ -294,7 +306,8 @@ class InitialConditionsWindow(PamhyrWindow):
)
dlg.exec_()
results = self._tmp_results
self._import_from_results(results)
if results.is_valid:
self._import_from_results(results)
def _import_from_results(self, results):
logger.debug(f"import from results: {results}")
@@ -367,40 +380,43 @@ class InitialConditionsWindow(PamhyrWindow):
self._update()
def generate_growing_constant_depth(self):
dlg = DepthDialog(self.depth_value,
self.depth_option,
trad=self._trad,
parent=self)
if dlg.exec():
self.depth_value = dlg.value
self.depth_option = dlg.option
self._table.generate("growing",
self.depth_value,
self.depth_option)
self._update()
def generate_discharge(self):
dlg = DischargeDialog(self.discharge_value,
self.discharge_option,
if self._reach.reach.number_profiles > 0:
dlg = DepthDialog(self.depth_value,
self.depth_option,
trad=self._trad,
parent=self)
if dlg.exec():
self.discharge_value = dlg.value
self.discharge_option = dlg.option
self._table.generate("discharge",
self.discharge_value,
self.discharge_option)
self._update()
if dlg.exec():
self.depth_value = dlg.value
self.depth_option = dlg.option
self._table.generate("growing",
self.depth_value,
self.depth_option)
self._update()
def generate_discharge(self):
if self._reach.reach.number_profiles > 1:
dlg = DischargeDialog(self.discharge_value,
self.discharge_option,
trad=self._trad,
parent=self)
if dlg.exec():
self.discharge_value = dlg.value
self.discharge_option = dlg.option
self._table.generate("discharge",
self.discharge_value,
self.discharge_option)
self._update()
def generate_height(self):
dlg = HeightDialog(self.height_values,
self.height_option,
trad=self._trad,
parent=self)
if dlg.exec():
self.height_values = dlg.values
self.height_option = dlg.option
self._table.generate("height",
self.height_values,
self.height_option)
self._update()
if self._reach.reach.number_profiles > 0:
dlg = HeightDialog(self.height_values,
self.height_option,
trad=self._trad,
parent=self)
if dlg.exec():
self.height_values = dlg.values
self.height_option = dlg.option
self._table.generate("height",
self.height_values,
self.height_option)
self._update()