mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
actions docs
This commit is contained in:
17
docs/examples/guide/actions/actions01.py
Normal file
17
docs/examples/guide/actions/actions01.py
Normal 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()
|
||||
17
docs/examples/guide/actions/actions02.py
Normal file
17
docs/examples/guide/actions/actions02.py
Normal 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()
|
||||
23
docs/examples/guide/actions/actions03.py
Normal file
23
docs/examples/guide/actions/actions03.py
Normal 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()
|
||||
29
docs/examples/guide/actions/actions04.py
Normal file
29
docs/examples/guide/actions/actions04.py
Normal 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()
|
||||
11
docs/examples/guide/actions/actions05.css
Normal file
11
docs/examples/guide/actions/actions05.css
Normal file
@@ -0,0 +1,11 @@
|
||||
Screen {
|
||||
layout: grid;
|
||||
grid-size: 1;
|
||||
grid-gutter: 2 4;
|
||||
grid-rows: 1fr;
|
||||
}
|
||||
|
||||
ColorSwitcher {
|
||||
height: 100%;
|
||||
margin: 2 4;
|
||||
}
|
||||
36
docs/examples/guide/actions/actions05.py
Normal file
36
docs/examples/guide/actions/actions05.py
Normal 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()
|
||||
Reference in New Issue
Block a user