MCPcopy
hub / github.com/Textualize/textual / DataTableApp

Class DataTableApp

tests/test_data_table.py:31–64  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29
30
31class DataTableApp(App):
32 AUTO_FOCUS = None
33 messages_to_record = {
34 "CellHighlighted",
35 "CellSelected",
36 "RowHighlighted",
37 "RowSelected",
38 "ColumnHighlighted",
39 "ColumnSelected",
40 "HeaderSelected",
41 "RowLabelSelected",
42 }
43
44 def __init__(self):
45 super().__init__()
46 self.messages = []
47
48 def compose(self):
49 table = DataTable()
50 table.focus()
51 yield table
52
53 def record_data_table_event(self, message: Message) -> None:
54 name = message.__class__.__name__
55 if name in self.messages_to_record:
56 self.messages.append(message)
57
58 @property
59 def message_names(self) -> list[str]:
60 return [message.__class__.__name__ for message in self.messages]
61
62 async def _on_message(self, message: Message) -> None:
63 await super()._on_message(message)
64 self.record_data_table_event(message)
65
66
67async def test_datatable_message_emission():

Calls

no outgoing calls

Used in the wild real call sites across dependent graphs

searching dependent graphs…