ui: refactor signals

This commit is contained in:
rr-
2018-11-05 21:04:39 +01:00
parent 35083e42e9
commit 30b8643b12
4 changed files with 40 additions and 41 deletions
+7 -14
View File
@@ -7,17 +7,10 @@ from pqcli.ui.button import MenuButton
class RosterView(urwid.Filler):
def __init__(
self,
roster: Roster,
on_new_game: T.Callable,
on_resume_game: T.Callable,
on_exit: T.Callable,
) -> None:
signals = ["load_game", "new_game", "exit"]
def __init__(self, roster: Roster) -> None:
self.roster = roster
self.on_new_game = on_new_game
self.on_resume_game = on_resume_game
self.on_exit = on_exit
logo = urwid.BigText("ProgressQuest", urwid.HalfBlock5x4Font())
@@ -52,17 +45,17 @@ class RosterView(urwid.Filler):
def on_resume_game_press(self, user_data: T.Any) -> None:
player_name = T.cast(str, user_data)
self.on_resume_game(player_name)
self._emit("load_game", player_data)
def on_new_game_press(self, _user_data: T.Any) -> None:
self.on_new_game()
self._emit("new_game")
def on_exit_press(self, _user_data: T.Any) -> None:
self.on_exit()
self._emit("exit")
def unhandled_input(self, key: str) -> bool:
if key == "esc":
self.on_exit()
self._emit("exit")
return True
return False