mirror of
https://github.com/rr-/pq-cli.git
synced 2026-09-29 14:54:00 -06:00
ui: refactor signals
This commit is contained in:
+7
-14
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user