ui/curses: cycle widgets on tab

This commit is contained in:
rr-
2019-01-13 21:41:24 +01:00
parent 4dc674816b
commit d2c06b08bb
5 changed files with 32 additions and 10 deletions
@@ -4,7 +4,7 @@ import typing as T
from pqcli.mechanic import generate_name
from pqcli.ui.curses.event_handler import EventHandler
from pqcli.ui.curses.util import KEYS_CANCEL, KEYS_DOWN, KEYS_UP
from pqcli.ui.curses.util import KEYS_CANCEL, KEYS_CYCLE, KEYS_DOWN, KEYS_UP
from pqcli.ui.curses.views.base_view import BaseView
from pqcli.ui.curses.widgets.focusable import focus_standout
@@ -51,6 +51,9 @@ class ChooseCharacterNameView(BaseView):
elif key == curses.KEY_F10:
self._finish()
elif key in KEYS_CYCLE:
self._active_widget = (self._active_widget + 1) % 4
elif self._active_widget == 0:
if key == curses.ascii.ESC:
self.on_cancel()
@@ -4,7 +4,7 @@ import typing as T
from pqcli.config import PRIME_STATS
from pqcli.mechanic import StatsBuilder
from pqcli.ui.curses.event_handler import EventHandler
from pqcli.ui.curses.util import KEYS_CANCEL, KEYS_DOWN, KEYS_UP
from pqcli.ui.curses.util import KEYS_CANCEL, KEYS_CYCLE, KEYS_DOWN, KEYS_UP
from pqcli.ui.curses.views.base_view import BaseView
from pqcli.ui.curses.widgets.focusable import focus_standout
@@ -70,6 +70,9 @@ class ChooseCharacterStatsView(BaseView):
elif key == curses.KEY_F10:
self.on_confirm(self._stats)
elif key in KEYS_CYCLE:
self._active_widget = (self._active_widget + 1) % 4
elif key in KEYS_DOWN and self._active_widget < 3:
self._active_widget += 1