mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
Merge pull request #1738 from Textualize/emit-start-with-self
Change emit to post to self.
This commit is contained in:
@@ -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 )
|
||||
```
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user