Skip to content

Commit 338d74c

Browse files
authored
Merge pull request #1339 from davep/event-props
Add some missing widget event attributes
2 parents df041d0 + 24d479f commit 338d74c

File tree

5 files changed

+56
-15
lines changed

5 files changed

+56
-15
lines changed

src/textual/widgets/_button.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,12 @@ class Button(Static, can_focus=True):
151151
"""When buttons are clicked they get the `-active` class for this duration (in seconds)"""
152152

153153
class Pressed(Message, bubble=True):
154+
"""Event sent when a `Button` is pressed.
155+
156+
Attributes:
157+
button (Button): The button that was pressed.
158+
"""
159+
154160
@property
155161
def button(self) -> Button:
156162
return cast(Button, self.sender)

src/textual/widgets/_checkbox.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,12 @@ def toggle(self) -> None:
123123
self.value = not self.value
124124

125125
class Changed(Message, bubble=True):
126-
"""Checkbox was toggled."""
126+
"""Checkbox was toggled.
127+
128+
Attributes:
129+
value (bool): The value that the checkbox was changed to.
130+
input (Checkbox): The `Checkbox` widget that was changed.
131+
"""
127132

128133
def __init__(self, sender: Checkbox, value: bool) -> None:
129134
super().__init__(sender)

src/textual/widgets/_input.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -314,15 +314,25 @@ async def action_submit(self) -> None:
314314
await self.emit(self.Submitted(self, self.value))
315315

316316
class Changed(Message, bubble=True):
317-
"""Value was changed."""
317+
"""Value was changed.
318+
319+
Attributes:
320+
value (str): The value that the input was changed to.
321+
input (Input): The `Input` widget that was changed.
322+
"""
318323

319324
def __init__(self, sender: Input, value: str) -> None:
320325
super().__init__(sender)
321326
self.value = value
322327
self.input = sender
323328

324329
class Submitted(Message, bubble=True):
325-
"""Value was updated via enter key or blur."""
330+
"""Sent when the enter key is pressed within an `Input`.
331+
332+
Attributes:
333+
value (str): The value of the `Input` being submitted..
334+
input (Input): The `Input` widget that is being submitted.
335+
"""
326336

327337
def __init__(self, sender: Input, value: str) -> None:
328338
super().__init__(sender)

src/textual/widgets/_list_view.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,14 +143,22 @@ def __len__(self):
143143
return len(self.children)
144144

145145
class Highlighted(Message, bubble=True):
146-
"""Emitted when the highlighted item changes. Highlighted item is controlled using up/down keys"""
146+
"""Emitted when the highlighted item changes. Highlighted item is controlled using up/down keys.
147+
148+
Attributes:
149+
item (ListItem | None): The highlighted item, if there is one highlighted.
150+
"""
147151

148152
def __init__(self, sender: ListView, item: ListItem | None) -> None:
149153
super().__init__(sender)
150154
self.item = item
151155

152156
class Selected(Message, bubble=True):
153-
"""Emitted when a list item is selected, e.g. when you press the enter key on it"""
157+
"""Emitted when a list item is selected, e.g. when you press the enter key on it
158+
159+
Attributes:
160+
item (ListItem): The selected item.
161+
"""
154162

155163
def __init__(self, sender: ListView, item: ListItem) -> None:
156164
super().__init__(sender)

src/textual/widgets/_tree.py

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -232,33 +232,33 @@ class Tree(Generic[TreeDataType], ScrollView, can_focus=True):
232232
color: $text;
233233
}
234234
Tree > .tree--label {
235-
235+
236236
}
237237
Tree > .tree--guides {
238238
color: $success-darken-3;
239239
}
240240
241-
Tree > .tree--guides-hover {
242-
color: $success;
241+
Tree > .tree--guides-hover {
242+
color: $success;
243243
text-style: bold;
244244
}
245245
246246
Tree > .tree--guides-selected {
247247
color: $warning;
248248
text-style: bold;
249-
}
249+
}
250250
251251
Tree > .tree--cursor {
252252
background: $secondary;
253253
color: $text;
254254
text-style: bold;
255255
}
256256
257-
Tree > .tree--highlight {
257+
Tree > .tree--highlight {
258258
text-style: underline;
259259
}
260-
261-
Tree > .tree--highlight-line {
260+
261+
Tree > .tree--highlight-line {
262262
background: $boost;
263263
}
264264
@@ -309,7 +309,11 @@ class Tree(Generic[TreeDataType], ScrollView, can_focus=True):
309309
}
310310

311311
class NodeSelected(Generic[EventTreeDataType], Message, bubble=True):
312-
"""Event sent when a node is selected."""
312+
"""Event sent when a node is selected.
313+
314+
Attributes:
315+
TreeNode[EventTreeDataType]: The node that was selected.
316+
"""
313317

314318
def __init__(
315319
self, sender: MessageTarget, node: TreeNode[EventTreeDataType]
@@ -318,7 +322,11 @@ def __init__(
318322
super().__init__(sender)
319323

320324
class NodeExpanded(Generic[EventTreeDataType], Message, bubble=True):
321-
"""Event sent when a node is expanded."""
325+
"""Event sent when a node is expanded.
326+
327+
Attributes:
328+
TreeNode[EventTreeDataType]: The node that was expanded.
329+
"""
322330

323331
def __init__(
324332
self, sender: MessageTarget, node: TreeNode[EventTreeDataType]
@@ -327,7 +335,11 @@ def __init__(
327335
super().__init__(sender)
328336

329337
class NodeCollapsed(Generic[EventTreeDataType], Message, bubble=True):
330-
"""Event sent when a node is collapsed."""
338+
"""Event sent when a node is collapsed.
339+
340+
Attributes:
341+
TreeNode[EventTreeDataType]: The node that was collapsed.
342+
"""
331343

332344
def __init__(
333345
self, sender: MessageTarget, node: TreeNode[EventTreeDataType]

0 commit comments

Comments
 (0)