From da9e28d4d67a76cc72b9574a651ff049e920213b Mon Sep 17 00:00:00 2001 From: Will McGugan Date: Thu, 23 Feb 2023 14:41:44 +0000 Subject: [PATCH] Add example --- docs/examples/events/prevent.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 docs/examples/events/prevent.py diff --git a/docs/examples/events/prevent.py b/docs/examples/events/prevent.py new file mode 100644 index 000000000..66ffb034c --- /dev/null +++ b/docs/examples/events/prevent.py @@ -0,0 +1,26 @@ +from textual.app import App, ComposeResult +from textual.containers import Horizontal +from textual.widgets import Button, Input + + +class PreventApp(App): + """Demonstrates `prevent` context manager.""" + + def compose(self) -> ComposeResult: + yield Input() + yield Button("Clear", id="clear") + + def on_button_pressed(self) -> None: + """Clear the text input.""" + input = self.query_one(Input) + with input.prevent(Input.Changed): # (1) + input.value = "" + + def on_input_changed(self) -> None: + """Called as the user types.""" + self.bell() # (2) + + +if __name__ == "__main__": + app = PreventApp() + app.run()