mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
Add docs for Pretty, fix some reference issues in docs (#2678)
This commit is contained in:
24
docs/examples/widgets/pretty.py
Normal file
24
docs/examples/widgets/pretty.py
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
from textual.app import App, ComposeResult
|
||||||
|
from textual.widgets import Pretty
|
||||||
|
|
||||||
|
DATA = {
|
||||||
|
"title": "Back to the Future",
|
||||||
|
"releaseYear": 1985,
|
||||||
|
"director": "Robert Zemeckis",
|
||||||
|
"genre": "Adventure, Comedy, Sci-Fi",
|
||||||
|
"cast": [
|
||||||
|
{"actor": "Michael J. Fox", "character": "Marty McFly"},
|
||||||
|
{"actor": "Christopher Lloyd", "character": "Dr. Emmett Brown"},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class PrettyExample(App):
|
||||||
|
def compose(self) -> ComposeResult:
|
||||||
|
yield Pretty(DATA)
|
||||||
|
|
||||||
|
|
||||||
|
app = PrettyExample()
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
app.run()
|
||||||
@@ -158,6 +158,16 @@ Display placeholder content while you are designing a UI.
|
|||||||
```{.textual path="docs/examples/widgets/placeholder.py"}
|
```{.textual path="docs/examples/widgets/placeholder.py"}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Pretty
|
||||||
|
|
||||||
|
Display a pretty-formatted Rich renderable.
|
||||||
|
|
||||||
|
[Pretty reference](./widgets/pretty.md){ .md-button .md-button--primary }
|
||||||
|
|
||||||
|
|
||||||
|
```{.textual path="docs/examples/widgets/pretty.py"}
|
||||||
|
```
|
||||||
|
|
||||||
## ProgressBar
|
## ProgressBar
|
||||||
|
|
||||||
A configurable progress bar with ETA and percentage complete.
|
A configurable progress bar with ETA and percentage complete.
|
||||||
|
|||||||
44
docs/widgets/pretty.md
Normal file
44
docs/widgets/pretty.md
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
# Pretty
|
||||||
|
|
||||||
|
Display a pretty-formatted object.
|
||||||
|
|
||||||
|
- [ ] Focusable
|
||||||
|
- [ ] Container
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
The example below shows a pretty-formatted `dict`, but `Pretty` can display any Python object.
|
||||||
|
|
||||||
|
=== "Output"
|
||||||
|
|
||||||
|
```{.textual path="docs/examples/widgets/pretty.py"}
|
||||||
|
```
|
||||||
|
|
||||||
|
=== "pretty.py"
|
||||||
|
|
||||||
|
```python
|
||||||
|
--8<-- "docs/examples/widgets/pretty.py"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Reactive Attributes
|
||||||
|
|
||||||
|
This widget has no reactive attributes.
|
||||||
|
|
||||||
|
## Messages
|
||||||
|
|
||||||
|
This widget posts no messages.
|
||||||
|
|
||||||
|
## Bindings
|
||||||
|
|
||||||
|
This widget has no bindings.
|
||||||
|
|
||||||
|
## Component Classes
|
||||||
|
|
||||||
|
This widget has no component classes.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
::: textual.widgets.Pretty
|
||||||
|
options:
|
||||||
|
heading_level: 2
|
||||||
@@ -32,6 +32,7 @@ This widget sends no messages.
|
|||||||
## See Also
|
## See Also
|
||||||
|
|
||||||
* [Label](./label.md)
|
* [Label](./label.md)
|
||||||
|
* [Pretty](./pretty.md)
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -146,6 +146,7 @@ nav:
|
|||||||
- "widgets/markdown.md"
|
- "widgets/markdown.md"
|
||||||
- "widgets/option_list.md"
|
- "widgets/option_list.md"
|
||||||
- "widgets/placeholder.md"
|
- "widgets/placeholder.md"
|
||||||
|
- "widgets/pretty.md"
|
||||||
- "widgets/progress_bar.md"
|
- "widgets/progress_bar.md"
|
||||||
- "widgets/radiobutton.md"
|
- "widgets/radiobutton.md"
|
||||||
- "widgets/radioset.md"
|
- "widgets/radioset.md"
|
||||||
|
|||||||
@@ -193,8 +193,6 @@ class Validator(ABC):
|
|||||||
then the `describe_failure` method on `Validator` will be called.
|
then the `describe_failure` method on `Validator` will be called.
|
||||||
value: The value that was considered invalid. This is optional, and only needs to be supplied if required
|
value: The value that was considered invalid. This is optional, and only needs to be supplied if required
|
||||||
in your `Input.Changed` handler.
|
in your `Input.Changed` handler.
|
||||||
validator: The validator that performed the validation. This is optional, and only needs to be supplied if
|
|
||||||
required in your `Input.Changed` handler.
|
|
||||||
failures: The reasons the validator failed. If not supplied, a generic `Failure` will be included in the
|
failures: The reasons the validator failed. If not supplied, a generic `Failure` will be included in the
|
||||||
ValidationResult returned from this function.
|
ValidationResult returned from this function.
|
||||||
|
|
||||||
|
|||||||
@@ -570,7 +570,7 @@ class SelectionList(Generic[SelectionType], OptionList):
|
|||||||
"""Get the selection option with the given ID.
|
"""Get the selection option with the given ID.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
index: The ID of the selection option to get.
|
option_id: The ID of the selection option to get.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
The selection option with the ID.
|
The selection option with the ID.
|
||||||
|
|||||||
@@ -354,7 +354,7 @@ class Tabs(Widget, can_focus=True):
|
|||||||
"""Remove a tab.
|
"""Remove a tab.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
tab_id: The Tab's id.
|
tab_or_id: The Tab's id.
|
||||||
"""
|
"""
|
||||||
if tab_or_id is None:
|
if tab_or_id is None:
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ class TreeNode(Generic[TreeDataType]):
|
|||||||
id: The ID of the node.
|
id: The ID of the node.
|
||||||
label: The label for the node.
|
label: The label for the node.
|
||||||
data: Optional data to associate with the node.
|
data: Optional data to associate with the node.
|
||||||
expand: Should the node be attached in an expanded state?
|
expanded: Should the node be attached in an expanded state?
|
||||||
allow_expand: Should the node allow being expanded by the user?
|
allow_expand: Should the node allow being expanded by the user?
|
||||||
"""
|
"""
|
||||||
self._tree = tree
|
self._tree = tree
|
||||||
|
|||||||
Reference in New Issue
Block a user