actions docs

This commit is contained in:
Will McGugan
2022-09-29 16:33:19 +01:00
parent effd6211d3
commit 5f97bbd33f
9 changed files with 275 additions and 7 deletions

View File

@@ -0,0 +1,17 @@
from textual.app import App
from textual import events
class ActionsApp(App):
def action_set_background(self, color: str) -> None:
self.screen.styles.background = color
self.bell()
def on_key(self, event: events.Key) -> None:
if event.key == "r":
self.action_set_background("red")
if __name__ == "__main__":
app = ActionsApp()
app.run()

View File

@@ -0,0 +1,17 @@
from textual.app import App
from textual import events
class ActionsApp(App):
def action_set_background(self, color: str) -> None:
self.screen.styles.background = color
self.bell()
async def on_key(self, event: events.Key) -> None:
if event.key == "r":
await self.action("set_background('red')")
if __name__ == "__main__":
app = ActionsApp()
app.run()

View File

@@ -0,0 +1,23 @@
from textual.app import App, ComposeResult
from textual.widgets import Static
TEXT = """
[b]Set your background[/b]
[@click=set_background('red')]Red[/]
[@click=set_background('green')]Green[/]
[@click=set_background('blue')]Blue[/]
"""
class ActionsApp(App):
def compose(self) -> ComposeResult:
yield Static(TEXT)
def action_set_background(self, color: str) -> None:
self.screen.styles.background = color
self.bell()
if __name__ == "__main__":
app = ActionsApp()
app.run()

View File

@@ -0,0 +1,29 @@
from textual.app import App, ComposeResult
from textual.widgets import Static
TEXT = """
[b]Set your background[/b]
[@click=set_background('red')]Red[/]
[@click=set_background('green')]Green[/]
[@click=set_background('blue')]Blue[/]
"""
class ActionsApp(App):
BINDINGS = [
("r", "set_background('red')", "Red"),
("g", "set_background('green')", "Green"),
("b", "set_background('blue')", "Blue"),
]
def compose(self) -> ComposeResult:
yield Static(TEXT)
def action_set_background(self, color: str) -> None:
self.screen.styles.background = color
self.bell()
if __name__ == "__main__":
app = ActionsApp()
app.run()

View File

@@ -0,0 +1,11 @@
Screen {
layout: grid;
grid-size: 1;
grid-gutter: 2 4;
grid-rows: 1fr;
}
ColorSwitcher {
height: 100%;
margin: 2 4;
}

View File

@@ -0,0 +1,36 @@
from textual.app import App, ComposeResult
from textual.widgets import Static
TEXT = """
[b]Set your background[/b]
[@click=set_background('cyan')]Cyan[/]
[@click=set_background('magenta')]Magenta[/]
[@click=set_background('yellow')]Yellow[/]
"""
class ColorSwitcher(Static):
def action_set_background(self, color: str) -> None:
self.styles.background = color
class ActionsApp(App):
CSS_PATH = "actions05.css"
BINDINGS = [
("r", "set_background('red')", "Red"),
("g", "set_background('green')", "Green"),
("b", "set_background('blue')", "Blue"),
]
def compose(self) -> ComposeResult:
yield ColorSwitcher(TEXT)
yield ColorSwitcher(TEXT)
def action_set_background(self, color: str) -> None:
self.screen.styles.background = color
self.bell()
if __name__ == "__main__":
app = ActionsApp()
app.run()