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,25 +435,28 @@ class Screen(Widget):
|
||||
exposed_widgets = self._compositor.reflow_visible(self, size)
|
||||
if exposed_widgets:
|
||||
layers = self._compositor.layers
|
||||
with timer("size events"):
|
||||
for widget, (
|
||||
region,
|
||||
_order,
|
||||
_clip,
|
||||
virtual_size,
|
||||
container_size,
|
||||
_,
|
||||
) in layers:
|
||||
if widget in exposed_widgets:
|
||||
widget._size_updated(
|
||||
region.size,
|
||||
virtual_size,
|
||||
container_size,
|
||||
layout=False,
|
||||
)
|
||||
|
||||
for widget, (
|
||||
region,
|
||||
_order,
|
||||
_clip,
|
||||
virtual_size,
|
||||
container_size,
|
||||
_,
|
||||
) in layers:
|
||||
if widget in exposed_widgets:
|
||||
if widget._size_updated(
|
||||
region.size,
|
||||
virtual_size,
|
||||
container_size,
|
||||
layout=False,
|
||||
):
|
||||
widget.post_message_no_wait(
|
||||
ResizeEvent(
|
||||
self, region.size, virtual_size, container_size
|
||||
self,
|
||||
region.size,
|
||||
virtual_size,
|
||||
container_size,
|
||||
)
|
||||
)
|
||||
else:
|
||||
|
||||
@@ -2135,7 +2135,7 @@ class Widget(DOMNode):
|
||||
|
||||
def _size_updated(
|
||||
self, size: Size, virtual_size: Size, container_size: Size, layout: bool = True
|
||||
) -> None:
|
||||
) -> bool:
|
||||
"""Called when the widget's size is updated.
|
||||
|
||||
Args:
|
||||
@@ -2143,6 +2143,9 @@ class Widget(DOMNode):
|
||||
virtual_size: Virtual (scrollable) size.
|
||||
container_size: Container size (size of parent).
|
||||
layout: Perform layout if required.
|
||||
|
||||
Returns:
|
||||
True if anything changed, or False if nothing changed.
|
||||
"""
|
||||
if (
|
||||
self._size != size
|
||||
@@ -2157,6 +2160,9 @@ class Widget(DOMNode):
|
||||
self._container_size = container_size
|
||||
if self.is_scrollable:
|
||||
self._scroll_update(virtual_size)
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
def _scroll_update(self, virtual_size: Size) -> None:
|
||||
"""Update scrollbars visibility and dimensions.
|
||||
|
||||
Reference in New Issue
Block a user