Merge branch 'main' into package-docs

This commit is contained in:
Dave Pearson
2023-02-08 11:40:15 +00:00
14 changed files with 59 additions and 79 deletions

View File

@@ -288,7 +288,7 @@ So, thanks to this bit of code in my `Activity` widget...
parent.move_child(
self, before=parent.children.index( self ) - 1
)
self.emit_no_wait( self.Moved( self ) )
self.post_message_no_wait( self.Moved( self ) )
self.scroll_visible( top=True )
```

View File

@@ -25,8 +25,8 @@ class ColorButton(Static):
self.styles.border = ("tall", self.color)
async def on_click(self) -> None:
# The emit method sends an event to a widget's parent
await self.emit(self.Selected(self, self.color))
# The post_message method sends an event to be handled in the DOM
await self.post_message(self.Selected(self, self.color))
def render(self) -> str:
return str(self.color)

View File

@@ -110,7 +110,7 @@ The message class is defined within the widget class itself. This is not strictl
## Sending events
In the previous example we used [emit()][textual.message_pump.MessagePump.emit] to send an event to its parent. We could also have used [emit_no_wait()][textual.message_pump.MessagePump.emit_no_wait] for non async code. Sending messages in this way allows you to write custom widgets without needing to know in what context they will be used.
In the previous example we used [post_message()][textual.message_pump.MessagePump.post_message] to send an event to its parent. We could also have used [post_message_no_wait()][textual.message_pump.MessagePump.post_message_no_wait] for non async code. Sending messages in this way allows you to write custom widgets without needing to know in what context they will be used.
There are other ways of sending (posting) messages, which you may need to use less frequently.