mirror of
https://github.com/rr-/pq-cli.git
synced 2026-09-29 06:44:00 -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]] = [
|
PALETTE: T.List[T.Tuple[str]] = [
|
||||||
("button", "", ""),
|
("button", "", ""),
|
||||||
("button-focus", "black", "light red"),
|
("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.game_state import Player, StatsBuilder, generate_name, create_player
|
||||||
from pqcli.config import RACES, CLASSES, PRIME_STATS
|
from pqcli.config import RACES, CLASSES, PRIME_STATS
|
||||||
from pqcli.ui.button import MenuButton
|
from pqcli.ui.button import MenuButton
|
||||||
|
from pqcli.ui.line_box import LineBox
|
||||||
|
|
||||||
|
|
||||||
class StatsGroupBox(urwid.Pile):
|
class StatsGroupBox(urwid.Pile):
|
||||||
@@ -29,8 +30,8 @@ class StatsGroupBox(urwid.Pile):
|
|||||||
[
|
[
|
||||||
urwid.Columns(
|
urwid.Columns(
|
||||||
[
|
[
|
||||||
(8, urwid.ListBox(label_texts)),
|
urwid.Filler(urwid.Pile(label_texts)),
|
||||||
urwid.ListBox(value_texts),
|
urwid.Filler(urwid.Pile(value_texts)),
|
||||||
]
|
]
|
||||||
),
|
),
|
||||||
urwid.Filler(roll_button),
|
urwid.Filler(roll_button),
|
||||||
@@ -109,13 +110,11 @@ class NewGameView(urwid.Pile):
|
|||||||
),
|
),
|
||||||
urwid.Columns(
|
urwid.Columns(
|
||||||
[
|
[
|
||||||
urwid.LineBox(
|
LineBox(urwid.ListBox(race_checkboxes), title="Race"),
|
||||||
urwid.ListBox(race_checkboxes), title="Race"
|
LineBox(
|
||||||
),
|
|
||||||
urwid.LineBox(
|
|
||||||
urwid.ListBox(class_checkboxes), title="Class"
|
urwid.ListBox(class_checkboxes), title="Class"
|
||||||
),
|
),
|
||||||
urwid.LineBox(
|
LineBox(
|
||||||
StatsGroupBox(self.player, stats_builder),
|
StatsGroupBox(self.player, stats_builder),
|
||||||
title="Stats",
|
title="Stats",
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user