mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
size updated bool
This commit is contained in:
@@ -435,7 +435,7 @@ class Screen(Widget):
|
|||||||
exposed_widgets = self._compositor.reflow_visible(self, size)
|
exposed_widgets = self._compositor.reflow_visible(self, size)
|
||||||
if exposed_widgets:
|
if exposed_widgets:
|
||||||
layers = self._compositor.layers
|
layers = self._compositor.layers
|
||||||
with timer("size events"):
|
|
||||||
for widget, (
|
for widget, (
|
||||||
region,
|
region,
|
||||||
_order,
|
_order,
|
||||||
@@ -445,15 +445,18 @@ class Screen(Widget):
|
|||||||
_,
|
_,
|
||||||
) in layers:
|
) in layers:
|
||||||
if widget in exposed_widgets:
|
if widget in exposed_widgets:
|
||||||
widget._size_updated(
|
if widget._size_updated(
|
||||||
region.size,
|
region.size,
|
||||||
virtual_size,
|
virtual_size,
|
||||||
container_size,
|
container_size,
|
||||||
layout=False,
|
layout=False,
|
||||||
)
|
):
|
||||||
widget.post_message_no_wait(
|
widget.post_message_no_wait(
|
||||||
ResizeEvent(
|
ResizeEvent(
|
||||||
self, region.size, virtual_size, container_size
|
self,
|
||||||
|
region.size,
|
||||||
|
virtual_size,
|
||||||
|
container_size,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -2135,7 +2135,7 @@ class Widget(DOMNode):
|
|||||||
|
|
||||||
def _size_updated(
|
def _size_updated(
|
||||||
self, size: Size, virtual_size: Size, container_size: Size, layout: bool = True
|
self, size: Size, virtual_size: Size, container_size: Size, layout: bool = True
|
||||||
) -> None:
|
) -> bool:
|
||||||
"""Called when the widget's size is updated.
|
"""Called when the widget's size is updated.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
@@ -2143,6 +2143,9 @@ class Widget(DOMNode):
|
|||||||
virtual_size: Virtual (scrollable) size.
|
virtual_size: Virtual (scrollable) size.
|
||||||
container_size: Container size (size of parent).
|
container_size: Container size (size of parent).
|
||||||
layout: Perform layout if required.
|
layout: Perform layout if required.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
True if anything changed, or False if nothing changed.
|
||||||
"""
|
"""
|
||||||
if (
|
if (
|
||||||
self._size != size
|
self._size != size
|
||||||
@@ -2157,6 +2160,9 @@ class Widget(DOMNode):
|
|||||||
self._container_size = container_size
|
self._container_size = container_size
|
||||||
if self.is_scrollable:
|
if self.is_scrollable:
|
||||||
self._scroll_update(virtual_size)
|
self._scroll_update(virtual_size)
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
def _scroll_update(self, virtual_size: Size) -> None:
|
def _scroll_update(self, virtual_size: Size) -> None:
|
||||||
"""Update scrollbars visibility and dimensions.
|
"""Update scrollbars visibility and dimensions.
|
||||||
|
|||||||
Reference in New Issue
Block a user