diff --git a/src/textual/app.py b/src/textual/app.py index c671cb216..d6a0d766d 100644 --- a/src/textual/app.py +++ b/src/textual/app.py @@ -414,10 +414,6 @@ class App(Generic[ReturnType], DOMNode): """ReturnType | None: The return type of the app.""" return self._return_value - def _post_mount(self): - """Called after the object has been mounted.""" - Reactive._initialize_object(self) - def animate( self, attribute: str, diff --git a/src/textual/dom.py b/src/textual/dom.py index b6129daed..c56c45b34 100644 --- a/src/textual/dom.py +++ b/src/textual/dom.py @@ -210,6 +210,10 @@ class DOMNode(MessagePump): styles = self._component_styles[name] return styles + def _post_mount(self): + """Called after the object has been mounted.""" + Reactive._initialize_object(self) + @property def _node_bases(self) -> Iterator[Type[DOMNode]]: """Iterator[Type[DOMNode]]: The DOMNode bases classes (including self.__class__)""" diff --git a/src/textual/reactive.py b/src/textual/reactive.py index 3d3e79de6..c2863deab 100644 --- a/src/textual/reactive.py +++ b/src/textual/reactive.py @@ -11,7 +11,6 @@ from typing import ( Generic, Type, TypeVar, - Union, ) import rich.repr @@ -21,10 +20,9 @@ from ._callback import count_parameters from ._types import MessageTarget if TYPE_CHECKING: - from .app import App - from .widget import Widget + from .dom import DOMNode - Reactable = Union[Widget, App] + Reactable = DOMNode ReactiveType = TypeVar("ReactiveType") diff --git a/src/textual/widget.py b/src/textual/widget.py index df297fcd8..5bd204c9e 100644 --- a/src/textual/widget.py +++ b/src/textual/widget.py @@ -360,10 +360,6 @@ class Widget(DOMNode): def offset(self, offset: Offset) -> None: self.styles.offset = ScalarOffset.from_offset(offset) - def _post_mount(self): - """Called after the object has been mounted.""" - Reactive._initialize_object(self) - ExpectType = TypeVar("ExpectType", bound="Widget") @overload