Revert "virtual size and docks"

This reverts commit 9a134b4920.
This commit is contained in:
Will McGugan
2023-05-12 15:53:47 +02:00
parent 4e069abd2e
commit c2e7b619f1
7 changed files with 25 additions and 32 deletions

View File

@@ -94,9 +94,7 @@ def arrange(
) )
dock_region = dock_region.shrink(margin).translate(align_offset) dock_region = dock_region.shrink(margin).translate(align_offset)
add_placement( add_placement(
_WidgetPlacement( _WidgetPlacement(dock_region, null_spacing, dock_widget, top_z, True)
dock_region, null_spacing, dock_widget, top_z, True, False
)
) )
dock_spacing = Spacing(top, right, bottom, left) dock_spacing = Spacing(top, right, bottom, left)

View File

@@ -592,7 +592,6 @@ class Compositor:
get_layer_index = layers_to_index.get get_layer_index = layers_to_index.get
scroll_spacing = arrange_result.scroll_spacing scroll_spacing = arrange_result.scroll_spacing
total_region = total_region.shrink(scroll_spacing)
# Add all the widgets # Add all the widgets
for sub_region, margin, sub_widget, z, fixed, overlay in reversed( for sub_region, margin, sub_widget, z, fixed, overlay in reversed(
@@ -622,21 +621,13 @@ class Compositor:
constrain in ("y", "both"), constrain in ("y", "both"),
) )
if overlay:
clip_region = no_clip
else:
if fixed:
clip_region = sub_clip
else:
clip_region = sub_clip.shrink(scroll_spacing)
add_widget( add_widget(
sub_widget, sub_widget,
sub_region, sub_region,
widget_region, widget_region,
((1, 0, 0),) if overlay else widget_order, ((1, 0, 0),) if overlay else widget_order,
layer_order, layer_order,
clip_region, no_clip if overlay else sub_clip,
visible, visible,
) )

View File

@@ -72,9 +72,9 @@ class WidgetPlacement(NamedTuple):
region: Region region: Region
margin: Spacing margin: Spacing
widget: Widget widget: Widget
order: int order: int = 0
fixed: bool fixed: bool = False
overlay: bool overlay: bool = False
class Layout(ABC): class Layout(ABC):

View File

@@ -21,9 +21,8 @@ def partition(
""" """
result: tuple[list[T], list[T]] = ([], []) result: tuple[list[T], list[T]] = ([], [])
append0 = result[0].append appends = (result[0].append, result[1].append)
append1 = result[1].append
for value in iterable: for value in iterable:
(append1 if pred(value) else append0)(value) appends[1 if pred(value) else 0](value)
return result return result

View File

@@ -153,7 +153,7 @@ class GridLayout(Layout):
.shrink(margin) .shrink(margin)
.clip_size(cell_size) .clip_size(cell_size)
) )
add_placement(WidgetPlacement(region, margin, widget, 0, False, False)) add_placement(WidgetPlacement(region, margin, widget))
add_widget(widget) add_widget(widget)
return (placements, set(widgets)) return (placements, set(widgets))

View File

@@ -580,10 +580,7 @@ class Screen(Generic[ScreenResultType], Widget):
) in layers: ) in layers:
if widget in exposed_widgets: if widget in exposed_widgets:
if widget._size_updated( if widget._size_updated(
region.size, region.size, virtual_size, container_size, layout=False
virtual_size,
container_size,
layout=False,
): ):
widget.post_message( widget.post_message(
ResizeEvent( ResizeEvent(

View File

@@ -24,8 +24,10 @@ def test_arrange_dock_top():
result = arrange(container, [child, header], Size(80, 24), Size(80, 24)) result = arrange(container, [child, header], Size(80, 24), Size(80, 24))
assert result.placements == [ assert result.placements == [
WidgetPlacement(Region(0, 0, 80, 1), Spacing(), header, TOP_Z, True, False), WidgetPlacement(
WidgetPlacement(Region(0, 1, 80, 23), Spacing(), child, 0, False, False), Region(0, 0, 80, 1), Spacing(), header, order=TOP_Z, fixed=True
),
WidgetPlacement(Region(0, 1, 80, 23), Spacing(), child, order=0, fixed=False),
] ]
assert result.widgets == {child, header} assert result.widgets == {child, header}
@@ -39,8 +41,10 @@ def test_arrange_dock_left():
result = arrange(container, [child, header], Size(80, 24), Size(80, 24)) result = arrange(container, [child, header], Size(80, 24), Size(80, 24))
assert result.placements == [ assert result.placements == [
WidgetPlacement(Region(0, 0, 10, 24), Spacing(), header, TOP_Z, True, False), WidgetPlacement(
WidgetPlacement(Region(10, 0, 70, 24), Spacing(), child, 0, False, False), Region(0, 0, 10, 24), Spacing(), header, order=TOP_Z, fixed=True
),
WidgetPlacement(Region(10, 0, 70, 24), Spacing(), child, order=0, fixed=False),
] ]
assert result.widgets == {child, header} assert result.widgets == {child, header}
@@ -54,8 +58,10 @@ def test_arrange_dock_right():
result = arrange(container, [child, header], Size(80, 24), Size(80, 24)) result = arrange(container, [child, header], Size(80, 24), Size(80, 24))
assert result.placements == [ assert result.placements == [
WidgetPlacement(Region(70, 0, 10, 24), Spacing(), header, TOP_Z, True, False), WidgetPlacement(
WidgetPlacement(Region(0, 0, 70, 24), Spacing(), child, 0, False, False), Region(70, 0, 10, 24), Spacing(), header, order=TOP_Z, fixed=True
),
WidgetPlacement(Region(0, 0, 70, 24), Spacing(), child, order=0, fixed=False),
] ]
assert result.widgets == {child, header} assert result.widgets == {child, header}
@@ -69,8 +75,10 @@ def test_arrange_dock_bottom():
result = arrange(container, [child, header], Size(80, 24), Size(80, 24)) result = arrange(container, [child, header], Size(80, 24), Size(80, 24))
assert result.placements == [ assert result.placements == [
WidgetPlacement(Region(0, 23, 80, 1), Spacing(), header, TOP_Z, True, False), WidgetPlacement(
WidgetPlacement(Region(0, 0, 80, 23), Spacing(), child, 0, False, False), Region(0, 23, 80, 1), Spacing(), header, order=TOP_Z, fixed=True
),
WidgetPlacement(Region(0, 0, 80, 23), Spacing(), child, order=0, fixed=False),
] ]
assert result.widgets == {child, header} assert result.widgets == {child, header}