From 307b1789a100e638f27e95351b94ce20b183da39 Mon Sep 17 00:00:00 2001 From: Dave Pearson Date: Thu, 23 Feb 2023 16:00:14 +0000 Subject: [PATCH] Give radio button its own example code now Still within a RadioSet, but this time only the code that uses RadioSet; not the code that just uses strings. --- docs/examples/widgets/radio_button.css | 7 +++++++ docs/examples/widgets/radio_button.py | 26 ++++++++++++++++++++++++++ docs/widgets/radiobutton.md | 15 +++++++++------ 3 files changed, 42 insertions(+), 6 deletions(-) create mode 100644 docs/examples/widgets/radio_button.css create mode 100644 docs/examples/widgets/radio_button.py diff --git a/docs/examples/widgets/radio_button.css b/docs/examples/widgets/radio_button.css new file mode 100644 index 000000000..2e8de0522 --- /dev/null +++ b/docs/examples/widgets/radio_button.css @@ -0,0 +1,7 @@ +Screen { + align: center middle; +} + +RadioSet { + width: 50%; +} diff --git a/docs/examples/widgets/radio_button.py b/docs/examples/widgets/radio_button.py new file mode 100644 index 000000000..00eb70942 --- /dev/null +++ b/docs/examples/widgets/radio_button.py @@ -0,0 +1,26 @@ +from textual.app import App, ComposeResult +from textual.widgets import RadioButton, RadioSet + + +class RadioChoicesApp(App[None]): + CSS_PATH = "radio_button.css" + + def compose(self) -> ComposeResult: + yield RadioSet( + RadioButton("Battlestar Galactica"), + RadioButton("Dune 1984"), + RadioButton("Dune 2021", id="focus_me"), + RadioButton("Serenity", value=True), + RadioButton("Star Trek: The Motion Picture"), + RadioButton("Star Wars: A New Hope"), + RadioButton("The Last Starfighter"), + RadioButton("Total Recall :backhand_index_pointing_right: :red_circle:"), + RadioButton("Wing Commander"), + ) + + def on_mount(self) -> None: + self.query_one("#focus_me", RadioButton).focus() + + +if __name__ == "__main__": + RadioChoicesApp().run() diff --git a/docs/widgets/radiobutton.md b/docs/widgets/radiobutton.md index f03be2264..95f510365 100644 --- a/docs/widgets/radiobutton.md +++ b/docs/widgets/radiobutton.md @@ -5,25 +5,27 @@ A simple radio button which stores a boolean value. - [x] Focusable - [ ] Container +A radio button is best used with others inside a [`RadioSet`](./radioset.md). + ## Example -The example below shows radio buttons, used within [RadioSet][textual.widgets.RadioSet]s. +The example below shows radio buttons, used within a [`RadioSet`](./radioset.md). === "Output" - ```{.textual path="docs/examples/widgets/radio_set.py"} + ```{.textual path="docs/examples/widgets/radio_button.py"} ``` -=== "radio_set.py" +=== "radio_button.py" ```python - --8<-- "docs/examples/widgets/radio_set.py" + --8<-- "docs/examples/widgets/radio_button.py" ``` -=== "radio_set.css" +=== "radio_button.css" ```sass - --8<-- "docs/examples/widgets/radio_set.css" + --8<-- "docs/examples/widgets/radio_button.css" ``` ## Reactive Attributes @@ -57,3 +59,4 @@ The radio button widget provides the following component classes: ## See Also - [RadioButton](../api/radiobutton.md) code reference +- [RadioSet](./radioset.md)