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
+7 -11
View File
@@ -1,4 +1,5 @@
from message.message import Message, ClickMessage
from message.message import Message
from message.simple_messages import DataChgClickMessage
import message.common_accessors as common_accessors
from browser import document, window
from model.translation import Translation
@@ -13,12 +14,7 @@ def get_translation_location(entry, translation):
return (si, ci, ti), (sense, cluster)
class TranslationEditMessage(ClickMessage):
def data_change(self):
return True
class EditTranslation(TranslationEditMessage):
class EditTranslation(DataChgClickMessage):
def update_model(self, model):
self.translation = self.get_arg(0, Translation)
self.old_cluster_idx = self.get_arg(1, int)
@@ -65,7 +61,7 @@ class EditTranslation(TranslationEditMessage):
sense.translations.splice(cidx, 1)
class MoveRight(TranslationEditMessage):
class MoveRight(DataChgClickMessage):
def update_model(self, model):
translation = self.get_arg(0, Translation)
(_, _, idx), (_, cluster) = get_translation_location(model.entry, translation)
@@ -74,7 +70,7 @@ class MoveRight(TranslationEditMessage):
model.translation = None
class MoveLeft(TranslationEditMessage):
class MoveLeft(DataChgClickMessage):
def update_model(self, model):
translation = self.get_arg(0, Translation)
(_, _, idx), (_, cluster) = get_translation_location(model.entry, translation)
@@ -83,7 +79,7 @@ class MoveLeft(TranslationEditMessage):
model.translation = None
class BinTranslation(TranslationEditMessage):
class BinTranslation(DataChgClickMessage):
def update_model(self, model):
translation = self.get_arg(0, Translation)
(_, cidx, tidx), (sense, cluster) = get_translation_location(model.entry, translation)
@@ -95,7 +91,7 @@ class BinTranslation(TranslationEditMessage):
model.translation = None
class AddTranslation(TranslationEditMessage):
class AddTranslation(DataChgClickMessage):
def handle_cluster_change(self, new_cluster_idx, _):
# we need to cheat here
# sense was actually given in constructor in third place