mirror of
https://gitlab.com/pamhyr/pamhyr2.git
synced 2026-10-29 19:10:42 +01:00
Time/date format: back to relative timestamps storage
This commit is contained in:
1 parent
5ce5478bf4
commit
9879094661
15 files changed
+93
-37
No files matched your search
+1
-2
@@ -217,8 +217,7 @@ class Study(SQLModel):
|
|||||||
me.name = name
|
me.name = name
|
||||||
me.description = description
|
me.description = description
|
||||||
if date is not None:
|
if date is not None:
|
||||||
me.use_date()
|
me.use_date(date)
|
||||||
me.date = date
|
|
||||||
return me
|
return me
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|||||||
@@ -94,11 +94,11 @@ class TableModel(PamhyrTableModel):
|
|||||||
v = v.replace(',', '.')
|
v = v.replace(',', '.')
|
||||||
value = f"{float(v):.4f}"
|
value = f"{float(v):.4f}"
|
||||||
elif self._data.header[column] == "time":
|
elif self._data.header[column] == "time":
|
||||||
if self._opt_data == "time":
|
if self.time_system == "time":
|
||||||
value = timestamp_to_old_pamhyr_date(int(v))
|
value = timestamp_to_old_pamhyr_date(int(v))
|
||||||
else:
|
else:
|
||||||
value = format_datetime(
|
value = format_datetime(
|
||||||
datetime(1970, 1, 1) + timedelta(seconds=float(v))
|
parse_datetime(self.start_date) + timedelta(seconds=float(v))
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
value = f"{v}"
|
value = f"{v}"
|
||||||
@@ -117,8 +117,8 @@ class TableModel(PamhyrTableModel):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
if (self._data.header[column] == "time"
|
if (self._data.header[column] == "time"
|
||||||
and self._opt_data == "date"):
|
and self.time_system == "date"):
|
||||||
value = self.date_to_timestamp(value)
|
value = self.date_to_elapsed_seconds(value)
|
||||||
|
|
||||||
row = self.get_true_data_row(row)
|
row = self.get_true_data_row(row)
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,8 @@
|
|||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from Modules import Modules
|
||||||
|
|
||||||
from tools import timer, trace
|
from tools import timer, trace
|
||||||
|
|
||||||
from numpy import sqrt
|
from numpy import sqrt
|
||||||
@@ -174,7 +176,7 @@ class EditBoundaryConditionWindow(PamhyrWindow):
|
|||||||
data=self._data,
|
data=self._data,
|
||||||
undo=self._undo_stack,
|
undo=self._undo_stack,
|
||||||
opt_data=self._study.time_system,
|
opt_data=self._study.time_system,
|
||||||
start_date=self._study.date
|
study=self._study
|
||||||
)
|
)
|
||||||
|
|
||||||
table.setModel(self._table)
|
table.setModel(self._table)
|
||||||
@@ -262,6 +264,11 @@ class EditBoundaryConditionWindow(PamhyrWindow):
|
|||||||
self._d50sigma.set_d50(self._data.d50)
|
self._d50sigma.set_d50(self._data.d50)
|
||||||
self._d50sigma.set_sigma(self._data.sigma)
|
self._d50sigma.set_sigma(self._data.sigma)
|
||||||
|
|
||||||
|
def _propagated_update(self, key=Modules(0)):
|
||||||
|
if Modules.STUDY in key:
|
||||||
|
self._table.layoutChanged.emit()
|
||||||
|
self.plot.update()
|
||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
self.plot.update()
|
self.plot.update()
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import traceback
|
|||||||
|
|
||||||
from datetime import date, time, datetime, timedelta
|
from datetime import date, time, datetime, timedelta
|
||||||
|
|
||||||
|
from tools import parse_datetime
|
||||||
from tools import (
|
from tools import (
|
||||||
trace, timer,
|
trace, timer,
|
||||||
timestamp_to_old_pamhyr_date,
|
timestamp_to_old_pamhyr_date,
|
||||||
@@ -84,11 +85,11 @@ class TableModel(PamhyrTableModel):
|
|||||||
if self._data._types[column] == float:
|
if self._data._types[column] == float:
|
||||||
value = f"{v:.4f}"
|
value = f"{v:.4f}"
|
||||||
elif self._data.header[column] == "time":
|
elif self._data.header[column] == "time":
|
||||||
if self._opt_data == "time":
|
if self.time_system == "time":
|
||||||
value = timestamp_to_old_pamhyr_date(int(v))
|
value = timestamp_to_old_pamhyr_date(int(v))
|
||||||
else:
|
else:
|
||||||
value = format_datetime(
|
value = format_datetime(
|
||||||
datetime(1970, 1, 1) + timedelta(seconds=float(v))
|
parse_datetime(self.start_date) + timedelta(seconds=float(v))
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
value = f"{v}"
|
value = f"{v}"
|
||||||
@@ -107,8 +108,8 @@ class TableModel(PamhyrTableModel):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
if (self._data.header[column] == "time"
|
if (self._data.header[column] == "time"
|
||||||
and self._opt_data == "date"):
|
and self.time_system == "date"):
|
||||||
value = self.date_to_timestamp(value)
|
value = self.date_to_elapsed_seconds(value)
|
||||||
|
|
||||||
row = self.get_true_data_row(row)
|
row = self.get_true_data_row(row)
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,8 @@
|
|||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from Modules import Modules
|
||||||
|
|
||||||
from tools import timer, trace
|
from tools import timer, trace
|
||||||
|
|
||||||
from View.Tools.PamhyrWindow import PamhyrWindow
|
from View.Tools.PamhyrWindow import PamhyrWindow
|
||||||
@@ -129,7 +131,7 @@ class EditBoundaryConditionWindow(PamhyrWindow):
|
|||||||
data=self._data,
|
data=self._data,
|
||||||
undo=self._undo_stack,
|
undo=self._undo_stack,
|
||||||
opt_data=self._study.time_system,
|
opt_data=self._study.time_system,
|
||||||
start_date=self._study.date
|
study=self._study
|
||||||
)
|
)
|
||||||
|
|
||||||
table.setModel(self._table)
|
table.setModel(self._table)
|
||||||
@@ -162,6 +164,11 @@ class EditBoundaryConditionWindow(PamhyrWindow):
|
|||||||
self.find(QAction, "action_sort").triggered.connect(self.sort)
|
self.find(QAction, "action_sort").triggered.connect(self.sort)
|
||||||
self._table.dataChanged.connect(self.update)
|
self._table.dataChanged.connect(self.update)
|
||||||
|
|
||||||
|
def _propagated_update(self, key=Modules(0)):
|
||||||
|
if Modules.STUDY in key:
|
||||||
|
self._table.layoutChanged.emit()
|
||||||
|
self.plot.update()
|
||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
self.plot.update()
|
self.plot.update()
|
||||||
self.plot.fit_to_data()
|
self.plot.fit_to_data()
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import traceback
|
|||||||
|
|
||||||
from datetime import date, time, datetime, timedelta
|
from datetime import date, time, datetime, timedelta
|
||||||
|
|
||||||
|
from tools import parse_datetime
|
||||||
from tools import (
|
from tools import (
|
||||||
trace, timer,
|
trace, timer,
|
||||||
timestamp_to_old_pamhyr_date,
|
timestamp_to_old_pamhyr_date,
|
||||||
@@ -84,11 +85,11 @@ class TableModel(PamhyrTableModel):
|
|||||||
if self._data._types[column] == float:
|
if self._data._types[column] == float:
|
||||||
value = f"{v:.2f}"
|
value = f"{v:.2f}"
|
||||||
elif self._data.header[column] == "time":
|
elif self._data.header[column] == "time":
|
||||||
if self._opt_data == "time":
|
if self.time_system == "time":
|
||||||
value = timestamp_to_old_pamhyr_date(int(v))
|
value = timestamp_to_old_pamhyr_date(int(v))
|
||||||
else:
|
else:
|
||||||
value = format_datetime(
|
value = format_datetime(
|
||||||
datetime(1970, 1, 1) + timedelta(seconds=float(v))
|
parse_datetime(self.start_date) + timedelta(seconds=float(v))
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
value = f"{v}"
|
value = f"{v}"
|
||||||
@@ -107,8 +108,8 @@ class TableModel(PamhyrTableModel):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
if (self._data.header[column] == "time"
|
if (self._data.header[column] == "time"
|
||||||
and self._opt_data == "date"):
|
and self.time_system == "date"):
|
||||||
value = self.date_to_timestamp(value)
|
value = self.date_to_elapsed_seconds(value)
|
||||||
|
|
||||||
row = self.get_true_data_row(row)
|
row = self.get_true_data_row(row)
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,8 @@
|
|||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from Modules import Modules
|
||||||
|
|
||||||
from tools import timer, trace
|
from tools import timer, trace
|
||||||
|
|
||||||
from View.Tools.PamhyrWindow import PamhyrWindow
|
from View.Tools.PamhyrWindow import PamhyrWindow
|
||||||
@@ -118,7 +120,7 @@ class EditBoundaryConditionWindow(PamhyrWindow):
|
|||||||
data=self._data,
|
data=self._data,
|
||||||
undo=self._undo_stack,
|
undo=self._undo_stack,
|
||||||
opt_data=self._study.time_system,
|
opt_data=self._study.time_system,
|
||||||
start_date=self._study.date
|
study=self._study
|
||||||
)
|
)
|
||||||
|
|
||||||
table.setModel(self._table)
|
table.setModel(self._table)
|
||||||
@@ -151,6 +153,11 @@ class EditBoundaryConditionWindow(PamhyrWindow):
|
|||||||
self.find(QAction, "action_sort").triggered.connect(self.sort)
|
self.find(QAction, "action_sort").triggered.connect(self.sort)
|
||||||
self._table.dataChanged.connect(self.update)
|
self._table.dataChanged.connect(self.update)
|
||||||
|
|
||||||
|
def _propagated_update(self, key=Modules(0)):
|
||||||
|
if Modules.STUDY in key:
|
||||||
|
self._table.layoutChanged.emit()
|
||||||
|
self.plot.update()
|
||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
self.plot.update()
|
self.plot.update()
|
||||||
self.plot.fit_to_data()
|
self.plot.fit_to_data()
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import logging
|
|||||||
import traceback
|
import traceback
|
||||||
from datetime import date, time, datetime, timedelta
|
from datetime import date, time, datetime, timedelta
|
||||||
|
|
||||||
|
from tools import parse_datetime
|
||||||
from tools import (
|
from tools import (
|
||||||
trace, timer,
|
trace, timer,
|
||||||
timestamp_to_old_pamhyr_date,
|
timestamp_to_old_pamhyr_date,
|
||||||
@@ -73,11 +74,11 @@ class TableModel(PamhyrTableModel):
|
|||||||
if self._data.get_type_column(column) == float:
|
if self._data.get_type_column(column) == float:
|
||||||
value = f"{v:.4f}"
|
value = f"{v:.4f}"
|
||||||
elif self._data.header[column] == "time":
|
elif self._data.header[column] == "time":
|
||||||
if self._opt_data == "time":
|
if self.time_system == "time":
|
||||||
value = timestamp_to_old_pamhyr_date(int(v))
|
value = timestamp_to_old_pamhyr_date(int(v))
|
||||||
else:
|
else:
|
||||||
value = format_datetime(
|
value = format_datetime(
|
||||||
datetime(1970, 1, 1) + timedelta(seconds=float(v))
|
parse_datetime(self.start_date) + timedelta(seconds=float(v))
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
value = f"{v}"
|
value = f"{v}"
|
||||||
@@ -96,8 +97,8 @@ class TableModel(PamhyrTableModel):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
if (self._data.header[column] == "time"
|
if (self._data.header[column] == "time"
|
||||||
and self._opt_data == "date"):
|
and self.time_system == "date"):
|
||||||
value = self.date_to_timestamp(value)
|
value = self.date_to_elapsed_seconds(value)
|
||||||
|
|
||||||
self._undo.push(
|
self._undo.push(
|
||||||
SetDataCommand(
|
SetDataCommand(
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ from PyQt5.QtGui import (
|
|||||||
QKeySequence,
|
QKeySequence,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from Modules import Modules
|
||||||
|
|
||||||
from PyQt5.QtCore import (
|
from PyQt5.QtCore import (
|
||||||
Qt, QVariant, QAbstractTableModel, QCoreApplication,
|
Qt, QVariant, QAbstractTableModel, QCoreApplication,
|
||||||
)
|
)
|
||||||
@@ -110,7 +112,7 @@ class EditLateralContributionWindow(PamhyrWindow):
|
|||||||
undo=self._undo_stack,
|
undo=self._undo_stack,
|
||||||
trad=self._trad,
|
trad=self._trad,
|
||||||
opt_data=self._study.time_system,
|
opt_data=self._study.time_system,
|
||||||
start_date=self._study.date
|
study=self._study
|
||||||
)
|
)
|
||||||
|
|
||||||
table.setModel(self._table)
|
table.setModel(self._table)
|
||||||
@@ -146,6 +148,11 @@ class EditLateralContributionWindow(PamhyrWindow):
|
|||||||
self._table.dataChanged.connect(self.update)
|
self._table.dataChanged.connect(self.update)
|
||||||
self._table.layoutChanged.connect(self.update)
|
self._table.layoutChanged.connect(self.update)
|
||||||
|
|
||||||
|
def _propagated_update(self, key=Modules(0)):
|
||||||
|
if Modules.STUDY in key:
|
||||||
|
self._table.layoutChanged.emit()
|
||||||
|
self.plot.update()
|
||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
self.plot.update()
|
self.plot.update()
|
||||||
self.plot.fit_to_data()
|
self.plot.fit_to_data()
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import logging
|
|||||||
import traceback
|
import traceback
|
||||||
from datetime import date, time, datetime, timedelta
|
from datetime import date, time, datetime, timedelta
|
||||||
|
|
||||||
|
from tools import parse_datetime
|
||||||
from tools import (
|
from tools import (
|
||||||
trace, timer,
|
trace, timer,
|
||||||
timestamp_to_old_pamhyr_date,
|
timestamp_to_old_pamhyr_date,
|
||||||
@@ -87,11 +88,11 @@ class TableModel(PamhyrTableModel):
|
|||||||
if self._data._types[column] == float:
|
if self._data._types[column] == float:
|
||||||
value = f"{v:.4f}"
|
value = f"{v:.4f}"
|
||||||
elif self._data.header[column] == "time":
|
elif self._data.header[column] == "time":
|
||||||
if self._opt_data == "time":
|
if self.time_system == "time":
|
||||||
value = timestamp_to_old_pamhyr_date_adists(int(v))
|
value = timestamp_to_old_pamhyr_date_adists(int(v))
|
||||||
else:
|
else:
|
||||||
value = format_datetime(
|
value = format_datetime(
|
||||||
datetime(1970, 1, 1) + timedelta(seconds=float(v))
|
parse_datetime(self.start_date) + timedelta(seconds=float(v))
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
value = f"{v}"
|
value = f"{v}"
|
||||||
@@ -110,8 +111,8 @@ class TableModel(PamhyrTableModel):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
if (self._data.header[column] == "time"
|
if (self._data.header[column] == "time"
|
||||||
and self._opt_data == "date"):
|
and self.time_system == "date"):
|
||||||
value = self.date_to_timestamp(value)
|
value = self.date_to_elapsed_seconds(value)
|
||||||
|
|
||||||
row = self.get_true_data_row(row)
|
row = self.get_true_data_row(row)
|
||||||
|
|
||||||
|
|||||||
@@ -29,6 +29,8 @@ from PyQt5.QtCore import (
|
|||||||
Qt, QVariant, QAbstractTableModel, QCoreApplication,
|
Qt, QVariant, QAbstractTableModel, QCoreApplication,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from Modules import Modules
|
||||||
|
|
||||||
from PyQt5.QtWidgets import (
|
from PyQt5.QtWidgets import (
|
||||||
QDialogButtonBox, QPushButton, QLineEdit,
|
QDialogButtonBox, QPushButton, QLineEdit,
|
||||||
QFileDialog, QTableView, QAbstractItemView,
|
QFileDialog, QTableView, QAbstractItemView,
|
||||||
@@ -132,7 +134,7 @@ class EditLateralContributionAdisTSWindow(PamhyrWindow):
|
|||||||
undo=self._undo_stack,
|
undo=self._undo_stack,
|
||||||
trad=self._trad,
|
trad=self._trad,
|
||||||
opt_data=self._study.time_system,
|
opt_data=self._study.time_system,
|
||||||
start_date=self._study.date
|
study=self._study
|
||||||
)
|
)
|
||||||
|
|
||||||
table.setModel(self._table)
|
table.setModel(self._table)
|
||||||
@@ -166,6 +168,11 @@ class EditLateralContributionAdisTSWindow(PamhyrWindow):
|
|||||||
|
|
||||||
self._table.dataChanged.connect(self.update)
|
self._table.dataChanged.connect(self.update)
|
||||||
|
|
||||||
|
def _propagated_update(self, key=Modules(0)):
|
||||||
|
if Modules.STUDY in key:
|
||||||
|
self._table.layoutChanged.emit()
|
||||||
|
self.plot.update()
|
||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
self.plot.update()
|
self.plot.update()
|
||||||
self.plot.fit_to_data()
|
self.plot.fit_to_data()
|
||||||
|
|||||||
@@ -18,7 +18,6 @@
|
|||||||
|
|
||||||
import logging
|
import logging
|
||||||
import traceback
|
import traceback
|
||||||
from datetime import timezone
|
|
||||||
|
|
||||||
from tools import trace, timer, parse_datetime
|
from tools import trace, timer, parse_datetime
|
||||||
|
|
||||||
@@ -63,8 +62,16 @@ class PamhyrTextDelegate(QStyledItemDelegate):
|
|||||||
|
|
||||||
|
|
||||||
class PamhyrTableModel(QAbstractTableModel):
|
class PamhyrTableModel(QAbstractTableModel):
|
||||||
def date_to_timestamp(self, value):
|
@property
|
||||||
"""Convert an accepted calendar date to its raw UTC timestamp."""
|
def time_system(self):
|
||||||
|
return self._study.time_system if self._study is not None else self._opt_data
|
||||||
|
|
||||||
|
@property
|
||||||
|
def start_date(self):
|
||||||
|
return self._study.date if self._study is not None else self._start_date
|
||||||
|
|
||||||
|
def date_to_elapsed_seconds(self, value):
|
||||||
|
"""Convert an accepted calendar date to elapsed simulation seconds."""
|
||||||
try:
|
try:
|
||||||
entered_date = parse_datetime(value)
|
entered_date = parse_datetime(value)
|
||||||
except ValueError as error:
|
except ValueError as error:
|
||||||
@@ -82,7 +89,7 @@ class PamhyrTableModel(QAbstractTableModel):
|
|||||||
)
|
)
|
||||||
raise error
|
raise error
|
||||||
|
|
||||||
return entered_date.replace(tzinfo=timezone.utc).timestamp()
|
return (entered_date - parse_datetime(self.start_date)).total_seconds()
|
||||||
|
|
||||||
def _setup_delegates(self):
|
def _setup_delegates(self):
|
||||||
if self._table_view is None:
|
if self._table_view is None:
|
||||||
@@ -111,7 +118,7 @@ class PamhyrTableModel(QAbstractTableModel):
|
|||||||
opt_data=None,
|
opt_data=None,
|
||||||
options=["rows_selection"],
|
options=["rows_selection"],
|
||||||
parent=None,
|
parent=None,
|
||||||
start_date=None):
|
start_date=None, study=None):
|
||||||
super(PamhyrTableModel, self).__init__()
|
super(PamhyrTableModel, self).__init__()
|
||||||
|
|
||||||
self._table_view = table_view
|
self._table_view = table_view
|
||||||
@@ -129,6 +136,7 @@ class PamhyrTableModel(QAbstractTableModel):
|
|||||||
self._undo = undo
|
self._undo = undo
|
||||||
self._lst = []
|
self._lst = []
|
||||||
self._start_date = start_date
|
self._start_date = start_date
|
||||||
|
self._study = study
|
||||||
|
|
||||||
self._setup_delegates()
|
self._setup_delegates()
|
||||||
self._setup_lst()
|
self._setup_lst()
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import logging
|
|||||||
import traceback
|
import traceback
|
||||||
from datetime import date, time, datetime, timedelta
|
from datetime import date, time, datetime, timedelta
|
||||||
|
|
||||||
|
from tools import parse_datetime
|
||||||
from tools import (
|
from tools import (
|
||||||
trace, timer,
|
trace, timer,
|
||||||
timestamp_to_old_pamhyr_date,
|
timestamp_to_old_pamhyr_date,
|
||||||
@@ -74,11 +75,11 @@ class TableModel(PamhyrTableModel):
|
|||||||
if self._data.get_type_column(column) == float:
|
if self._data.get_type_column(column) == float:
|
||||||
value = f"{v:.4f}"
|
value = f"{v:.4f}"
|
||||||
elif self._data.header[column] == "time":
|
elif self._data.header[column] == "time":
|
||||||
if self._opt_data == "time":
|
if self.time_system == "time":
|
||||||
value = timestamp_to_old_pamhyr_date(int(v))
|
value = timestamp_to_old_pamhyr_date(int(v))
|
||||||
else:
|
else:
|
||||||
value = format_datetime(
|
value = format_datetime(
|
||||||
datetime(1970, 1, 1) + timedelta(seconds=float(v))
|
parse_datetime(self.start_date) + timedelta(seconds=float(v))
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
value = f"{v}"
|
value = f"{v}"
|
||||||
@@ -97,8 +98,8 @@ class TableModel(PamhyrTableModel):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
if (self._data.header[column] == "time"
|
if (self._data.header[column] == "time"
|
||||||
and self._opt_data == "date"):
|
and self.time_system == "date"):
|
||||||
value = self.date_to_timestamp(value)
|
value = self.date_to_elapsed_seconds(value)
|
||||||
|
|
||||||
self._undo.push(
|
self._undo.push(
|
||||||
SetDataCommand(
|
SetDataCommand(
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ from PyQt5.QtGui import (
|
|||||||
QKeySequence,
|
QKeySequence,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from Modules import Modules
|
||||||
|
|
||||||
from PyQt5.QtCore import (
|
from PyQt5.QtCore import (
|
||||||
Qt, QVariant, QAbstractTableModel, QCoreApplication,
|
Qt, QVariant, QAbstractTableModel, QCoreApplication,
|
||||||
)
|
)
|
||||||
@@ -122,7 +124,7 @@ class EditWeatherParametersWindow(PamhyrWindow):
|
|||||||
undo=self._undo_stack,
|
undo=self._undo_stack,
|
||||||
trad=self._trad,
|
trad=self._trad,
|
||||||
opt_data=self._study.time_system,
|
opt_data=self._study.time_system,
|
||||||
start_date=self._study.date
|
study=self._study
|
||||||
)
|
)
|
||||||
|
|
||||||
table.setModel(self._table)
|
table.setModel(self._table)
|
||||||
@@ -158,6 +160,11 @@ class EditWeatherParametersWindow(PamhyrWindow):
|
|||||||
self._table.dataChanged.connect(self.update)
|
self._table.dataChanged.connect(self.update)
|
||||||
self._table.layoutChanged.connect(self.update)
|
self._table.layoutChanged.connect(self.update)
|
||||||
|
|
||||||
|
def _propagated_update(self, key=Modules(0)):
|
||||||
|
if Modules.STUDY in key:
|
||||||
|
self._table.layoutChanged.emit()
|
||||||
|
self.plot.update()
|
||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
self.plot.update()
|
self.plot.update()
|
||||||
self.plot.fit_to_data()
|
self.plot.fit_to_data()
|
||||||
|
|||||||
@@ -240,6 +240,8 @@ def timestamp(dt: datetime):
|
|||||||
|
|
||||||
|
|
||||||
SUPPORTED_DATETIME_FORMATS = (
|
SUPPORTED_DATETIME_FORMATS = (
|
||||||
|
"%d:%m:%Y, %H:%M:%S",
|
||||||
|
"%d:%m:%Y",
|
||||||
"%d-%m-%Y %H:%M:%S.%f",
|
"%d-%m-%Y %H:%M:%S.%f",
|
||||||
"%d-%m-%Y %H:%M:%S",
|
"%d-%m-%Y %H:%M:%S",
|
||||||
"%d-%m-%Y %H:%M",
|
"%d-%m-%Y %H:%M",
|
||||||
|
|||||||
Reference in new issue
Block a user