Files
textual/sandbox/dev_sandbox.py
Will McGugan 6bfc26c1ec more docs
2022-05-25 15:36:58 +01:00

39 lines
1.1 KiB
Python

from rich.console import RenderableType
from rich.panel import Panel
from rich.style import Style
from textual.app import App
from textual.widget import Widget
class PanelWidget(Widget):
def render(self) -> RenderableType:
return Panel("hello world!", title="Title")
class BasicApp(App):
"""Sandbox application used for testing/development by Textual developers"""
def on_load(self):
"""Bind keys here."""
self.bind("tab", "toggle_class('#sidebar', '-active')")
self.bind("a", "toggle_class('#header', '-visible')")
self.bind("c", "toggle_class('#content', '-content-visible')")
self.bind("d", "toggle_class('#footer', 'dim')")
self.bind("x", "dump")
def on_mount(self):
"""Build layout here."""
self.mount(
header=Widget(),
content=PanelWidget(),
footer=Widget(),
sidebar=Widget(),
)
def action_dump(self):
self.panic(self.tree)
BasicApp.run(css_path="dev_sandbox.scss", watch_css=True, log_path="textual.log")