Module userland.scripts.messages.editor_screen
Message compose/reply screen
Classes
class EditorScreen (*args, content='', reply_to: Message | None = None, **kwargs)
-
Message compose/reply screen
Initialize the screen.
Args
name
- The name of the screen.
id
- The ID of the screen in the DOM.
classes
- The CSS classes for the screen.
Expand source code
class EditorScreen(ModalScreen): """Message compose/reply screen""" _content: str reply_to: Message | None def __init__( self, *args, content="", reply_to: Message | None = None, **kwargs ): self._content = content self.reply_to = reply_to super().__init__(*args, **kwargs) def compose(self): yield TextArea(text=self._content, show_line_numbers=True) async def key_escape(self, key: events.Key) -> None: if isinstance(self.app.screen_stack[-1], SaveModal): return await self.app.push_screen(SaveModal(reply_to=self.reply_to))
Ancestors
- textual.screen.ModalScreen
- textual.screen.Screen
- typing.Generic
- textual.widget.Widget
- textual.dom.DOMNode
- textual.message_pump.MessagePump
Class variables
var can_focus
var can_focus_children
var reply_to : Message | None
Methods
def compose(self)
-
Called by Textual to create child widgets.
This method is called when a widget is mounted or by setting
recompose=True
when calling [refresh()
][textual.widget.Widget.refresh].Note that you don't typically need to explicitly call this method.
Example
def compose(self) -> ComposeResult: yield Header() yield Label("Press the button below:") yield Button() yield Footer()
async def key_escape(self, key: textual.events.Key) ‑> None