mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
made register / unregister private
This commit is contained in:
@@ -40,18 +40,31 @@ class NodeList:
|
|||||||
return widget in self._nodes
|
return widget in self._nodes
|
||||||
|
|
||||||
def _append(self, widget: Widget) -> None:
|
def _append(self, widget: Widget) -> None:
|
||||||
|
"""Append a Widget.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
widget (Widget): A widget.
|
||||||
|
"""
|
||||||
if widget not in self._nodes_set:
|
if widget not in self._nodes_set:
|
||||||
self._nodes.append(widget)
|
self._nodes.append(widget)
|
||||||
self._nodes_set.add(widget)
|
self._nodes_set.add(widget)
|
||||||
self._updates += 1
|
self._updates += 1
|
||||||
|
|
||||||
def _remove(self, widget: Widget) -> None:
|
def _remove(self, widget: Widget) -> None:
|
||||||
|
"""Remove a widget from the list.
|
||||||
|
|
||||||
|
Removing a widget not in the list is a null-op.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
widget (Widget): A Widget in the list.
|
||||||
|
"""
|
||||||
if widget in self._nodes_set:
|
if widget in self._nodes_set:
|
||||||
del self._nodes[self._nodes.index(widget)]
|
del self._nodes[self._nodes.index(widget)]
|
||||||
self._nodes_set.remove(widget)
|
self._nodes_set.remove(widget)
|
||||||
self._updates += 1
|
self._updates += 1
|
||||||
|
|
||||||
def _clear(self) -> None:
|
def _clear(self) -> None:
|
||||||
|
"""Clear the node list."""
|
||||||
if self._nodes:
|
if self._nodes:
|
||||||
self._nodes.clear()
|
self._nodes.clear()
|
||||||
self._nodes_set.clear()
|
self._nodes_set.clear()
|
||||||
|
|||||||
@@ -603,7 +603,7 @@ class App(Generic[ReturnType], DOMNode):
|
|||||||
as keyword args they will be assigned an id of the key.
|
as keyword args they will be assigned an id of the key.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
self.register(self.screen, *anon_widgets, **widgets)
|
self._register(self.screen, *anon_widgets, **widgets)
|
||||||
|
|
||||||
def mount_all(self, widgets: Iterable[Widget]) -> None:
|
def mount_all(self, widgets: Iterable[Widget]) -> None:
|
||||||
"""Mount widgets from an iterable.
|
"""Mount widgets from an iterable.
|
||||||
@@ -612,7 +612,7 @@ class App(Generic[ReturnType], DOMNode):
|
|||||||
widgets (Iterable[Widget]): An iterable of widgets.
|
widgets (Iterable[Widget]): An iterable of widgets.
|
||||||
"""
|
"""
|
||||||
for widget in widgets:
|
for widget in widgets:
|
||||||
self.register(self.screen, widget)
|
self._register(self.screen, widget)
|
||||||
|
|
||||||
def push_screen(self, screen: Screen | None = None) -> Screen:
|
def push_screen(self, screen: Screen | None = None) -> Screen:
|
||||||
"""Push a new screen on the screen stack.
|
"""Push a new screen on the screen stack.
|
||||||
@@ -856,7 +856,7 @@ class App(Generic[ReturnType], DOMNode):
|
|||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def register(
|
def _register(
|
||||||
self, parent: DOMNode, *anon_widgets: Widget, **widgets: Widget
|
self, parent: DOMNode, *anon_widgets: Widget, **widgets: Widget
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Mount widget(s) so they may receive events.
|
"""Mount widget(s) so they may receive events.
|
||||||
@@ -878,13 +878,13 @@ class App(Generic[ReturnType], DOMNode):
|
|||||||
widget.id = widget_id
|
widget.id = widget_id
|
||||||
self._register_child(parent, widget)
|
self._register_child(parent, widget)
|
||||||
if widget.children:
|
if widget.children:
|
||||||
self.register(widget, *widget.children)
|
self._register(widget, *widget.children)
|
||||||
apply_stylesheet(widget)
|
apply_stylesheet(widget)
|
||||||
|
|
||||||
for _widget_id, widget in name_widgets:
|
for _widget_id, widget in name_widgets:
|
||||||
widget.post_message_no_wait(events.Mount(sender=parent))
|
widget.post_message_no_wait(events.Mount(sender=parent))
|
||||||
|
|
||||||
def unregister(self, widget: Widget) -> None:
|
def _unregister(self, widget: Widget) -> None:
|
||||||
"""Unregister a widget.
|
"""Unregister a widget.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
@@ -1016,7 +1016,7 @@ class App(Generic[ReturnType], DOMNode):
|
|||||||
# If the event has been forwarded it may have bubbled up back to the App
|
# If the event has been forwarded it may have bubbled up back to the App
|
||||||
if isinstance(event, events.Mount):
|
if isinstance(event, events.Mount):
|
||||||
screen = Screen()
|
screen = Screen()
|
||||||
self.register(self, screen)
|
self._register(self, screen)
|
||||||
self.push_screen(screen)
|
self.push_screen(screen)
|
||||||
await super().on_event(event)
|
await super().on_event(event)
|
||||||
|
|
||||||
|
|||||||
@@ -219,7 +219,7 @@ class MessagePump:
|
|||||||
print(self, "close_messages")
|
print(self, "close_messages")
|
||||||
self._closing = True
|
self._closing = True
|
||||||
await self._message_queue.put(MessagePriority(None))
|
await self._message_queue.put(MessagePriority(None))
|
||||||
self.app.unregister(self)
|
self.app._unregister(self)
|
||||||
cancel_tasks = list(self._child_tasks)
|
cancel_tasks = list(self._child_tasks)
|
||||||
for task in cancel_tasks:
|
for task in cancel_tasks:
|
||||||
task.cancel()
|
task.cancel()
|
||||||
|
|||||||
@@ -191,7 +191,7 @@ class Widget(DOMNode):
|
|||||||
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
self.app.register(self, *anon_widgets, **widgets)
|
self.app._register(self, *anon_widgets, **widgets)
|
||||||
self.screen.refresh()
|
self.screen.refresh()
|
||||||
|
|
||||||
def compose(self) -> ComposeResult:
|
def compose(self) -> ComposeResult:
|
||||||
|
|||||||
Reference in New Issue
Block a user