mirror of https://gitlab.com/pamhyr/pamhyr2
Ovelapping intervals: setting default values when creating a parameter
parent
50fa4f7bd8
commit
0fdb362313
|
|
@ -248,13 +248,18 @@ class WeatherParametersTableModel(PamhyrTableModel):
|
||||||
)
|
)
|
||||||
elif self._headers[column] == "reach":
|
elif self._headers[column] == "reach":
|
||||||
new_reach = self._river.edge(value)
|
new_reach = self._river.edge(value)
|
||||||
if self._overlaps_existing_interval(
|
overlaps = self._overlaps_existing_interval(
|
||||||
row, reach=new_reach):
|
row, reach=new_reach
|
||||||
|
)
|
||||||
|
current = self._lst[row]
|
||||||
|
clear_interval = overlaps and current.reach is None
|
||||||
|
if overlaps and not clear_interval:
|
||||||
self._show_overlap_warning()
|
self._show_overlap_warning()
|
||||||
return False
|
return False
|
||||||
self._undo.push(
|
self._undo.push(
|
||||||
SetEdgeCommand(
|
SetEdgeCommand(
|
||||||
self._data, global_row, new_reach
|
self._data, global_row, new_reach,
|
||||||
|
clear_interval=clear_interval
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
|
||||||
|
|
@ -120,19 +120,27 @@ class SetEndCommand(QUndoCommand):
|
||||||
|
|
||||||
|
|
||||||
class SetEdgeCommand(QUndoCommand):
|
class SetEdgeCommand(QUndoCommand):
|
||||||
def __init__(self, wps, index, edge):
|
def __init__(self, wps, index, edge, clear_interval=False):
|
||||||
QUndoCommand.__init__(self)
|
QUndoCommand.__init__(self)
|
||||||
|
|
||||||
self._wps = wps
|
self._wps = wps
|
||||||
self._index = index
|
self._index = index
|
||||||
self._old = self._wps.get(self._index).reach
|
self._old = self._wps.get(self._index).reach
|
||||||
|
self._old_begin = self._wps.get(self._index).begin_section
|
||||||
|
self._old_end = self._wps.get(self._index).end_section
|
||||||
self._new = edge
|
self._new = edge
|
||||||
|
self._clear_interval = clear_interval
|
||||||
|
|
||||||
def undo(self):
|
def undo(self):
|
||||||
self._wps.get(self._index).reach = self._old
|
self._wps.get(self._index).reach = self._old
|
||||||
|
self._wps.get(self._index).begin_section = self._old_begin
|
||||||
|
self._wps.get(self._index).end_section = self._old_end
|
||||||
|
|
||||||
def redo(self):
|
def redo(self):
|
||||||
self._wps.get(self._index).reach = self._new
|
self._wps.get(self._index).reach = self._new
|
||||||
|
if self._clear_interval:
|
||||||
|
self._wps.get(self._index).begin_section = None
|
||||||
|
self._wps.get(self._index).end_section = None
|
||||||
|
|
||||||
|
|
||||||
class AddCommand(QUndoCommand):
|
class AddCommand(QUndoCommand):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue