@@ -34,22 +34,22 @@ def resize_panels_to_fit_frame( # noqa: C901
34
34
dim_aware_layout : Layout [DimensionsAwarePanel [AnyFrame ]]
35
35
prev_layout_dims : DimensionsWithWidthAndHeight | None = None
36
36
37
- no_reflow_panel_keys : set [str ] = set ()
37
+ no_resize_panel_keys : set [str ] = set ()
38
38
for key , draft_panel in content .items ():
39
39
if draft_panel .frame .fixed_width is True or panel_is_dimensions_aware (draft_panel ):
40
- no_reflow_panel_keys .add (key )
40
+ no_resize_panel_keys .add (key )
41
41
42
- prev_no_reflow_panel_keys = no_reflow_panel_keys .copy ()
42
+ prev_no_reflow_panel_keys = no_resize_panel_keys .copy ()
43
43
44
44
while True :
45
45
dim_aware_layout = Layout (** dim_aware_panels )
46
46
layout_dims = cls ._calc_table_layout_dims (dim_aware_layout )
47
47
if layout_dims == prev_layout_dims \
48
- and no_reflow_panel_keys == prev_no_reflow_panel_keys :
48
+ and no_resize_panel_keys == prev_no_reflow_panel_keys :
49
49
break
50
50
51
51
prev_layout_dims = layout_dims
52
- prev_no_reflow_panel_keys = no_reflow_panel_keys .copy ()
52
+ prev_no_reflow_panel_keys = no_resize_panel_keys .copy ()
53
53
54
54
frame_dims = cast (Frame , values ['frame' ]).dims
55
55
delta_width = layout_dims .width - frame_dims .width \
@@ -71,8 +71,8 @@ def _priority(
71
71
and panel .frame .fixed_height \
72
72
else panel .dims .height
73
73
74
- return (float ('inf' ) if key in no_reflow_panel_keys else panel_height ,
75
- float ('inf' ) if key in no_reflow_panel_keys else
74
+ return (float ('inf' ) if key in no_resize_panel_keys else panel_height ,
75
+ float ('inf' ) if key in no_resize_panel_keys else
76
76
(- panel .frame .dims .width if has_width (panel .frame .dims ) else - float ('inf' )),
77
77
- cls ._panel_dims_if_cropped (panel ).width ,
78
78
- i )
@@ -140,28 +140,29 @@ def _priority(
140
140
constraints = draft_panel .constraints ,
141
141
config = draft_panel .config ,
142
142
)
143
- new_dim_aware_panel : DimensionsAwarePanel [
143
+ resized_panel : DimensionsAwarePanel [
144
144
AnyFrame ] = new_draft_panel .render_next_stage ()
145
145
146
146
prev_cropped_dims = cls ._panel_dims_if_cropped (dim_aware_panels [key ])
147
- new_cropped_dims = cls ._panel_dims_if_cropped (new_dim_aware_panel )
147
+ new_cropped_dims = cls ._panel_dims_if_cropped (resized_panel )
148
148
149
- if key not in no_reflow_panel_keys :
149
+ if key not in no_resize_panel_keys :
150
150
prev_frame_dims = dim_aware_panels [key ].frame .dims
151
- if new_dim_aware_panel .dims .width == dim_aware_panels [key ].dims .width :
152
- if has_width (new_dim_aware_panel .frame .dims ) and \
151
+ if delta_width and delta_width > 0 \
152
+ and resized_panel .dims .width == dim_aware_panels [key ].dims .width :
153
+ if has_width (resized_panel .frame .dims ) and \
153
154
has_width (prev_frame_dims ) and \
154
- new_dim_aware_panel .frame .dims .width < prev_frame_dims .width :
155
- no_reflow_panel_keys .add (key )
155
+ resized_panel .frame .dims .width < prev_frame_dims .width :
156
+ no_resize_panel_keys .add (key )
156
157
break
157
158
else :
158
159
if new_cropped_dims .width > prev_cropped_dims .width :
159
- no_reflow_panel_keys .remove (key )
160
+ no_resize_panel_keys .remove (key )
160
161
161
162
if new_cropped_dims == prev_cropped_dims :
162
163
continue
163
164
164
- dim_aware_panels [key ] = new_dim_aware_panel
165
+ dim_aware_panels [key ] = resized_panel
165
166
break
166
167
167
168
for key , panel in dim_aware_panels .items ():
0 commit comments