diff --git a/pqcli/ui/urwid/__init__.py b/pqcli/ui/urwid/__init__.py index 60dd550..0bf8df4 100644 --- a/pqcli/ui/urwid/__init__.py +++ b/pqcli/ui/urwid/__init__.py @@ -9,10 +9,7 @@ import xdg from pqcli import lingo, random from pqcli.mechanic import Player from pqcli.roster import Roster -from pqcli.ui.urwid.confirm_dialog import ConfirmDialog -from pqcli.ui.urwid.game_view import GameView -from pqcli.ui.urwid.new_game_view import NewGameView -from pqcli.ui.urwid.roster_view import RosterView +from pqcli.ui.urwid.views import ConfirmView, GameView, NewGameView, RosterView from ..base import BaseUserInterface @@ -50,7 +47,7 @@ def save_palette() -> None: PALETTE_PATH.write_text(json.dumps(PALETTE, indent=4)) -class ConfirmExitDialog(ConfirmDialog): +class ConfirmExitDialog(ConfirmView): def __init__(self, old_view: urwid.Widget) -> None: super().__init__("Really quit?", old_view) @@ -136,7 +133,7 @@ class UrwidUserInterface(BaseUserInterface): player_name = self.roster.players[player_idx].name self.old_views.append(self.loop.widget) - self.loop.widget = ConfirmDialog( + self.loop.widget = ConfirmView( lingo.terminate_message(player_name), self.old_views[-1] ) self._connect("confirm", lambda: self.delete_player(player_idx)) diff --git a/pqcli/ui/urwid/views/__init__.py b/pqcli/ui/urwid/views/__init__.py new file mode 100644 index 0000000..aeeb41f --- /dev/null +++ b/pqcli/ui/urwid/views/__init__.py @@ -0,0 +1,4 @@ +from .confirm_view import ConfirmView +from .game_view import GameView +from .new_game_view import NewGameView +from .roster_view import RosterView diff --git a/pqcli/ui/urwid/confirm_dialog.py b/pqcli/ui/urwid/views/confirm_view.py similarity index 86% rename from pqcli/ui/urwid/confirm_dialog.py rename to pqcli/ui/urwid/views/confirm_view.py index d68cf8e..67173d4 100644 --- a/pqcli/ui/urwid/confirm_dialog.py +++ b/pqcli/ui/urwid/views/confirm_view.py @@ -2,12 +2,10 @@ import typing as T import urwid -from pqcli.ui.urwid.custom_button import CustomButton -from pqcli.ui.urwid.custom_line_box import CustomLineBox -from pqcli.ui.urwid.layout import NPile +from pqcli.ui.urwid.widgets import CustomButton, CustomLineBox, NPile -class ConfirmDialog(urwid.Overlay): +class ConfirmView(urwid.Overlay): signals = ["confirm", "cancel"] def __init__(self, label: str, parent: urwid.Widget) -> None: diff --git a/pqcli/ui/urwid/game_view.py b/pqcli/ui/urwid/views/game_view.py similarity index 97% rename from pqcli/ui/urwid/game_view.py rename to pqcli/ui/urwid/views/game_view.py index 550807d..1815e2c 100644 --- a/pqcli/ui/urwid/game_view.py +++ b/pqcli/ui/urwid/views/game_view.py @@ -15,13 +15,17 @@ from pqcli.mechanic import ( Spell, ) from pqcli.roster import Roster -from pqcli.ui.urwid.custom_line_box import CustomLineBox -from pqcli.ui.urwid.custom_progress_bar import CustomProgressBar -from pqcli.ui.urwid.data_table import DataTable -from pqcli.ui.urwid.double_line_box import DoubleLineBox -from pqcli.ui.urwid.layout import NColumns, NPile -from pqcli.ui.urwid.read_only_check_box import ReadOnlyCheckBox -from pqcli.ui.urwid.scrollable import Scrollable, ScrollBar +from pqcli.ui.urwid.widgets import ( + CustomLineBox, + CustomProgressBar, + DataTable, + DoubleLineBox, + NColumns, + NPile, + ReadOnlyCheckBox, + Scrollable, + ScrollBar, +) class CharacterSheetView(DoubleLineBox): diff --git a/pqcli/ui/urwid/new_game_view.py b/pqcli/ui/urwid/views/new_game_view.py similarity index 97% rename from pqcli/ui/urwid/new_game_view.py rename to pqcli/ui/urwid/views/new_game_view.py index 2939a06..0073b81 100644 --- a/pqcli/ui/urwid/new_game_view.py +++ b/pqcli/ui/urwid/views/new_game_view.py @@ -6,9 +6,7 @@ import urwid_readline from pqcli.config import CLASSES, PRIME_STATS, RACES from pqcli.mechanic import StatsBuilder, create_player, generate_name -from pqcli.ui.urwid.custom_button import CustomButton -from pqcli.ui.urwid.custom_line_box import CustomLineBox -from pqcli.ui.urwid.layout import NColumns, NPile +from pqcli.ui.urwid.widgets import CustomButton, CustomLineBox, NColumns, NPile class StatsBox(CustomLineBox): diff --git a/pqcli/ui/urwid/roster_view.py b/pqcli/ui/urwid/views/roster_view.py similarity index 96% rename from pqcli/ui/urwid/roster_view.py rename to pqcli/ui/urwid/views/roster_view.py index eb112db..cb35eb5 100644 --- a/pqcli/ui/urwid/roster_view.py +++ b/pqcli/ui/urwid/views/roster_view.py @@ -4,8 +4,7 @@ import urwid from pqcli.lingo import act_name, to_roman from pqcli.roster import Roster -from pqcli.ui.urwid.custom_button import CustomButton -from pqcli.ui.urwid.layout import NColumns, NPile +from pqcli.ui.urwid.widgets import CustomButton, NColumns, NPile class RosterView(urwid.Filler): diff --git a/pqcli/ui/urwid/widgets/__init__.py b/pqcli/ui/urwid/widgets/__init__.py new file mode 100644 index 0000000..cdcc877 --- /dev/null +++ b/pqcli/ui/urwid/widgets/__init__.py @@ -0,0 +1,8 @@ +from .custom_button import CustomButton +from .custom_line_box import CustomLineBox +from .custom_progress_bar import CustomProgressBar +from .data_table import DataTable +from .double_line_box import DoubleLineBox +from .layout import NColumns, NPile +from .read_only_check_box import ReadOnlyCheckBox +from .scrollable import ScrollBar, Scrollable diff --git a/pqcli/ui/urwid/custom_button.py b/pqcli/ui/urwid/widgets/custom_button.py similarity index 100% rename from pqcli/ui/urwid/custom_button.py rename to pqcli/ui/urwid/widgets/custom_button.py diff --git a/pqcli/ui/urwid/custom_line_box.py b/pqcli/ui/urwid/widgets/custom_line_box.py similarity index 100% rename from pqcli/ui/urwid/custom_line_box.py rename to pqcli/ui/urwid/widgets/custom_line_box.py diff --git a/pqcli/ui/urwid/custom_progress_bar.py b/pqcli/ui/urwid/widgets/custom_progress_bar.py similarity index 100% rename from pqcli/ui/urwid/custom_progress_bar.py rename to pqcli/ui/urwid/widgets/custom_progress_bar.py diff --git a/pqcli/ui/urwid/data_table.py b/pqcli/ui/urwid/widgets/data_table.py similarity index 96% rename from pqcli/ui/urwid/data_table.py rename to pqcli/ui/urwid/widgets/data_table.py index 7d74f51..a839f81 100644 --- a/pqcli/ui/urwid/data_table.py +++ b/pqcli/ui/urwid/widgets/data_table.py @@ -2,7 +2,7 @@ import typing as T import urwid -from pqcli.ui.urwid.layout import NColumns, NPile +from pqcli.ui.urwid.widgets.layout import NColumns, NPile class DataTable(NPile): diff --git a/pqcli/ui/urwid/double_line_box.py b/pqcli/ui/urwid/widgets/double_line_box.py similarity index 94% rename from pqcli/ui/urwid/double_line_box.py rename to pqcli/ui/urwid/widgets/double_line_box.py index a25c8fb..4296588 100644 --- a/pqcli/ui/urwid/double_line_box.py +++ b/pqcli/ui/urwid/widgets/double_line_box.py @@ -1,6 +1,6 @@ import urwid -from pqcli.ui.urwid.layout import NPile +from pqcli.ui.urwid.widgets.layout import NPile class DoubleLineBox(urwid.AttrMap): diff --git a/pqcli/ui/urwid/layout.py b/pqcli/ui/urwid/widgets/layout.py similarity index 100% rename from pqcli/ui/urwid/layout.py rename to pqcli/ui/urwid/widgets/layout.py diff --git a/pqcli/ui/urwid/read_only_check_box.py b/pqcli/ui/urwid/widgets/read_only_check_box.py similarity index 100% rename from pqcli/ui/urwid/read_only_check_box.py rename to pqcli/ui/urwid/widgets/read_only_check_box.py diff --git a/pqcli/ui/urwid/scrollable.py b/pqcli/ui/urwid/widgets/scrollable.py similarity index 100% rename from pqcli/ui/urwid/scrollable.py rename to pqcli/ui/urwid/widgets/scrollable.py