Finished refactoring menu showing, now also sense editing works!
This commit is contained in:
@@ -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)
|
||||
Reference in New Issue
Block a user