@@ -31,6 +31,11 @@ def _build_layers(widgets: Iterable[Widget]) -> Mapping[str, Sequence[Widget]]:
3131 return layers
3232
3333
34+ _get_dock = attrgetter ("styles.is_docked" )
35+ _get_split = attrgetter ("styles.is_split" )
36+ _get_display = attrgetter ("display" )
37+
38+
3439def arrange (
3540 widget : Widget ,
3641 children : Sequence [Widget ],
@@ -50,22 +55,18 @@ def arrange(
5055 """
5156
5257 placements : list [WidgetPlacement ] = []
53- scroll_spacing = Spacing ()
54-
55- get_dock = attrgetter ("styles.is_docked" )
56- get_split = attrgetter ("styles.is_split" )
57- get_display = attrgetter ("styles.display" )
58-
58+ scroll_spacing = NULL_SPACING
5959 styles = widget .styles
6060
6161 # Widgets which will be displayed
62- display_widgets = [child for child in children if get_display (child ) != "none" ]
62+ # display_widgets = [child for child in children if get_display(child) != "none"]
63+ display_widgets = list (filter (_get_display , children ))
6364 # Widgets organized into layers
6465 layers = _build_layers (display_widgets )
6566
6667 for widgets in layers .values ():
6768 # Partition widgets into split widgets and non-split widgets
68- non_split_widgets , split_widgets = partition (get_split , widgets )
69+ non_split_widgets , split_widgets = partition (_get_split , widgets )
6970 if split_widgets :
7071 _split_placements , dock_region = _arrange_split_widgets (
7172 split_widgets , size , viewport
@@ -78,7 +79,7 @@ def arrange(
7879
7980 # Partition widgets into "layout" widgets (those that appears in the normal 'flow' of the
8081 # document), and "dock" widgets which are positioned relative to an edge
81- layout_widgets , dock_widgets = partition (get_dock , non_split_widgets )
82+ layout_widgets , dock_widgets = partition (_get_dock , non_split_widgets )
8283
8384 # Arrange docked widgets
8485 if dock_widgets :
0 commit comments