diff --git a/src/Model/River.py b/src/Model/River.py index d95ad699ce120c1b493cacba7374f45f4fc42980..7011d73e3ba71eb55fa073000a156401a04a0b74 100644 --- a/src/Model/River.py +++ b/src/Model/River.py @@ -77,6 +77,19 @@ class River(Graph): def stricklers(self): return self._stricklers + def strickler(self, name): + ret = list( + filter( + lambda s: s.name == name or str(s) == name, + self._stricklers.stricklers + ) + ) + + if len(ret) == 0: + return None + + return ret[0] + @property def sections(self): return self._sections diff --git a/src/Model/Section/Section.py b/src/Model/Section/Section.py index d7749a9d84a8615f6f77e2e006c708d3162566f7..5d541813e33301167380056fa7aca638492937fd 100644 --- a/src/Model/Section/Section.py +++ b/src/Model/Section/Section.py @@ -81,7 +81,7 @@ class Section(object): return self._begin_strickler @begin_strickler.setter - def begin_strickler(self, stricklers): + def begin_strickler(self, strickler): self._begin_strickler = strickler self._status.modified() @@ -90,6 +90,6 @@ class Section(object): return self._end_strickler @end_strickler.setter - def end_strickler(self, stricklers): + def end_strickler(self, strickler): self._end_strickler = strickler self._status.modified() diff --git a/src/Model/Section/SectionList.py b/src/Model/Section/SectionList.py index 63d02c45b53fa221d9cc03baea66596bffba4c64..ff6ad5efa606549210551b460a450bb69d3ba778 100644 --- a/src/Model/Section/SectionList.py +++ b/src/Model/Section/SectionList.py @@ -27,7 +27,7 @@ class SectionList(object): self._status.modified() def new(self, index): - n = Section(self._status) + n = Section(status = self._status) self._sections.insert(index, n) self._status.modified() return n @@ -47,7 +47,7 @@ class SectionList(object): lambda x: x[1], filter( lambda x: x[0] in indexes, - enumerate(self._tabs[lst]) + enumerate(self._sections) ) ) ) diff --git a/src/Model/Stricklers/Stricklers.py b/src/Model/Stricklers/Stricklers.py index 9799984ffe8836f99d67fcd09170a4bf82a12fab..4eea503603125f8f043c5deace173c6cfd8e31f7 100644 --- a/src/Model/Stricklers/Stricklers.py +++ b/src/Model/Stricklers/Stricklers.py @@ -14,6 +14,12 @@ class Stricklers(object): self._minor = 35 self._medium = 15 + def __str__(self): + if self._name != "": + return f"{self._name} ({self._minor}, {self._medium})" + + return f"({self._minor}, {self._medium})" + @property def name(self): return self._name diff --git a/src/View/Sections/Table.py b/src/View/Sections/Table.py index d5385cf4d9254aa22c64c0010c5e405519868501..52a497efbfccdfad92e4dd61afa43ab6fbc12af5 100644 --- a/src/View/Sections/Table.py +++ b/src/View/Sections/Table.py @@ -42,7 +42,7 @@ class ComboBoxDelegate(QItemDelegate): [_translate("Sections", "Not defined")] + list( map( - lambda s: s.name, + lambda s: str(s), self._data.stricklers.stricklers ) ) @@ -116,9 +116,15 @@ class TableModel(QAbstractTableModel): elif self._headers[column] == "end_kp": return self._sections.get(row).end_kp elif self._headers[column] == "begin_strickler": - return self._sections.get(row).begin_strickler + value = self._sections.get(row).begin_strickler + if value == None: + return _translate("Sections", "Not defined") + return str(value) elif self._headers[column] == "end_strickler": - return self._sections.get(row).end_strickler + value = self._sections.get(row).end_strickler + if value == None: + return _translate("Sections", "Not defined") + return str(value) return QVariant() @@ -159,16 +165,16 @@ class TableModel(QAbstractTableModel): self._sections, row, value ) ) - elif self._headers[column] == "begin_stricklers": + elif self._headers[column] == "begin_strickler": self._undo.push( SetBeginStricklerCommand( - self._sections, row, value + self._sections, row, self._data.strickler(value) ) ) - elif self._headers[column] == "end_stricklers": + elif self._headers[column] == "end_strickler": self._undo.push( SetEndStricklerCommand( - self._sections, row, value + self._sections, row, self._data.strickler(value) ) ) diff --git a/src/View/Sections/UndoCommand.py b/src/View/Sections/UndoCommand.py index b6cb445a6be521c008c63434d522b6623ef56fbe..51e6989e0c932db39e9f617283a5fbc616e41f86 100644 --- a/src/View/Sections/UndoCommand.py +++ b/src/View/Sections/UndoCommand.py @@ -65,6 +65,9 @@ class SetBeginStricklerCommand(QUndoCommand): self._old = self._sections.get(self._index).begin_strickler self._new = new_value + print(self._old) + print(self._new) + def undo(self): self._sections.get(self._index).begin_strickler = self._old @@ -80,6 +83,9 @@ class SetEndStricklerCommand(QUndoCommand): self._old = self._sections.get(self._index).end_strickler self._new = new_value + print(self._old) + print(self._new) + def undo(self): self._sections.get(self._index).end_strickler = self._old