Commit 84688482 authored by Pierre-Antoine Rouby's avatar Pierre-Antoine Rouby
Browse files

Sections: Fix section stricklers set command.

Showing with 42 additions and 11 deletions
+42 -11
...@@ -77,6 +77,19 @@ class River(Graph): ...@@ -77,6 +77,19 @@ class River(Graph):
def stricklers(self): def stricklers(self):
return self._stricklers 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 @property
def sections(self): def sections(self):
return self._sections return self._sections
......
...@@ -81,7 +81,7 @@ class Section(object): ...@@ -81,7 +81,7 @@ class Section(object):
return self._begin_strickler return self._begin_strickler
@begin_strickler.setter @begin_strickler.setter
def begin_strickler(self, stricklers): def begin_strickler(self, strickler):
self._begin_strickler = strickler self._begin_strickler = strickler
self._status.modified() self._status.modified()
...@@ -90,6 +90,6 @@ class Section(object): ...@@ -90,6 +90,6 @@ class Section(object):
return self._end_strickler return self._end_strickler
@end_strickler.setter @end_strickler.setter
def end_strickler(self, stricklers): def end_strickler(self, strickler):
self._end_strickler = strickler self._end_strickler = strickler
self._status.modified() self._status.modified()
...@@ -27,7 +27,7 @@ class SectionList(object): ...@@ -27,7 +27,7 @@ class SectionList(object):
self._status.modified() self._status.modified()
def new(self, index): def new(self, index):
n = Section(self._status) n = Section(status = self._status)
self._sections.insert(index, n) self._sections.insert(index, n)
self._status.modified() self._status.modified()
return n return n
...@@ -47,7 +47,7 @@ class SectionList(object): ...@@ -47,7 +47,7 @@ class SectionList(object):
lambda x: x[1], lambda x: x[1],
filter( filter(
lambda x: x[0] in indexes, lambda x: x[0] in indexes,
enumerate(self._tabs[lst]) enumerate(self._sections)
) )
) )
) )
......
...@@ -14,6 +14,12 @@ class Stricklers(object): ...@@ -14,6 +14,12 @@ class Stricklers(object):
self._minor = 35 self._minor = 35
self._medium = 15 self._medium = 15
def __str__(self):
if self._name != "":
return f"{self._name} ({self._minor}, {self._medium})"
return f"({self._minor}, {self._medium})"
@property @property
def name(self): def name(self):
return self._name return self._name
......
...@@ -42,7 +42,7 @@ class ComboBoxDelegate(QItemDelegate): ...@@ -42,7 +42,7 @@ class ComboBoxDelegate(QItemDelegate):
[_translate("Sections", "Not defined")] + [_translate("Sections", "Not defined")] +
list( list(
map( map(
lambda s: s.name, lambda s: str(s),
self._data.stricklers.stricklers self._data.stricklers.stricklers
) )
) )
...@@ -116,9 +116,15 @@ class TableModel(QAbstractTableModel): ...@@ -116,9 +116,15 @@ class TableModel(QAbstractTableModel):
elif self._headers[column] == "end_kp": elif self._headers[column] == "end_kp":
return self._sections.get(row).end_kp return self._sections.get(row).end_kp
elif self._headers[column] == "begin_strickler": 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": 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() return QVariant()
...@@ -159,16 +165,16 @@ class TableModel(QAbstractTableModel): ...@@ -159,16 +165,16 @@ class TableModel(QAbstractTableModel):
self._sections, row, value self._sections, row, value
) )
) )
elif self._headers[column] == "begin_stricklers": elif self._headers[column] == "begin_strickler":
self._undo.push( self._undo.push(
SetBeginStricklerCommand( 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( self._undo.push(
SetEndStricklerCommand( SetEndStricklerCommand(
self._sections, row, value self._sections, row, self._data.strickler(value)
) )
) )
......
...@@ -65,6 +65,9 @@ class SetBeginStricklerCommand(QUndoCommand): ...@@ -65,6 +65,9 @@ class SetBeginStricklerCommand(QUndoCommand):
self._old = self._sections.get(self._index).begin_strickler self._old = self._sections.get(self._index).begin_strickler
self._new = new_value self._new = new_value
print(self._old)
print(self._new)
def undo(self): def undo(self):
self._sections.get(self._index).begin_strickler = self._old self._sections.get(self._index).begin_strickler = self._old
...@@ -80,6 +83,9 @@ class SetEndStricklerCommand(QUndoCommand): ...@@ -80,6 +83,9 @@ class SetEndStricklerCommand(QUndoCommand):
self._old = self._sections.get(self._index).end_strickler self._old = self._sections.get(self._index).end_strickler
self._new = new_value self._new = new_value
print(self._old)
print(self._new)
def undo(self): def undo(self):
self._sections.get(self._index).end_strickler = self._old self._sections.get(self._index).end_strickler = self._old
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment