mirror of
https://github.com/rr-/pq-cli.git
synced 2026-09-28 22:33:59 -06:00
ui: use custom linebox
This commit is contained in:
@@ -20,6 +20,10 @@ urwid.command_map["L"] = "cursor right"
|
||||
PALETTE: T.List[T.Tuple[str]] = [
|
||||
("button", "", ""),
|
||||
("button-focus", "black", "light red"),
|
||||
("linebox", "", ""),
|
||||
("linebox-focus", "black", "light red"),
|
||||
("linebox-content", "", ""),
|
||||
("linebox-content-focus", "", ""),
|
||||
]
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
import typing as T
|
||||
|
||||
import urwid
|
||||
|
||||
|
||||
class LineBox(urwid.AttrWrap):
|
||||
def __init__(
|
||||
self, widget: urwid.Widget, *args: T.Any, **kwargs: T.Any
|
||||
) -> None:
|
||||
super().__init__(
|
||||
urwid.LineBox(
|
||||
urwid.AttrWrap(widget, "linebox-content", "linebox-content"),
|
||||
*args,
|
||||
**kwargs,
|
||||
),
|
||||
"linebox",
|
||||
"linebox-focus",
|
||||
),
|
||||
@@ -7,6 +7,7 @@ import urwid_readline
|
||||
from pqcli.game_state import Player, StatsBuilder, generate_name, create_player
|
||||
from pqcli.config import RACES, CLASSES, PRIME_STATS
|
||||
from pqcli.ui.button import MenuButton
|
||||
from pqcli.ui.line_box import LineBox
|
||||
|
||||
|
||||
class StatsGroupBox(urwid.Pile):
|
||||
@@ -29,8 +30,8 @@ class StatsGroupBox(urwid.Pile):
|
||||
[
|
||||
urwid.Columns(
|
||||
[
|
||||
(8, urwid.ListBox(label_texts)),
|
||||
urwid.ListBox(value_texts),
|
||||
urwid.Filler(urwid.Pile(label_texts)),
|
||||
urwid.Filler(urwid.Pile(value_texts)),
|
||||
]
|
||||
),
|
||||
urwid.Filler(roll_button),
|
||||
@@ -109,13 +110,11 @@ class NewGameView(urwid.Pile):
|
||||
),
|
||||
urwid.Columns(
|
||||
[
|
||||
urwid.LineBox(
|
||||
urwid.ListBox(race_checkboxes), title="Race"
|
||||
),
|
||||
urwid.LineBox(
|
||||
LineBox(urwid.ListBox(race_checkboxes), title="Race"),
|
||||
LineBox(
|
||||
urwid.ListBox(class_checkboxes), title="Class"
|
||||
),
|
||||
urwid.LineBox(
|
||||
LineBox(
|
||||
StatsGroupBox(self.player, stats_builder),
|
||||
title="Stats",
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user