Finished refactoring menu showing, now also sense editing works!

This commit is contained in:
2019-11-21 00:28:49 +01:00
parent 38d1139d2d
commit f50d812efb
9 changed files with 104 additions and 42 deletions
+40
View File
@@ -0,0 +1,40 @@
from message.simple_messages import DataChgClickMessage
from model import Sense
def _get_sense_idx(sense, model):
for idx, s in enumerate(model.entry.senses):
if s == sense:
return idx
class SenseMoveUp(DataChgClickMessage):
def update_model(self, model):
sense = self.get_arg(0, Sense)
sidx = _get_sense_idx(sense, model)
assert(sidx >= 0)
if sidx == 0:
return
model.entry.senses[sidx], model.entry.senses[sidx - 1] = model.entry.senses[sidx - 1], model.entry.senses[sidx]
class SenseMoveDown(DataChgClickMessage):
def update_model(self, model):
sense = self.get_arg(0, Sense)
sidx = _get_sense_idx(sense, model)
assert(sidx >= 0)
if sidx == len(model.senses) - 1:
return
model.entry.senses[sidx], model.entry.senses[sidx + 1] = model.entry.senses[sidx + 1], model.entry.senses[sidx]
class SenseBin(DataChgClickMessage):
def update_model(self, model):
sense = self.get_arg(0, Sense)
sidx = _get_sense_idx(sense, model)
assert(sidx >= 0)
model.entry.senses.splice(sidx, 1)