From 6b7d4bf6f0ed3864d3f650fcda23e06c24be3a38 Mon Sep 17 00:00:00 2001 From: Andy Williams Date: Thu, 6 May 2021 16:36:09 +0100 Subject: [PATCH] Now we have standard padded widgets we don't need padding in collections --- widget/list.go | 7 +- widget/list_test.go | 20 +- widget/table.go | 27 ++- widget/table_test.go | 8 +- widget/testdata/list/initial.xml | 126 +++++++----- widget/testdata/list/item_removed.xml | 10 +- widget/testdata/list/list_initial.png | Bin 6141 -> 5697 bytes widget/testdata/list/list_theme_changed.png | Bin 9570 -> 12955 bytes widget/testdata/list/new_data.xml | 130 ++++++++----- widget/testdata/list/offset_changed.xml | 126 +++++++----- widget/testdata/list/resized.xml | 179 +++++++++++------- widget/testdata/list/small.xml | 10 +- widget/testdata/table/col_size.png | Bin 3592 -> 2577 bytes widget/testdata/table/desktop/hovered.xml | 31 +-- widget/testdata/table/desktop/hovered_out.xml | 21 +- widget/testdata/table/filled.png | Bin 730 -> 567 bytes widget/testdata/table/selected.xml | 45 +++-- widget/testdata/table/selected_scrolled.xml | 47 +++-- widget/testdata/table/theme_changed.png | Bin 3473 -> 3508 bytes widget/testdata/table/theme_initial.png | Bin 2408 -> 2406 bytes widget/testdata/tree/layout_multiple.xml | 26 +-- .../testdata/tree/layout_multiple_branch.xml | 18 +- .../tree/layout_multiple_branch_opened.xml | 56 +++--- ...t_multiple_branch_opened_leaf_selected.xml | 58 +++--- ...layout_multiple_branch_opened_selected.xml | 58 +++--- .../tree/layout_multiple_branch_selected.xml | 20 +- widget/testdata/tree/layout_multiple_leaf.xml | 30 +-- .../tree/layout_multiple_leaf_selected.xml | 32 ++-- .../tree/layout_multiple_selected.xml | 28 +-- widget/testdata/tree/layout_single_branch.xml | 8 +- .../tree/layout_single_branch_opened.xml | 16 +- ...out_single_branch_opened_leaf_selected.xml | 18 +- .../layout_single_branch_opened_selected.xml | 18 +- .../tree/layout_single_branch_selected.xml | 10 +- widget/testdata/tree/layout_single_leaf.xml | 6 +- .../tree/layout_single_leaf_selected.xml | 8 +- widget/testdata/tree/move_initial.xml | 16 +- widget/testdata/tree/move_moved.xml | 16 +- widget/testdata/tree/refresh_initial.png | Bin 2530 -> 2527 bytes widget/testdata/tree/refresh_replaced.png | Bin 3075 -> 3069 bytes widget/testdata/tree/theme_changed.png | Bin 3220 -> 3209 bytes widget/testdata/tree/theme_initial.png | Bin 2275 -> 2276 bytes widget/tree.go | 13 +- widget/tree_internal_test.go | 37 ++-- 44 files changed, 703 insertions(+), 576 deletions(-) diff --git a/widget/list.go b/widget/list.go index f10e0eba8a..73ad66a09d 100644 --- a/widget/list.go +++ b/widget/list.go @@ -317,8 +317,7 @@ type listItemRenderer struct { // This is based on the size of the status indicator and the size of the child object. func (li *listItemRenderer) MinSize() (size fyne.Size) { itemSize := li.item.child.MinSize() - size = fyne.NewSize(itemSize.Width+theme.Padding()*3, - itemSize.Height+theme.Padding()*2) + size = fyne.NewSize(itemSize.Width+theme.Padding(), itemSize.Height) return } @@ -326,8 +325,8 @@ func (li *listItemRenderer) MinSize() (size fyne.Size) { func (li *listItemRenderer) Layout(size fyne.Size) { li.item.background.Resize(size) - li.item.child.Move(fyne.NewPos(theme.Padding()*2, theme.Padding())) - li.item.child.Resize(fyne.NewSize(size.Width-theme.Padding()*3, size.Height-theme.Padding()*2)) + li.item.child.Move(fyne.NewPos(theme.Padding(), 0)) + li.item.child.Resize(fyne.NewSize(size.Width-theme.Padding(), size.Height)) } func (li *listItemRenderer) Refresh() { diff --git a/widget/list_test.go b/widget/list_test.go index 1451d52908..698cbeb451 100644 --- a/widget/list_test.go +++ b/widget/list_test.go @@ -38,7 +38,7 @@ func TestList_MinSize(t *testing.T) { }, "large": { fyne.NewSize(100, 100), - fyne.NewSize(100+3*theme.Padding(), 100+2*theme.Padding()), + fyne.NewSize(100+theme.Padding(), 100), }, } { t.Run(name, func(t *testing.T) { @@ -108,17 +108,17 @@ func TestList_ScrollTo(t *testing.T) { assert.Equal(t, offset, list.offsetY) assert.Equal(t, offset, list.scroller.Offset.Y) - offset = float32(8245) + offset = float32(6637) list.ScrollTo(200) assert.Equal(t, offset, list.offsetY) assert.Equal(t, offset, list.scroller.Offset.Y) - offset = float32(44999) + offset = float32(36999) list.ScrollTo(999) assert.Equal(t, offset, list.offsetY) assert.Equal(t, offset, list.scroller.Offset.Y) - offset = float32(23000) + offset = float32(19000) list.ScrollTo(500) assert.Equal(t, offset, list.offsetY) assert.Equal(t, offset, list.scroller.Offset.Y) @@ -127,7 +127,7 @@ func TestList_ScrollTo(t *testing.T) { assert.Equal(t, offset, list.offsetY) assert.Equal(t, offset, list.scroller.Offset.Y) - offset = float32(46) + offset = float32(38) list.ScrollTo(1) assert.Equal(t, offset, list.offsetY) assert.Equal(t, offset, list.scroller.Offset.Y) @@ -136,7 +136,7 @@ func TestList_ScrollTo(t *testing.T) { func TestList_ScrollToBottom(t *testing.T) { list := createList(1000) - offset := float32(44999) + offset := float32(36999) list.ScrollToBottom() assert.Equal(t, offset, list.offsetY) assert.Equal(t, offset, list.scroller.Offset.Y) @@ -187,19 +187,19 @@ func TestList_Select(t *testing.T) { assert.Equal(t, float32(0), list.offsetY) list.Select(50) - assert.Equal(t, float32(1345), list.offsetY) + assert.Equal(t, float32(937), list.offsetY) visible := list.scroller.Content.(*fyne.Container).Layout.(*listLayout).visible assert.Equal(t, visible[50].background.FillColor, theme.FocusColor()) assert.True(t, visible[50].background.Visible()) list.Select(5) - assert.Equal(t, float32(230), list.offsetY) + assert.Equal(t, float32(190), list.offsetY) visible = list.scroller.Content.(*fyne.Container).Layout.(*listLayout).visible assert.Equal(t, visible[5].background.FillColor, theme.FocusColor()) assert.True(t, visible[5].background.Visible()) list.Select(6) - assert.Equal(t, float32(230), list.offsetY) + assert.Equal(t, float32(190), list.offsetY) visible = list.scroller.Content.(*fyne.Container).Layout.(*listLayout).visible assert.False(t, visible[5].background.Visible()) assert.Equal(t, visible[6].background.FillColor, theme.FocusColor()) @@ -369,7 +369,7 @@ func TestList_ScrollThenShrink(t *testing.T) { visibles := list.scroller.Content.(*fyne.Container).Layout.(*listLayout).children visibleCount := len(visibles) - assert.Equal(t, visibleCount, 8) + assert.Equal(t, visibleCount, 9) list.scroller.ScrollToBottom() visibles = list.scroller.Content.(*fyne.Container).Layout.(*listLayout).children diff --git a/widget/table.go b/widget/table.go index f26d353901..9b19249fde 100644 --- a/widget/table.go +++ b/widget/table.go @@ -63,7 +63,7 @@ func (t *Table) CreateRenderer() fyne.WidgetRenderer { colHover := canvas.NewRectangle(theme.HoverColor()) rowHover := canvas.NewRectangle(theme.HoverColor()) - cellSize := t.templateSize().Add(fyne.NewSize(theme.Padding()*2, theme.Padding()*2)) + cellSize := t.templateSize() t.cells = newTableCells(t, cellSize) t.scroll = widget.NewScroll(t.cells) @@ -104,14 +104,14 @@ func (t *Table) Select(id TableCellID) { // SetColumnWidth supports changing the width of the specified column. Columns normally take the width of the template // cell returned from the CreateCell callback. The width parameter uses the same units as a fyne.Size type and refers -// to the internal content width not including any standard padding or divider size. +// to the internal content width not including the divider size. // // Since: 1.4.1 func (t *Table) SetColumnWidth(id int, width float32) { if t.columnWidths == nil { t.columnWidths = make(map[int]float32) } - t.columnWidths[id] = width + 2*theme.Padding() // The API uses content size so it's consistent with templates + t.columnWidths[id] = width t.Refresh() } @@ -157,8 +157,7 @@ func (t *Table) scrollTo(id TableCellID) { } scrollPos := t.offset - minSize := t.templateSize() - cellPadded := minSize.Add(fyne.NewSize(theme.Padding()*2, theme.Padding()*2)) + cellSize := t.templateSize() cellX := float32(0) cellWidth := float32(0) for i := 0; i <= id.Col; i++ { @@ -166,7 +165,7 @@ func (t *Table) scrollTo(id TableCellID) { cellX += cellWidth + theme.SeparatorThicknessSize() } - width := cellPadded.Width + width := cellSize.Width if w, ok := t.columnWidths[i]; ok { width = w } @@ -179,11 +178,11 @@ func (t *Table) scrollTo(id TableCellID) { scrollPos.X = cellX + cellWidth - t.scroll.Size().Width } - cellY := float32(id.Row) * (cellPadded.Height + theme.SeparatorThicknessSize()) + cellY := float32(id.Row) * (cellSize.Height + theme.SeparatorThicknessSize()) if cellY < scrollPos.Y { scrollPos.Y = cellY - } else if cellY+cellPadded.Height > scrollPos.Y+t.scroll.Size().Height { - scrollPos.Y = cellY + cellPadded.Height - t.scroll.Size().Height + } else if cellY+cellSize.Height > scrollPos.Y+t.scroll.Size().Height { + scrollPos.Y = cellY + cellSize.Height - t.scroll.Size().Height } t.scroll.Offset = scrollPos t.offset = scrollPos @@ -268,7 +267,7 @@ func (t *tableRenderer) MinSize() fyne.Size { } func (t *tableRenderer) Refresh() { - t.cellSize = t.t.templateSize().Add(fyne.NewSize(theme.Padding()*2, theme.Padding()*2)) + t.cellSize = t.t.templateSize() t.moveIndicators() t.colMarker.FillColor = theme.PrimaryColor() @@ -548,7 +547,7 @@ func (r *tableCellsRenderer) Refresh() { r.cells.propertyLock.Lock() defer r.cells.propertyLock.Unlock() oldSize := r.cells.cellSize - r.cells.cellSize = r.cells.t.templateSize().Add(fyne.NewSize(theme.Padding()*2, theme.Padding()*2)) + r.cells.cellSize = r.cells.t.templateSize() if oldSize != r.cells.cellSize { // theme changed probably r.returnAllToPool() } @@ -591,9 +590,9 @@ func (r *tableCellsRenderer) Refresh() { } } - c.Move(fyne.NewPos(theme.Padding()+cellOffset, - theme.Padding()+float32(row)*(r.cells.cellSize.Height+separatorThickness))) - c.Resize(fyne.NewSize(colWidth-theme.Padding()*2, r.cells.cellSize.Height-theme.Padding()*2)) + c.Move(fyne.NewPos(cellOffset, + float32(row)*(r.cells.cellSize.Height+separatorThickness))) + c.Resize(fyne.NewSize(colWidth, r.cells.cellSize.Height)) if updateCell != nil { updateCell(TableCellID{row, col}, c) diff --git a/widget/table_test.go b/widget/table_test.go index 14207318b4..798bd17806 100644 --- a/widget/table_test.go +++ b/widget/table_test.go @@ -112,7 +112,7 @@ func TestTable_MinSize(t *testing.T) { }, "large": { fyne.NewSize(100, 100), - fyne.NewSize(100+3*theme.Padding(), 100+3*theme.Padding()), + fyne.NewSize(100+theme.Padding(), 100+theme.Padding()), }, } { t.Run(name, func(t *testing.T) { @@ -284,9 +284,9 @@ func TestTable_SetColumnWidth(t *testing.T) { renderer := test.WidgetRenderer(table).(*tableRenderer) cellRenderer := test.WidgetRenderer(renderer.scroll.Content.(*tableCells)) cellRenderer.Refresh() - assert.Equal(t, 8, len(cellRenderer.Objects())) + assert.Equal(t, 10, len(cellRenderer.Objects())) assert.Equal(t, float32(32), cellRenderer.(*tableCellsRenderer).Objects()[0].Size().Width) - cell1Offset := theme.SeparatorThicknessSize() + theme.Padding()*3 + cell1Offset := theme.SeparatorThicknessSize() assert.Equal(t, float32(32)+cell1Offset, cellRenderer.(*tableCellsRenderer).Objects()[1].Position().X) table.SetColumnWidth(0, 16) @@ -311,7 +311,7 @@ func TestTable_ShowVisible(t *testing.T) { renderer := test.WidgetRenderer(table).(*tableRenderer) cellRenderer := test.WidgetRenderer(renderer.scroll.Content.(*tableCells)) cellRenderer.Refresh() - assert.Equal(t, 8, len(cellRenderer.Objects())) + assert.Equal(t, 10, len(cellRenderer.Objects())) } func TestTable_SeparatorThicknessZero_NotPanics(t *testing.T) { diff --git a/widget/testdata/list/initial.xml b/widget/testdata/list/initial.xml index 2b4d697e75..962c7423f1 100644 --- a/widget/testdata/list/initial.xml +++ b/widget/testdata/list/initial.xml @@ -2,135 +2,161 @@ - - - + + + - - Test Item 0 + + Test Item 0 - - + + - - Test Item 1 + + Test Item 1 - - + + - - Test Item 2 + + Test Item 2 - - + + - - Test Item 3 + + Test Item 3 - - + + - - Test Item 4 + + Test Item 4 - - + + - - Test Item 5 + + Test Item 5 - - + + - - Test Item 6 + + Test Item 6 - - + + - - Test Item 7 + + Test Item 7 - - + + - - Test Item 8 + + Test Item 8 - - + + - - Test Item 9 + + Test Item 9 + + + + + + + + + + Test Item 10 + + + + + + + + + + Test Item 11 - + + + + + + + - + - + - + - + - + - + - + - + diff --git a/widget/testdata/list/item_removed.xml b/widget/testdata/list/item_removed.xml index 6fe4031254..71c1dea5fa 100644 --- a/widget/testdata/list/item_removed.xml +++ b/widget/testdata/list/item_removed.xml @@ -3,8 +3,8 @@ - - + + @@ -13,8 +13,8 @@ - - + + @@ -26,7 +26,7 @@ - + diff --git a/widget/testdata/list/list_initial.png b/widget/testdata/list/list_initial.png index c1f4440fa52b2a9b4bf4b60fac23ee573e9e5d7b..bf8ef41afebb315e06ca4ddda31f84272d8e05af 100644 GIT binary patch literal 5697 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 literal 6141 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 aqtR*vhs&5Tp1{wiqtm&fuUVvVC+r{L7zknj diff --git a/widget/testdata/list/list_theme_changed.png b/widget/testdata/list/list_theme_changed.png index cbd34d58b5b6ec5217eeff1e4978fb0436fce51e..363a130ce9bfe953ebba5ee162dbf6138c5bc2d2 100644 GIT binary patch literal 12955 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 Z?0E??MZ%f@c<2O8K}J=&Leebge*nT(szLw& literal 9570 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 - - - + + + - - a + + a - - + + - - b + + b - - + + - - c + + c - - + + - - d + + d - - + + - - e + + e - - + + - - f + + f - - + + - - g + + g - - + + - - h + + h - - + + - - i + + i - - + + - - j + + j + + + + + + + + + + k + + + + + + + + + + l - + + + + + + + - + - + - + - + - + - + - + - + - - + + diff --git a/widget/testdata/list/offset_changed.xml b/widget/testdata/list/offset_changed.xml index a2b1b1d97f..fb687b70dc 100644 --- a/widget/testdata/list/offset_changed.xml +++ b/widget/testdata/list/offset_changed.xml @@ -2,135 +2,161 @@ - - - + + + - - Test Item 6 + + Test Item 7 - - + + - - Test Item 7 + + Test Item 8 - - + + - - Test Item 8 + + Test Item 9 - - + + - - Test Item 9 + + Test Item 10 - - + + - - Test Item 10 + + Test Item 11 - - + + - - Test Item 11 + + Test Item 12 - - + + - - Test Item 12 + + Test Item 13 - - + + - - Test Item 13 + + Test Item 14 - - + + - - Test Item 14 + + Test Item 15 - - + + - - Test Item 15 + + Test Item 16 + + + + + + + + + + Test Item 17 + + + + + + + + + + Test Item 18 - + + + + + + + - + - + - + - + - + - + - + - + diff --git a/widget/testdata/list/resized.xml b/widget/testdata/list/resized.xml index 50f0aee11f..0377ddc87d 100644 --- a/widget/testdata/list/resized.xml +++ b/widget/testdata/list/resized.xml @@ -2,187 +2,226 @@ - - - + + + - - Test Item 0 + + Test Item 0 - - + + - - Test Item 1 + + Test Item 1 - - + + - - Test Item 2 + + Test Item 2 - - + + - - Test Item 3 + + Test Item 3 - - + + - - Test Item 4 + + Test Item 4 - - + + - - Test Item 5 + + Test Item 5 - - + + - - Test Item 6 + + Test Item 6 - - + + - - Test Item 7 + + Test Item 7 - - + + - - Test Item 8 + + Test Item 8 - - + + - - Test Item 9 + + Test Item 9 - - + + - - Test Item 10 + + Test Item 10 - - + + - - Test Item 11 + + Test Item 11 - - + + - - Test Item 12 + + Test Item 12 - - + + - - Test Item 13 + + Test Item 13 + + + + + + + + + + Test Item 14 + + + + + + + + + + Test Item 15 + + + + + + + + + + Test Item 16 - + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/widget/testdata/list/small.xml b/widget/testdata/list/small.xml index e6925f72b7..c215020867 100644 --- a/widget/testdata/list/small.xml +++ b/widget/testdata/list/small.xml @@ -3,8 +3,8 @@ - - + + @@ -13,8 +13,8 @@ - - + + @@ -26,7 +26,7 @@ - + diff --git a/widget/testdata/table/col_size.png b/widget/testdata/table/col_size.png index d69bd15d2632f8deef579854a79f3b419141a33b..518124eb00ec79d4c1360b3f9dfd87ceec03d3be 100644 GIT binary patch literal 2577 zcmZuzdpOhW8y`b65%SiY#Uzq5$*~w3i+*do%$%c?yC`Fb6Yrg^a!|~dZDTTogr_aki-@u~yKg z5|spx^G`@P28Y7|m1obs45=q}eW@m7h0NBN5BUMP}3}AY`EuI)mLtC4#ySu4@LC5Thsluty&`^7Ouuq{~Np{Z+PA@Jr zRNLBmyE{vy;6t)ox}3mX11jrV?|_CMhPS zv9>nb>)qJc)vb+4sq~;mEGI11#l^+h8M^Ay&gWGFx;EDrqnm$E-=n%PR9HHT!C)Y% zFD52@$?*BuO~0gV&770rloo{r7Kk^KV$TAG^La!@in zQfZ*CZ~H4tHOo;0Nft}#41Agm_wx2Gq|u(d{fs0lDJt$IBF4wZ;Ygi4=aSQ&Xmnj& zogKLpOW&8#H9tQ;{Iil}EJ`P@zrUXh4>c;dosp5W@qSm;Ee@;zb(cbUG;*P``(zoq zg(%a zX_AtXr`+7$4i6&`2!B}jOq9KyU6>h=kd5!Nv;-@av;a1n&Eat37AMN8`SVSaFPKcj z-Fu;_US3`l3I&$tMSoLVtWtnl8+1|)fW}))?m9oYzncEqUu>-?EBnFK?TRr_IF60Qc52c$Q&W%V z>tDUM%o{me4lC??GdTElsuP^$7-UwsdL=P7*38r|2*z!I>+0!+hlQCOJ?hsSmHO_{ z+s{B`l%-Ww-IBNw=8B4nu(VJU1tnI&%JrxyqqKkvjrY8EUc3-Sl6$SwrIa7qR*zgr z>CC23>@T6q9kKMgRc5B9BcZJvA$`$~$otJmX%W+~N#mK`0%JFt4ZX4w>FoR=s@Zn? z8|4f%nu3iHY^}I)?N~~2VP;n^8dntcR#hxSW0@7FxZvpWC^d; zkb}wtvnxy{6R5iA;YBEIfOPBDX`Q@p8}2%Ju(U+}TzRj-jpH4GPkr02Y3DgtTK68) z(bk@uXuS$x_t#><{B7#Rj^SYpP^ds`V7p^tVg?5XD=RCDAHQzTQU^fYaRaQOp#gvg zKvPZ4oi_5T-d?$kuExg3>FH^Y>X^VlJGw``=P%34QO&sPn`@VP4yL4}==-*eHp}bo ztA6y%+=KJ`yFJ4YgyL_-14A9+3 zD%KX3mY*ZcO%zVW#Wl^g-b&Cv9uV;UkrN4xM%!$DsZUK!U0aLgBSyF7cw1y-P|$Rd zWgJ|Vz2EPejDmtQJ!)7!@#4k9B-Y_Whfcb>3Iv;rBNt3fcQ76v#Wsl+!4zitp3nH_ zK8ib=i|y3BylwvHCqyD~GI71gQ#U+3d_uv)&yRNZu7{`RAz5Nob@f1zrPF=~N5@z^ zURPf~X?yjpdd?v&tyykg;lk>D*Uz-a2-6!w zL$V~6gp||-)|uXGXlU4rR$?_`fv8OFQoS}M;GL`I;4OR*2$6Iq=RjC+aOyq(CVE0J zrJ~{x56Tpen~+$Jl6$jj(k~&`f(Gahm1fPjV|i3<0d7d z<_-x{;q`JjGVpT(9D!69!;x>@(1!d=yI+?rKud(~Zb#np%;vp!{xM~xU!kK#XqO&) zoyFD+Z5pfW`}PfQ(LJO7C3QvyM|L$Imn;)7)wgy;|IgMxcH@&Mhzbwv&=h|l@`n{? zYbSlk;lg^zMI0GuZ~#RD$otbR27D5DjzG4F;>aq0da>X@EiFuTA$#%KT*%k;|4ZLr z9}C#Okoz3`yM*2Dzk>4e-;CgDgrw4$k8VQJu4!#B&dKkq#3e~e~&pk;vmq@&M$45m<5Q65HRY2 NkPfbh8asc&{{VJGz;OTo literal 3592 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 diff --git a/widget/testdata/table/desktop/hovered.xml b/widget/testdata/table/desktop/hovered.xml index 8a09fce9c9..e554fee6f2 100644 --- a/widget/testdata/table/desktop/hovered.xml +++ b/widget/testdata/table/desktop/hovered.xml @@ -2,49 +2,52 @@ - - + + Cell 0, 0 - + Cell 0, 1 - + Cell 1, 0 - + Cell 1, 1 - + Cell 2, 0 - + Cell 2, 1 - - + + - - - + + + - + - + + + + diff --git a/widget/testdata/table/desktop/hovered_out.xml b/widget/testdata/table/desktop/hovered_out.xml index 357c4bddb4..2d0467ef87 100644 --- a/widget/testdata/table/desktop/hovered_out.xml +++ b/widget/testdata/table/desktop/hovered_out.xml @@ -2,33 +2,33 @@ - - + + Cell 0, 0 - + Cell 0, 1 - + Cell 1, 0 - + Cell 1, 1 - - + + - + - + @@ -37,6 +37,9 @@ + + + diff --git a/widget/testdata/table/filled.png b/widget/testdata/table/filled.png index 4c1e445f23588ec7d2bbf06d88c57b209a28b334..fdab8bb6e30c7f827b141c018544d0818b95ca42 100644 GIT binary patch delta 255 zcmcb`x}9Z$auDM`PZ!6KiaBp?8D_OQh&WvIDM;13v(|T4!-HJ5ML#S2zCJYe@9w_5 zC->Y>*6@Av>lpv(7fv|hD8%k5qXJ^wdev`uOy0KWT;`9zhsFJV7ENBrC^I>Li4%xf zWHPUmJuH;jzMtp(?eBlTmmmAMbM}_Dc)oaxr%{TN>zKqQ7cdF)vL^fKNbE2CaY*wz zm*-?dCJi1PiQ=S#KYD@Y?F^fEQ4*+1fH&pf3}NnL`7-+oPHlCX?7$=mwS_Nq2ZFe`dGqJX1A&~}yZ7(kzk63U z-*Taah3O-O&gL!uPC2i>n&toe|0i?nzIR_=RQ>%a|M#8#$7euE6~0Lp9w1eC8JDL2 z<9!+UkDuTDd)BOFXY+wT-agN4_TBV7mSEje?pyNhf4*n$UfT~xC-(2#zu*7zm*V5| z=L20;Z!@_tCMM?1&&yU-XBL09`R#P-JJ>qKuM6CHS4O%(d<6FzP6p3PcH1nEvq~V> zrg+%C2z1VJ|GYxcw7Uc3_~B|A-gv=`yP&>VdiwhOzdg^*n>TOW`t`DZx2;~iy8gFx tRWUHxM9HSEI9Y#iHYB$91JmjM|9LkJ9=}uQ+6YXu44$rjF6*2UngAwOEG7T| diff --git a/widget/testdata/table/selected.xml b/widget/testdata/table/selected.xml index 4e6f96de23..027d3d4d60 100644 --- a/widget/testdata/table/selected.xml +++ b/widget/testdata/table/selected.xml @@ -2,67 +2,70 @@ - - + + Cell 0, 0 - + Cell 0, 1 - + Cell 1, 0 - + Cell 1, 1 - + Cell 2, 0 - + Cell 2, 1 - + Cell 3, 0 - + Cell 3, 1 - + Cell 4, 0 - + Cell 4, 1 - - + + - - + + - - - + + + - + - + - + + + + diff --git a/widget/testdata/table/selected_scrolled.xml b/widget/testdata/table/selected_scrolled.xml index 46e362c394..f6d4e3f350 100644 --- a/widget/testdata/table/selected_scrolled.xml +++ b/widget/testdata/table/selected_scrolled.xml @@ -2,43 +2,49 @@ - - + + + Cell 0, 2 + + + Cell 0, 3 + + Cell 1, 2 - + Cell 1, 3 - + Cell 2, 2 - + Cell 2, 3 - + Cell 3, 2 - + Cell 3, 3 - + Cell 4, 2 - + Cell 4, 3 - - + + - - + + @@ -48,18 +54,21 @@ - - - + + + - + + + + - + - + diff --git a/widget/testdata/table/theme_changed.png b/widget/testdata/table/theme_changed.png index 296f5b702d0f69b98f0da4ce6c7eab4ab5221014..db490fca53e243c3a068c5541d63388aa90bf524 100644 GIT binary patch literal 3508 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 literal 3473 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 diff --git a/widget/testdata/table/theme_initial.png b/widget/testdata/table/theme_initial.png index 11c0cbecad53b3b42ceba396c58ab24e4bfadb19..f0b4a1d1010ba9fbb15ec33d0891509a6458ebe9 100644 GIT binary patch delta 2109 zcmZuydpy(YAJ_SDoXIPWiN)Nr-D^z=XpKv&-4Dg-=EJng*k<+!+0aN)Ar}% zii8t^uHL&E(xSzQB>&Inh$VlL$wjAfzBwuDf@aJ2yP3$sh251+XFqn8m^1ZJkJO)0 zWVMnE^X_T^~WTbzMDhwJOI>dZDr^6prj`qm1W3txaztOvw`?&8E=ev#MWa1oW^ zUOi%QZ(VYIQ_`+k{(zfZfp5};`b1@^wfk6XNg$$f%Vlb|M%_`<`fn

` z%0F1fwpPMr#yBY_=VFwoo3sz4h0imF2GpaE8X77#Pu7Ne`S=XyZ1?Z$UIdeNk{Cjv zu&Ai0z5O)Z|0Enf#O2}z!$!n5`zoH5v8APWXL~c9R#{m|CX=aDYD>PF)iq5^OG|C- zFKtA*k?KqM-JSQm0l${JiMMYb?~F!J<~gAcUy zD>cXvtMZD9*oBGpnUAF5;b9Jk)85|R(9qDaTQxH~d+^{vI2@k1z8uDFPK=3((bd(3 zky89MpwNrHzTu`2eFKBil9CLKQ&`6M;>5e!t^tu08JTXTq^#^45WtKaDqrNb+_7!Q zy%riCzBu`wSyooYz%zVD&5s?MY1Xu|iW?|H+4N?nr$21m+1lD7%4x{#+F~afXfc9e zfCgsl;yFRAaP-+wq^hcFl}|-~1R9GqHZf5yGnsBoaIpn@zdnybp-e6{LseDBnX%Qp zBoB~FP*4ya-y%4{8?DETr+|+bDy2D>(l}^3onBg6il2lcw6(Pnh+DzIc5z)RTdl2j z@$rpB58xpR+hY(^3095g#~&gy8*ukwdv^S@DdSP zT9@a?=v7r!Y{wVpK0*fgH=mrs2Z_266nsw%i!e16oYwK>az2N1LA>g4(Pr`Ok5IVT z+0(=}{!IY(2Gnw~7D!BH=E%qh6SuXoT4CuzEi6=+(@tPP(o$0ksnnlMX`U}{oRpQ5 z^Q{=7#$Jfu3*nrtq+nrTvN@5ti7RP@Jo->jP>_<6l8J5ldwFnhaAqbn5+7L}<>BvN z$O;zKd=iOFJEPexh-q(~mjlPm&9!$56Fh9eU?+F0v9Ylaot-8Z8?uUvs|NUNHXDJP zEXvMiK?Fi!9S8l=vp6*^ZNH36YDUH+Jt|-9g2mxX^z>XkJpsO?q@+L~keZrW`ks~o z-(A-=GQxb`pi+Q8AN4C>?ZUPLJnu`mo@`-YC>d4k{ zDK9TSrt(PC&6%9sS@_4gmUA&MFi|*4%ga-mhOf+zGXetxgVfhqNzy=iEpd~wGBSl^ z^1HaDFQcQ7D~7td$zL11p4j$Wz|s67qoROi@slU`UWj0R{{5}_!utlx@O30ou_I*T zIDtUW*3o(F{^Db3;mSL2KfeN>3OE`0Moz0qSw*EWe)T(_f0fEhHVO+1TUuHIY`OBr zS5NUo@dB^+Nz2{socN<@v$Kf?=H!BWah2isGT6%je!Ri4&fVRtTYjH376K61iM4P2 zI*}SDdsh~?f=^^5Z0<#C!`FGh`a8DC5-VP?2V9Py~15JHY9y}}UEX?vfDU+qRC zm>YgJ0n-?Q0&MTVp;P&fN<{U+NtoW{kiW)YdMp_n_y_zD9Sw4?VUJ5DqMU)Nl_G@w zCDQVPIwo^-ik0N%=H^@){n^{O)Xc)-Mo37=Rh5DVL}I4;Nx){wv1`|{;M|Yxr?Y)2 zno>XnMr{atnK8)@|9T7o??`#-_o*Hw!bN};_hSfl4iwEbr9DRE>p(jepRR;NfVaeb zu-^>!1DhK72ym`Rix)BoLjXWKIy(4#zWa;iubr6;92WtRrFvaSW`Nua{OsyM<>$*+ zc)jA))uF+`(fOa-o8pn7p~tzoXT)+Ps59*LU+AblEF(WJuMum4MWfL;TyIy`H=*$P ztqcF7qZLC~z`tgvE6OAjSAp=XX%cuW_+~zt%)e%}v9V!OX-|1-jf2%g$0UI=XP~d| z@9&RYeLU`17fxyMt+4xd( z(^N=}A)Y^Kyzn>L7vAY8} z&zYj>#0FkGO9=+5qv+0(Z*@=%rie;4*4KBSOf?+_Y8UZfi$z?fOs*g$TK0w%O zK10bT?BCNC>8aGA|2MNm@=mW`9r;ySI{zo~xvPiAiukBuc--v2y*D|iS}Z<(4>|q# lKd!$?X94YbTUkP4clQYR-nJ?GVXg!)+?+g5zi|jA{1+nPF}45z delta 2106 zcmYL~dpOf?AII@)qWs7qMq@nIba1L167dUJi&64pCdp}NjCh>mnKbj5#!G z$VMbvEEiG^znIfAS~(NqB8O$qx1Q^Ie)nIW>vP}NeShxz{rbG`X{A{uG6FC{+n;lb zD_j(KT~PS}mtGn195hZLQqQ%&~yLxf*-wqDQoZ<72D$uA| zB(GEZfjr3#dQk}xEPZc(h=C@e)jhW!_&TjM4cVL4F6wz&5zT+vo71z4FWlN-FE`X! zx?p{Mb$+XbPPrCKbgH#UnjunuyCAcdd_Z1X2lj{U>Dwv|1A4XZ52~ti;=cLOd;Js* zA9oX9TEgUatakUO^GZI>rJBY~Q-m@G0NX@3+<4R9(^Fl%-cw|`wzl?o(j+&9dj=hn zJW@%eQlC9LVqkz_x)(TA2!+B!=ET!Q&Nt3>*R{8|e_s;#LyQ&fS z!`Wm}Ba0P9BpMnR7+6?Xtk~paXJ@aju0BvRO5R!x9IE!lU@$p3Ie1nc4z8%!KQItr z49$dDWRuAei^C_KW(N-*6f{MpGn)6%+uJgF~JE&XT~ATdhA# zvOb338JK|>{4tk=N{v$pn?lxfu8YtD3~Ft?l!BVHLlcs<22yJ#=+- z<#s&W^UdbF4_RT7MP>V@|;BLYd*$u6f#+RS86QaWQd7| zaBO%OTaWwtfe>l&bBh#?EPrBx8`!P--K9+?!@=Lx^{;_}0hIYQJU`$h#>FKlFi_U3 zj>Y<2`c9{zzrVkJ_bR~Hj7`64IJCLhxIDx*nLLF)M-|S_&*v8wTE#A1J$EhzaG>4G z%p9-vwFBAX8Mm~w#5A{XIMx;xo^&@P5=ork2zGR1V`CTAw=**2>T%4Wg)3LCBqk(4 z(>z)D59N-J!6Vh4!=ccKGevt9v@$X>oY3eIE&%xWOgx0!NWFeTmEA?u;0+XNA)A2rlzLp@|slulli-X!c4JFb93_qCyDR^J3l|4sdaX=zrWSSoD;uRQB%{~ ztqV4i4`c8eH`$x+*3;AT)CSmH7^;!u1>o@@J#!x`Aqz}*g1`TlE{dL`qoaD7It=zY za_Zu34>hOO;(&yNSI(6M`T3A)(N~8Jv`Mt-pR*oyQ$`!U7e`p~>2?8<$;Ff`2$Uk0QPQ|4^4T~d{peya=C2o?n?;O^jsBsb#g5KjjVVLXC=@C|tkq?KB z)o)7*YA^Z!%%|l*XTg!=%fT4x<{5N~lb5pSHXqp2)x|b#RS3qA3;&nd(*@ZkvAJ9T z)bdPGPq2w$TxYP!^wbpSUXU5*k06%m3UGJ2o9Ot~rBDpH>sKw*Uj?T{5TqbXSy#-- zNiXHyRQ?_`vI&O!715Iq;FNEJsTFvemzq+u#s`R0`xvx zs;SP26E8p-Xf$4^*#mt$0tt1^*;V^HKee&3ae8_hWGyy2`d*DafpmIV? cEF~c!7Nc?6Z|`XODM)|=ecsu=+V(o>zgQ0wS^xk5 diff --git a/widget/testdata/tree/layout_multiple.xml b/widget/testdata/tree/layout_multiple.xml index c621337a69..d21ff12dc7 100644 --- a/widget/testdata/tree/layout_multiple.xml +++ b/widget/testdata/tree/layout_multiple.xml @@ -3,31 +3,31 @@ - - - A + + + A - + - + - - - B + + + B - + - + - - - 44444444444444444444 + + + 44444444444444444444 diff --git a/widget/testdata/tree/layout_multiple_branch.xml b/widget/testdata/tree/layout_multiple_branch.xml index 634d99843b..962324909a 100644 --- a/widget/testdata/tree/layout_multiple_branch.xml +++ b/widget/testdata/tree/layout_multiple_branch.xml @@ -3,22 +3,22 @@ - - - A + + + A - + - + - - - B + + + B - + diff --git a/widget/testdata/tree/layout_multiple_branch_opened.xml b/widget/testdata/tree/layout_multiple_branch_opened.xml index 95dcc06899..76664279ac 100644 --- a/widget/testdata/tree/layout_multiple_branch_opened.xml +++ b/widget/testdata/tree/layout_multiple_branch_opened.xml @@ -2,65 +2,65 @@ - - - + + + A - + - - + + - - + + 11111 - - + + - - + + B - + - - + + - - + + 2222222222 - - + + - - + + C - + - - + + - - + + 333333333333333 - - + + diff --git a/widget/testdata/tree/layout_multiple_branch_opened_leaf_selected.xml b/widget/testdata/tree/layout_multiple_branch_opened_leaf_selected.xml index 117e26f158..12b4b29dc2 100644 --- a/widget/testdata/tree/layout_multiple_branch_opened_leaf_selected.xml +++ b/widget/testdata/tree/layout_multiple_branch_opened_leaf_selected.xml @@ -2,66 +2,66 @@ - - - + + + A - + - - + + - - + + 11111 - - + + - - + + B - + - - + + - - - + + + 2222222222 - - + + - - + + C - + - - + + - - + + 333333333333333 - - + + diff --git a/widget/testdata/tree/layout_multiple_branch_opened_selected.xml b/widget/testdata/tree/layout_multiple_branch_opened_selected.xml index ec4012e880..d9d7801340 100644 --- a/widget/testdata/tree/layout_multiple_branch_opened_selected.xml +++ b/widget/testdata/tree/layout_multiple_branch_opened_selected.xml @@ -2,66 +2,66 @@ - - - + + + A - + - - + + - - + + 11111 - - + + - - - + + + B - + - - + + - - + + 2222222222 - - + + - - + + C - + - - + + - - + + 333333333333333 - - + + diff --git a/widget/testdata/tree/layout_multiple_branch_selected.xml b/widget/testdata/tree/layout_multiple_branch_selected.xml index ee26d9bb09..1f9a171d90 100644 --- a/widget/testdata/tree/layout_multiple_branch_selected.xml +++ b/widget/testdata/tree/layout_multiple_branch_selected.xml @@ -3,23 +3,23 @@ - - - A + + + A - + - + - - - - B + + + + B - + diff --git a/widget/testdata/tree/layout_multiple_leaf.xml b/widget/testdata/tree/layout_multiple_leaf.xml index 51fc428d34..209bbf9659 100644 --- a/widget/testdata/tree/layout_multiple_leaf.xml +++ b/widget/testdata/tree/layout_multiple_leaf.xml @@ -3,33 +3,33 @@ - - - 11111 + + + 11111 - + - - - 2222222222 + + + 2222222222 - + - - - 333333333333333 + + + 333333333333333 - + - - - 44444444444444444444 + + + 44444444444444444444 diff --git a/widget/testdata/tree/layout_multiple_leaf_selected.xml b/widget/testdata/tree/layout_multiple_leaf_selected.xml index de4baca4b6..e7a8d2e5a7 100644 --- a/widget/testdata/tree/layout_multiple_leaf_selected.xml +++ b/widget/testdata/tree/layout_multiple_leaf_selected.xml @@ -3,34 +3,34 @@ - - - 11111 + + + 11111 - + - - - - 2222222222 + + + + 2222222222 - + - - - 333333333333333 + + + 333333333333333 - + - - - 44444444444444444444 + + + 44444444444444444444 diff --git a/widget/testdata/tree/layout_multiple_selected.xml b/widget/testdata/tree/layout_multiple_selected.xml index 06aaa1f8c4..de76f1fb46 100644 --- a/widget/testdata/tree/layout_multiple_selected.xml +++ b/widget/testdata/tree/layout_multiple_selected.xml @@ -3,32 +3,32 @@ - - - A + + + A - + - + - - - B + + + B - + - + - - - - 44444444444444444444 + + + + 44444444444444444444 diff --git a/widget/testdata/tree/layout_single_branch.xml b/widget/testdata/tree/layout_single_branch.xml index d6284b8afd..6e2ed17e90 100644 --- a/widget/testdata/tree/layout_single_branch.xml +++ b/widget/testdata/tree/layout_single_branch.xml @@ -3,11 +3,11 @@ - - - A + + + A - + diff --git a/widget/testdata/tree/layout_single_branch_opened.xml b/widget/testdata/tree/layout_single_branch_opened.xml index e26b41d89d..ec405b680c 100644 --- a/widget/testdata/tree/layout_single_branch_opened.xml +++ b/widget/testdata/tree/layout_single_branch_opened.xml @@ -3,20 +3,20 @@ - - - A + + + A - + - + - - - 11111 + + + 11111 diff --git a/widget/testdata/tree/layout_single_branch_opened_leaf_selected.xml b/widget/testdata/tree/layout_single_branch_opened_leaf_selected.xml index 9339d595cf..a212c28dd1 100644 --- a/widget/testdata/tree/layout_single_branch_opened_leaf_selected.xml +++ b/widget/testdata/tree/layout_single_branch_opened_leaf_selected.xml @@ -3,21 +3,21 @@ - - - A + + + A - + - + - - - - 11111 + + + + 11111 diff --git a/widget/testdata/tree/layout_single_branch_opened_selected.xml b/widget/testdata/tree/layout_single_branch_opened_selected.xml index fd64395d70..22aae1af60 100644 --- a/widget/testdata/tree/layout_single_branch_opened_selected.xml +++ b/widget/testdata/tree/layout_single_branch_opened_selected.xml @@ -3,21 +3,21 @@ - - - - A + + + + A - + - + - - - 11111 + + + 11111 diff --git a/widget/testdata/tree/layout_single_branch_selected.xml b/widget/testdata/tree/layout_single_branch_selected.xml index 69bc69a3b7..caf619bee4 100644 --- a/widget/testdata/tree/layout_single_branch_selected.xml +++ b/widget/testdata/tree/layout_single_branch_selected.xml @@ -3,12 +3,12 @@ - - - - A + + + + A - + diff --git a/widget/testdata/tree/layout_single_leaf.xml b/widget/testdata/tree/layout_single_leaf.xml index a8a42438a9..8ecedc6153 100644 --- a/widget/testdata/tree/layout_single_leaf.xml +++ b/widget/testdata/tree/layout_single_leaf.xml @@ -3,9 +3,9 @@ - - - 11111 + + + 11111 diff --git a/widget/testdata/tree/layout_single_leaf_selected.xml b/widget/testdata/tree/layout_single_leaf_selected.xml index 5fa2f76b45..ef8cf8e02d 100644 --- a/widget/testdata/tree/layout_single_leaf_selected.xml +++ b/widget/testdata/tree/layout_single_leaf_selected.xml @@ -3,10 +3,10 @@ - - - - 11111 + + + + 11111 diff --git a/widget/testdata/tree/move_initial.xml b/widget/testdata/tree/move_initial.xml index a42b39fc36..19273b1458 100644 --- a/widget/testdata/tree/move_initial.xml +++ b/widget/testdata/tree/move_initial.xml @@ -3,20 +3,20 @@ - - - foo + + + foo - + - + - - - foobar + + + foobar diff --git a/widget/testdata/tree/move_moved.xml b/widget/testdata/tree/move_moved.xml index d21251f214..71599a4ed4 100644 --- a/widget/testdata/tree/move_moved.xml +++ b/widget/testdata/tree/move_moved.xml @@ -3,20 +3,20 @@ - - - foo + + + foo - + - + - - - foobar + + + foobar diff --git a/widget/testdata/tree/refresh_initial.png b/widget/testdata/tree/refresh_initial.png index ef41cd93fa8acff9b4213a06a32329260c62248c..517be18d6fc8ac330acc5a6264065ae9a5bbff2c 100644 GIT binary patch literal 2527 zcmeH}{X5h9AIGJWl2W}GZ;wD=Ux4cQieb15ayZ=F8j`Zx@?~uf4mgpJpSiqKm)+)_V@@LJ>%?Dbso;7T0>iq2N zW4An2Pnoq2>D(nTT@U{3d0_oM>+_!;gQEMZ&!9c7YGQu~w6N(p?DgPw$GC}0W^iz@ z@7R@JdObXcM@LgIh6V=P3Okx&d#$XjZ0Ma=-}oO5K7T%w`7^bdE9OX*N+s45{DcuB z5D3~L=Q~ZDj=yTF_N@)9t*!kr>|lj&j%!tbNM8FWa&>KqRRr1vkv|2+s#WWz*tn(X z-f&7%g+ua17z~!3tzf6V7s-?&sZ7jOa?)90MOl79LNakrb4W_+<97D(1ZPX)WhpU9^7=ZS|(I*ZaN9?CtC@Oa3VJx@>=H z8>kiWH6*mR!ggkv|7C?6mywa-!^lf<*r+Bv&B>~yJExII@Ge=SZQ0TCW^m_27_S^I8g7dFaBEA5dhpvfgY9=nLETuhC_o8d@^9lGiS4V2 zxZJ|VYLF}RPgLp8WA-+o7NvZl5I85O&essK|9)3seJ~t;#PJVZhw`KO(BIWCZD)_a z4Yl-sG!IC)(?t7qd=?LxwPLS6xH%1>ylY&2`)>k=zS*{1W>Iz)xypa>%s(E`&9$M| z_}PyBsoO{0))qQo5QTY``R;9vk+ht(aLA3>&+jtkD5*Tuhqym6gH0@ma*5^UXm8&& zDUqc1e!%U9+Zlng#FwB@Xy$W&m^P++(h^qX`{K(a@2|13u_|zGWUh$3)fDk`cj0u5 z-@O3?+w8^fbUIzfk4&W&c8pip#*O~gu~Pw?s-e+nH8s(FIOm~D>F309#nO!XvxlHM zV6?SyOfepZ3JMBRs4m93Fam_u*qF2WbjFp)LaZ@xxc2mit;c&RQp7sx#0Ac?9f|AT$S!AAI;hb&pepwkAv{k`N=A#p8 zVG|3GLJTI1ni2s>GCY;G(L-pq;86=2rGI5p(#YEcM#+(mZbFWrzU%&v1m|=*sZlHz z0}QgWw=Z%kyT)rrhJ=LR@pyN7)J;iOE%XunDu_t}?3=kR9hx5@GpkOePk$ohsVX9p zB@5QOFs5mgk}3{QP{N z4BhV!sq>6d%dMLE!U@2Zhl>Hn_0hr_i9|;_4uTw+N?Rvxuw;+yYkz+~kEdRpBfeki zb6N2|rr*l1s}v4-VNJP!DBeVO_u*ZJ*z9X=T9l_Vf}6VNfjKE;`Llb=VMa`v_wJQ_ z%&D~DJh12%kSH_qRZEM4!cJl8`aQ8@7^F{hqJhT#a$upyng}5JErkM6$tSm*>axD) zUTyrEL>ib`B9qBnlv1?f9Ufk}p4@+?ZjnP8niB~GJ&`6&?TYFB1Qr#wo|7vfzE@ez zI!F9uydUo4!)OS336YN#+`W5ui;n)<3OjXW=Golq);@#u;`(vax-^u)ihF8^cPG5#ixV=}?rTqhp*+MR~ctGR_uo`EXly6DW47 zr;G>G1D0_nC5YJGCsKe{)1&-Dus$_yKG{4M|h literal 2530 zcmeHJ`#;nBA9u=^gV2}bB#DzeBwb9tX*tL<+^EUv@PUlB(s%kZ1(wn`VYS6x9<<%$K&AvvZgFaAf!)g7unQ^<{L4kkJwr)+I0<%Nirp8lOt*meSap$=HjeqWS zX!W)@{Y_3Mx(T{#=$HiW0epe^D<-@`={GZBd=4deHhgT#-FmXBChcBxtHYqi&*3qI zEl;Aobq@dC+MAm)&cx4;QMsD?wyK)XYXUPY1;^gW$*F&8`tz63<}enMIm54J{l30f zEHf@=k-bChD&S~Q8)~HfWLRtTQM;RFJ)=$yf5L@G492ns9 z17hGL66v5>H6-SEXlMn*hV18UMIIO!sJzJRUr5_=k)&3w_v9GPrZBEu)1nN!r0pv_ z(fFsWb47mdG^0;z4kw;pF_?ei#Qya30fiW!&j8fQ0!ZeXeC4;UT`m{jK8hPD{V|YV z;}M2LuFO0~mQSnlR%TN4J#N?Q;!QfJlc zvy?JawQF)6hokNoiyV}ul%W>hGTQ6w(Ta(#9uF%=Jui}V(3vx7^0$m6S2hVy>&31u zNa*pxhsErZA`U@W=aYAlwE&HQXJo7gB0O#eJV;keB<71~F*(Dt35kgvQGb;?gc@zr zf~h|B2rR$5e64U1#5TdsXdjfGrJa9%$8o`G{NkFnTd@u#EiAkL*8`R$RkF2Fg?q;0M`2^{1`c<4&%oLw z3AkJ2X=ko;^_YEdi}_}ap}A`-ns>W7jIN$ek1!k?LBKYri(s9P9$A<43lzNWs_iIH zsMHyFSXdbGUJw^u47Vw=gw^oSzTC#FtSpeRuEhcSwej?*9|L&(Rom}F(0@J41=$B& zg(A_;g5wVm6yi93%mjwa=kxh3EiIw#=m@+Jd3Bn!xe{z`1bOjVC`2NWqHJ0SCOZ1b zLYnVgK||n!GiS~ezPmns#j8%`OCS)6VCpY59+_LResZ^}wQEMuUOk&&gvK_{mO=5h(bQ`CAc8v>#}WKlF* z;4*OwMpEBrFAu&A0nk6|VBWNz6V&6cyUl)djjNAueub%EOmn z8}ae+OcqPK00yX*@^&}{SR0k0b{|f8FHWG2gV)Ui|M7JLNVW%8^z^FUf>bV-gSMv- zHyZAh%i#v=ezxD|?cblY{6T;_(goW5rhPEK>hOqZAec7qOAwuOx+RRLvI=}|ZeP-m zndEHN=2+Zz&uD|x(`d=vm;XT_sTm$_sWU^3RE{{3v$-mXp@oo0z>YVHwgg)w?S?#`%!m!rdTUpwXPVmQVk%{Q?$CS{C@8z~xR~_o`!`!s9z86^aiZ z90GT(*r@p*p3 z#C{@E(N$kxpRqKv3F^A4tW9WPyf95AH|TAumWGMk$;g(bCJY9%EvKgvn)tA>ku_cD zCeycp-}+bPDh515BFO}8Di({kY8$YXauy)TOZ&F>cwByljMlrMR9a@dCkNRf!MIg) zt+hmPiG2-v&1XC8xZzPzfV4cSv$Jz1g#qTd66;)Ib5i^``7Q*#z9@|XO&yUwE?xO8 zcIejUjd|)0&$&83KHyjjw=pj2-6R4xgCj##L6A0)Y;NQMn6}_kqf0{4>2#Os0PQVV zzfhE}Qk8A8D7kO8G|8y$iuwQRf0%(PKu<#h0EBntFMVxV;Nag)!`~;syX9E)<^KTf C+4!pf diff --git a/widget/testdata/tree/refresh_replaced.png b/widget/testdata/tree/refresh_replaced.png index 0c8ebb16eaa716a69a7421cdde868a508915ac67..c21d07323ddc684187d4de01640e52a2670afe90 100644 GIT binary patch delta 2479 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 delta 2484 zcmV;l2}}0<7lRm(B!9|DL_t(|ob26uY*Y3B$MMhFuH6P3v>j}2!O@Lr*{Yjhs$@Xo zw%`pk9l;n)vjYl8m`5GoUCKVho^?fGmV;8U_kt5S=qjX$S)Y*hX5Iov!pI z9qZcD%lXB9lK%SbKxB08z4ChewR7n?hvu1c1NM=LqR0R!kp_(S0RSXIlK~4jf6i#4 zY;JCDX=xdQg8}%PY!sjQ;fEijQfX3l?{qr%@893w-(OKtv25A0q-+x=y3s_LEP@~` zUAlDIv}sjURe?ZY9FGJ@8P6ztdV1`3ds|yuUS8ff9tKb|o>5-9bcrz*3We-;dtqT= zT3Q-o%X*+u|us^`+UABQ>JX&woR|s^YxD$ zIkJBJdQlW55=kHsShsH7i!Z)-OM8R~L%f+&r%vhhdXvc%n^Rj``{<*Of5s+HoH(J^ z>rbCPebY@PIC$`2adB~MvaPMHq@<*?vr`nsa5((dTW?iVRJdF&Q4}v;yf|yttSwu% zM59qr6b~Ibq|s=)y1H(4k1!$J{FP8zTAJVQHyVv5lWFAA?(XgtD^?`sF{Qn|y{4vS z;lhQCF{xC#X3d&lFnHw1e-Xx5M@L6aPR{DptNA5<@#4jLy?)=meYd|;An4{%KJdT; zd-m*+NF>XbFHh)_7nz=(zI*rX%F4>yJQSPFcJICS#wN3}vWkj|tX3<(`z$UlmdXDA zW<#sh@>^0!J^$+Ec|w=`9Gl!C8Dny}JQ9h-&k2Xa63O33D3i&ef6-|CB0&)NSrbyv zzx^AX%F0UKrO{|~I-L%OBe_NLlV49yPi)fdcK7!7YPDL%Sb2H5#bWXM{jsHI&YX!q ztwJifg}-LxT}q|Wfq?;^&zIaH8DlTM{Bn19_h+Ad76=5KPG>_ygIcYA;)y31V+Mmk zp-^ntu)*u~4h{}}fArBuzyA8G(P&K8u7Q?YeKIg~T)va>3NnA?b(}nTa{Kn}W4)I>d-i*P>yM zJ@(i$&ph+aJMTE1&fD4GnKNfvTU(QNfY;a7*4EwKJ=S}fh{kik&}4Bsoma13ZD?qS zL?V5CeXXsn$B!RBc<|t@4i^bTq(YR8vFz;ZB}W(`(eTqJpFDQ#*qd*@ zIcd_QU@$0`%XjYFsndVy7-MVJteG)m#!o-}-BuB(!#>R($dn)moGEMPMtbsv)O+d8XBffoyr(fDwUa;nSvm+ zx3{lcxl*N4F~(-ko?TT{_4U_ZGscb{J*rZvR<2yhx4CN7s;sQ6|Mp9oFjD05EtN{A zPoK^h`}W&!UwP$~Wy_ZF`Btmd<% zKN7Yq2*Q8fy?Z-5JNx?ju3fw4cDt*ps`yl!x7%G- zR>m0X?d{cQG*YRQ&sQiEg@uJ<`ISsyDH3IFZtmK(YZ+rImFj~JK3KYRX?}h_Uo>;( z%q?5C#IGD{F&qxZ&yPl<@uN3$>({S0nM@504O)M#R;g4z|NQd_ABmsjWA3hAy?XB4 zxv`mSB!5)z!)6^4DK~ z{qp6@{4HijM@MYsix)3`^2sNDzu)8WG&MC%pFTbI7KxKerIRO5K700TBoguYd`(SF z0|Ntm(VRJR%F4N&$n^o#`uws@3Yfd-u9ru16kuq_nhj z!GZ;!fBt!FO@qO3;=~D^PWRx05B~Y*pPzpE>B#r(EiEmF4<9ZsFMsHvhqAJ=_%nYK zV=OH#?cR;g4^KKbPA*|V1{Sz@(X`L%n+iWTeDtpooHXg`a-@0l=8ZhV0R?x; yJta&axO@Y%;R*o(lRyiilRyh88vhpn0RR7!yJt{xA)Xol0000IRf+oarLY>RC%%zYE%>+$&h3*YxougB}B*W>kgy`Slzcu(eEx^I4DI!H;X zEPu{DVtr;3uYi0E&goFJbigMu7oWKkCA12AA59-9gmU1;U8LdQnO}XP!pHd@M_+Sx zjD#aiYcO(|=Eq!djYqNp1!oROh+g~MI8L%V)hhD$<>*jIVFsw9;-z_XUAtrl#8Z^7Wy?jW+nT%7Ao*YPS@>Asn^Fo-Owxy zt4DW;60O^CCeL#eIsJr>DH4Lb`~^HBph7h=*1pNW7wgsHJA= zzWa}iOkN*rX#qbvw>~mLW&5p_xHY$4Vm?5f8;Ru%YOStD8Rm}pC3;nzMscXXv~atz zwDgSs>PZF89M0X#%MaHWxj0c78!%ci7>LQQ#_vXQd~NL|U{)HV)l^ zVN)PQT3X-ST-OZ@YXYkIa^RhjTR+d~BqJJz1(6je7r&gc^7bC92?~l7Qbfci{HP1C z`wlJ0*z)&*VW*G3S@FKUY62uC*zN6ZLmGzPBg}b?JWp3?f=#D+YseQ2omvl{%E-u@ z)DEmvGFzyNbn|kN%+2YQPqekQJqNx&Rp$c>v5@~*!%*_7y%im$x$;yHv}dE@UIoOjdFg%R#S zdi9OY><9gj3jw=BRhUzC=~Imy1H%MGTN#k&^7H5N$QXZfOro8QgwwYl@^jh9TVHp+ zWj)=cX%wqI+Ze>u0)2YAmutjsT3@`_&I3$4IpO;&i(h*d(u4)S?4r|(TzwguL^>Uq zPpA31usMl}D7(V@Yku^;ENZ4~=lIo|xs!pT>6yK0Y3+~|`^=~mk|~z?JJjUF>-rY* zziUajzO_9^ z?q&5Io2(tgpjTlhu%xinXNyWo5KFYxVJf4-+qAm}VyNFgUF+;QG?lDOOiVbOlhY1K zVzZNWc8oVR!jqMc(bz^;!owf9$xx>V&a2+S)~m&E<=mY4aHCGFKfK7rio4-mYA~yz zepEGakDUy2Eaf-vA!yy*ao`!9f@w9&cKsd1P& z7H;D&u*6^B&i9uProfJbI2n`5bOn;~8|ub~CmP<7&v2P-?f?G!;l%YKcmL^nJubJR zE$ow~=(Qw5(IPw}}w~p67+Bn}T`5HXY zj-x1vh)hpU+YF)_TJ4OTDgy$P6H#vxX1D$@UXYH-SS8uA!bTEgbYDE@W5odj13bjv zK9M`B?Ngx&gH^seJ8^57&!4P-S0b9a!{N&n_606(KCgAn5eh22O3z<|d7x$-bQX-Q z@F;Rc8wRH2Iy8;lZHbC_RXkVbqLC(`(VnvUkk_wAv;YDssaXYBhmkOT@^a+KhI=21 zdxY!7ky8y%_jY1Ab^a`XCAI4;bvka91p5Dw;eTLw!n=%ZP;)!ms*C{WZr|#$xQ7<>$hFELm%9)QGBs47a5m2v&-K*cw8GA8y_zknMTwtdpvnv z+GG+v=Q6{kJpS}|taL<#*JMrg+y-Cv{GD9mD&9Cmn55M3@gt+r22N=Jc(E$cBXdhA zlrSw@upKW|lA%Rt5nMj;Wo%sV?$s;D(udhu5B!&CFDW?IX~KSUj3?^AMuv&nOzRt~ z7Ilp&1LA2G{j`Y$YW!y{h668O>b0XT%GQkksd67qDFJK7J36B99R&sIGIEWQPYY^d65b~p`nh|iYtuffT`H1ZiNsgd z)%GPqdE?TZQPS?a2y@B6aBbAkzHJW0#KYy=sP_^}}IUiC_B($lg#e{Pn z9}$q8x>$Xcb90s9>^Q~PU^-hEy;6h;3HiCXDF60aX1X*GMo#ERlrsBe^O6WMx?Aen zic=aZug^ClJ?gs13~>Z04=Ef&_9KsNz4B#8tf+qQs5l-qhCW!zpeKVCmt<=MhYw%w zT34`JhN7xZ}L}dzm2^ZNKeg_q@uLZ?5$Is|FF}D+7wy+0j=A4`$cDb zglB3@hOP;=rDbnev%aUGe^3tEn{Kzr9%#E^azBJv>k5j>ePO{wUPm+S(v!tl}n@Ybt9G_wx%2Dx))xMgXL* z$jT_}Zq#7&!{Dk2>&QquFD2f_jr)s|n-?p*wr{Qci0De5{PRSLX2yJ)q*XB3Tvsyw zi0P^Qy8R z2_qbeT&Nw$l`%Fh#_>hvvX+1|&KK?NJD@LK@+M^T?q)U=SW@n5&qQ<;+V3^~6Ywiu ziXeP+27d_nqPb8I77>Up8Dz@OJd`Hd$&`)Z%0^SNQl>9DIXF0=&+%69X233ovj4!4 zo}TF}oer%&&DM@|cR%Tt$Xx+b(q6jjR-w3gu&-}>pfV1R3Aq}@lUu?Gfg2sST)S1jc6j&6NB_k?s$uuGH0S~-+V05z0s4*t!qFKB_#DwS=-u}@l6Jn*H z4CoC|dUMV%_2^0MHWpc-U-0t^A@n*I?N#&6bxvEOvK9tFiy}1K3jhd)D1jVA3FOGa zy#RQ>IGNJQjN(`Kn;$N*cySJPlVJ;Tf1!*ri|4a=K7@A&@2BaxQ>qIKP0h`Vy1O$T zJc!TF5BGB5-AuzMHO0lLCr?Hwl`oGRakjLKK7AVQ6~ViihW|T+cGD)_<7v;!^YrwD zdo3^?({QJZPDycFEGTm7npQidR4!MoSRvDBc(>b7RmB){G&MPI-V}~1GBe`~e+nWE z248=_?aCF~#fv=01^&83Dplp@D|2(Dv9WH8rT@&C;X8N2^isHuc)IV^7npU!UIA zHf#6p@jc4B`hClmHlxvPvA8-q+Kk3Fqp|nkLB^P_q(oO%)>mKOs@2|GxbQcFp|i9! zcIi^%tD}OHLx&VOIi1_Kwd(bE7c6LvMWByk^Z;ObF6He3O9O;;IVAA~Cw}k%OC8;8X{m*B!f63F*g2siBk@j}+ z`(MxTdR>nnPvUwZ6mOo3=keFKDHZ8|N#^tQpE@NsnUuM?;-E~a)NbDFeeuH4)WjGY zYHf9y&6?t3Swez1Cw9q_4>B_cFI?b;hr_h?_f%*;(RtnFE2N4PJgctuba(&f^l3v? zm2&xV?Z%C1*RRXef9lRJz7S8%PfJRqF)?Y^uWLX1Ou2lyVf*&^4GliK9q&_4zL0&Q zBZf$=NdFo9<;(k7S;o4$+57ehJG$%PLvumFKtqE#$KKf3o|`+Tws!8(qyF0*XK!rm zs;I!Zd-6$I!o7mYB$dmflasx6`xu{$%T%gJz20NB2EBy@EFs}!N-HypU)^thxWwYc zIn(O1?|;ONjEtDgW6$vp4vL>WLRd`0za<1y9g`3YIg=m@HXq*l=cTj5w+;Z&TT#AO z|0q9%g_ALBz*qO19|Ga@4U+*3NRuE7Eq`+S)P;qn=H^A+-5C!a#OLRSzC3co+0rul^l3=$RuUN*vtU8=?Aal?w<$^%?gdO$ z+D)5ykEcB^&(qTr?zK!e*eS;;Iwi$zu}oBvJU=0KJ4Ilpd}mU*T(x3_Orzo5Zhu2n z6=TfN)a1N*Q#h)~%#1H6h%^{{{r$EpS8NwA@*EfV>k_F{m7lN7&6UQ+x-FLeGiQeH z+zEOJ-s6!em6{D3FrL?!l`+P+p&@^i z5{a>{PFGgOIi0SKj!2zOUs>sBY&5T0a@0|Qg*8Uv^AclP_1Ep0}l+hTEbbhH_b zZAN47!Gnx3T}g?qtgNrTzE!Kew{YQa2193QY3$Oa##cuLDTfXza&kJiZEMx*?=D!- zI&)^^`;HxBjK#cNUX;P`=#x)|+S=GuyGTWpp&?VN zXUw1PXm0k}Y=PqgXU{T;ByQO<|K(;@7L!N@&YcUK;Bz?amoG=Brbf@1BMuJTy2bl^ z;!W@1;LxpGQAVRIA%7w0K^2P^$9?>f$kkJ_(Yb3J)70nc^9;hHiuA~hPu znA;lkUtco!^XLAfdcFUpp=NJ+Jml?dP8}jx(=bE$o_%v1p@lVxCrbV5bZX-skH-bxLkBDRXnh zL77si-MrcR;(vvssmXt(*xKqcn>EG7ftQA{OO||)nK^jj0yjJ?4$3n!VqRS)3KZGd za+As4*vPrvuOH6q72lQgXS#9Y#6QK!gPk&Do>fC?}@`)>I5?Wn{=LsgYb zt$wm@op@?~T2k_VzxnYMm-n->jCFOh z_w8d55sWd{!-wXAf`NtxagM#Qu{}3;PHpYnqeuO>InLhL*i}&xcHn85O+9g9vY+sTk+g(+1=EjI zE{{%5_S)@Ze2yYhsUr1ykJTFV7Sdby6BQMeoXor3qtBlG`DjF3TvTGB=fw;0%5q9@ zGNqLn#jox+KU`w*;vDRhp~sDkjF`=1&+!fpiW#3h{_Xv^-L8&~zdP!)+ehs7@vf0H zywCxY!3&6!APZhWM;3S^oAKdW2~36-CJFZv{uy>kAV<;??iBz8!A=R}AW9$yQ35&t c3jhHB|4f84+-7k)u>b%707*qoM6N<$f-H}Qk^lez diff --git a/widget/testdata/tree/theme_initial.png b/widget/testdata/tree/theme_initial.png index 2935b177ec76cb80675e2f6bce6ed556209c17e5..ed5f585c9eeddc2adefd798436488edefa87e2c0 100644 GIT binary patch literal 2276 zcmeHJ{WsfL8qd~l>#ekOr%@_xr;2u3^)i$y9i`q<`i2t3Qu-nZQyOm-Gn0eS@iMkb zoghO*2Jx0AA~eaCHaV#@RYkotOoYga*F=bf*sp(J&i=aR>^;xD_uPB#dG7Okp3mo= zTW~$dcfbA-eGmw=-`~&sCNO{5?Yet_vFyT~5fDhX+28xS+v!ycLbx9+P0U?Qf;xSA z7n_hLKp0^WZWRYPG3Q_4a9yHY&vhWu8(9mfxjaS0e$slK2MttkB`GN%x<82=KQ1B}2QSAJN%;xOb zZ-4k_eL4ix{`VVRM*oEgg6haEEiH|WV_588v~N4GT=$JHDRh+ZDQ`)LO3TP#aK&b3 zX0GUkJ5ZMOdQY{t*~{#U7Dyygp-^D4*dUT)vF{$+)j~>p`%0;=Wn)_#9*6ry{Ey4m z+zD%$%u>HMqU5{r@$dP3?-K{(3j1f@_4ga(dJzZ&*g2D`pnDh$=H|^ol}aU-KiV>~ z$dc96LH+&1qoRcG4}WQFZEdAehZ0`W=ydbArsn3)BO@MLD}7B(O}V+bR4SE7BuXTb z+S=nX8T`rW+YcTZKG@VKzdC3xiM@@M4%8wS4{F{Dr?NejL${)$qJllQQ&R))URgsO zJ0P8(KW$?(I#N6VwDIv?QSxjajYgwTD1iICyu7r@3{qX)^iboiqN1X675!j^lu+XA zd2ip|z2r}#W%f=@RaInUB%&}wIUH6|UanP%jb)I&0#j??S^%Fk_ATA+tg^#) z(T01mqGZ)X5?eS(44F}@GtYx9%*@7SYtxyN&0%dn z4*Nvig1H(&8LXR%{25uwd7)G)>+2_qtzBJREsS7S&^_CpM#opb$gJJ^`uaYe6Qbx` zal!7vGhwX=*7?Vb$g#08u~esnyA4l!iF^`4S+c%I% z)(3QN-@aX6U*9EM+Qk-w(a!Lmab9S(+Tr2hV2{n2*ZUwqfZ5B;4Y^#dR;y!aiGCf( zwDI!Z-rn-^a=()l&56K(fS+Ffk=VxkN+=%;v>P58x|@(Nj_4GLM39`V?_*db*l$uHuZV zYX%C1QY_d18iO{mYA307%6`4_r2^QWGW-_$IHL9wq889)!c;@aSj(kN0nxOr!h^FS7T*FKYm@ zN^nUmtvazsIQjA8YjR}|eVKqrN@6FAyv~EkWHPnWJFF562KxmBr~!c-F*o;A{ejKR z{afPmf~BP;fk5DQQZDbeb8&KtWMi_ElLs;vOoQETgoiUIlxf9g1PnHny&)6`g5vnJ z#LuiPd0^stA5gzGmb!^fPs_|4ck{(;t#Wq-P7JJ=RzLHzC|Hp*-=ab*RX~7Yp`nHL z09&~w5IbAjj?R3qTIrLjIYG4}2T+7J1jr@l#$CfjjpJ4*as1$J z%FGgTilmD?9*;tCkabQhVl<2NU!Fb%sz+}8e6%=cN4kDrJE{rYbCrP$Iptj9W?__Q zV`W98(H>`Jb`uD34<9~6B3nqLd;OLhay?<1$;xb&OEYvvBDtERdBWoH{AFIBWXet& zt=cmOgGM_$Ix2Ehh$UY=@GOu(`p))7N=nKiT4P}M>Uw14lQrp$IR1N_OUo>%$R3a( z@FMZMSfpLI_wWDCU@#gQ8d_Tg5%DL$h7n2duMQtJMyclTIpmO20Q7cn7UEKJLPA4N zkA{TD1Ox{g=l3z0%zR^rGY1NVZUMx@=V&vsv$Jguse#3(!NKY6Z%o5`gWj;kA*UA5 zJzQ}m9&eoMg`;1r78Dj10x_I5@c3F{;vBF5*Gs=vuw86(JpcdpKaRlMjt&U4vs2cy W)TeKK^Lya;0`m6>@^1Bt`RP9p!csZ_ literal 2275 zcmeHJ`#T$08aBO5wJM!4E$X_{w4>c_sbNbA+M*$dsq8e=1|yWZM5{t7q}@?0O{?k> zZAyAUTf}9ETO?N9+EOW6w+MomN+c1DpowJ9?*0Qizs(PGp6{IVoaZ^`JKy)d@A;mS z^#c;FyUS>omX?;Tr-z##m?!_!wYPvV-`;;jOG~@L)9v)%2oINd7>`oCrdKv?|1_`K z7Kw~R?uYm}+giJQwJo5~pD;r+>(~4F<14=dS&ch)A{xlrd1T0eJ+`$kZ5=Kd+{7dX zBnEV)6<{z)_|bh~`?llvncySTlR?LuL{oN5A%W97z9x!X_}1(&@a+v@g`%b+>w9oAP11xGC~$2@jX#?w;N|x8Ky% zDOn!r?Q8*Q<+<&zPjxgAi^V!RIuTLla3>J&!TIxMSMvzD(Kfj@_uC6z45Gsg? zQdIrK+tV{3Fp%4~W3rmfW>;19U#!O`Bp70&qM}AdN2iHWmQX0{?(S}AXb=blg@uKD z{!gMg8d1`cId|~PwV6r=D75e!7`}Z~N>Iv!EG<&c1wg*%ycIAYi z03CGl>O%j_%p<&mN-K#;AiSn{Ejl@)LxD%Hlsg_J@dG(UL~Ds@bMb6}yze0+RjSzRXP z=1qln2@;`q3*C!bKBj+(JU%w&foK&Fz^$G9T1HqCS2L%l$Kk2ZMudeOoG9ap6$Dt_ zu_42&8!H03LAfR6sG}n>H1y?#WceUm%9OG{Mx8$0F*5vTz1I-ZTSM{6yZ`!K6pI0j z1qB61jvT=?DWB#zU-0+0zcPE%`eH~(NNlXQbB{}#My*7lP}3x(xUH=XK<6(u@{4iY zMBhkHPp8xAxgKFscR=BnX&sbc(#clA#;>#*I{j^bf5UhT6bhYAUE|HqmooAxl%(}# zzDlL?IQYGt-P&A^ONj$M%8Hm-WeUHxc!{lD#Mp9^#*?&#N6Teof<tHWfd^$*(KUP+q4N zQYcPloW zSREFKVMOu6;l0Ji35ulvtTz&gl%H$Ys2$yV-u=S`H8mhwRRgz!%%q1I%K1Fsv(lh; zl2bAmg zplxhyii?YfhlfQX5sSs*Dw=7&A4~FXSWSbS09a#|_|rytd3lwNPt7QIYKkP8Yyl0Z zR>QAvG5DWH<$$AfeqmuktcakcHiD#I`~m|5gM;III(5HH8{tww%AHiT>XR>k8-*G!^P*Jk7#J8($mJ=3jm5=9{^jPH z8mY8hbD{^}p$3(Vma^grD*EBQpZS^QLqkKen}7Kx;3Z@?Z`JniOrAtW(AU>L^Z4C} z7}R_y6pO>*M9PCpnKy6i?Lcn{Ld`ycB3^y_hy9Kb*wBFgibgZtDCzv-*oWg_q2=k0 LbgMoS^7Fp|@p_6- diff --git a/widget/tree.go b/widget/tree.go index f9c3334636..dd2be6bf16 100644 --- a/widget/tree.go +++ b/widget/tree.go @@ -667,21 +667,18 @@ type treeNodeRenderer struct { } func (r *treeNodeRenderer) Layout(size fyne.Size) { - x := float32(0) + x := theme.Padding() + r.treeNode.Indent() y := float32(0) r.background.Resize(size) - h := size.Height - 2*theme.Padding() - x += theme.Padding() + r.treeNode.Indent() - y += theme.Padding() if r.treeNode.icon != nil { r.treeNode.icon.Move(fyne.NewPos(x, y)) - r.treeNode.icon.Resize(fyne.NewSize(theme.IconInlineSize(), h)) + r.treeNode.icon.Resize(fyne.NewSize(theme.IconInlineSize(), size.Height)) } x += theme.IconInlineSize() x += theme.Padding() if r.treeNode.content != nil { r.treeNode.content.Move(fyne.NewPos(x, y)) - r.treeNode.content.Resize(fyne.NewSize(size.Width-x-theme.Padding(), h)) + r.treeNode.content.Resize(fyne.NewSize(size.Width-x, size.Height)) } } @@ -689,10 +686,8 @@ func (r *treeNodeRenderer) MinSize() (min fyne.Size) { if r.treeNode.content != nil { min = r.treeNode.content.MinSize() } - min.Width += theme.Padding() + r.treeNode.Indent() + theme.IconInlineSize() - min.Width += 2 * theme.Padding() + min.Width += theme.Padding()*2 + r.treeNode.Indent() + theme.IconInlineSize() min.Height = fyne.Max(min.Height, theme.IconInlineSize()) - min.Height += 2 * theme.Padding() return } diff --git a/widget/tree_internal_test.go b/widget/tree_internal_test.go index 7c73782f29..3196e7cb11 100644 --- a/widget/tree_internal_test.go +++ b/widget/tree_internal_test.go @@ -17,7 +17,6 @@ import ( var ( treeSize = float32(200) templateMinSize = NewLabel("Template Object").MinSize() - doublePadding = 2 * theme.Padding() ) func indentation() float32 { @@ -195,8 +194,8 @@ func TestTree_Resize(t *testing.T) { tree.OpenBranch("B") separatorThickness := theme.SeparatorThicknessSize() - width := templateMinSize.Width + indentation() + theme.IconInlineSize() + doublePadding + theme.Padding() - height := (fyne.Max(templateMinSize.Height, theme.IconInlineSize())+doublePadding)*3 + separatorThickness*2 + width := templateMinSize.Width + indentation() + theme.IconInlineSize() + theme.Padding()*2 + height := fyne.Max(templateMinSize.Height, theme.IconInlineSize())*3 + separatorThickness*2 assertTreeContentMinSize(t, tree, fyne.NewSize(width, height)) a := getLeaf(t, tree, "A") @@ -206,17 +205,17 @@ func TestTree_Resize(t *testing.T) { assert.Equal(t, float32(0), a.Position().X) assert.Equal(t, float32(0), a.Position().Y) assert.Equal(t, treeSize, a.Size().Width) - assert.Equal(t, fyne.Max(templateMinSize.Height, theme.IconInlineSize())+doublePadding, a.Size().Height) + assert.Equal(t, fyne.Max(templateMinSize.Height, theme.IconInlineSize()), a.Size().Height) assert.Equal(t, float32(0), b.Position().X) - assert.Equal(t, fyne.Max(templateMinSize.Height, theme.IconInlineSize())+doublePadding+separatorThickness, b.Position().Y) + assert.Equal(t, fyne.Max(templateMinSize.Height, theme.IconInlineSize())+separatorThickness, b.Position().Y) assert.Equal(t, treeSize, b.Size().Width) - assert.Equal(t, fyne.Max(templateMinSize.Height, theme.IconInlineSize())+doublePadding, b.Size().Height) + assert.Equal(t, fyne.Max(templateMinSize.Height, theme.IconInlineSize()), b.Size().Height) assert.Equal(t, float32(0), c.Position().X) - assert.Equal(t, 2*(fyne.Max(templateMinSize.Height, theme.IconInlineSize())+doublePadding+separatorThickness), c.Position().Y) + assert.Equal(t, 2*(fyne.Max(templateMinSize.Height, theme.IconInlineSize())+separatorThickness), c.Position().Y) assert.Equal(t, treeSize, c.Size().Width) - assert.Equal(t, fyne.Max(templateMinSize.Height, theme.IconInlineSize())+doublePadding, c.Size().Height) + assert.Equal(t, fyne.Max(templateMinSize.Height, theme.IconInlineSize()), c.Size().Height) } func TestTree_MinSize(t *testing.T) { @@ -236,17 +235,17 @@ func TestTree_MinSize(t *testing.T) { "small": { fyne.NewSize(1, 1), fyne.NewSize(1, 1), - fyne.NewSize(fyne.Max(1+3*theme.Padding()+theme.IconInlineSize(), float32(32)), float32(32)), + fyne.NewSize(fyne.Max(1+2*theme.Padding()+theme.IconInlineSize(), float32(32)), float32(32)), }, "large-leaf": { fyne.NewSize(100, 100), fyne.NewSize(1, 1), - fyne.NewSize(100+3*theme.Padding()+theme.IconInlineSize(), 100+2*theme.Padding()), + fyne.NewSize(100+2*theme.Padding()+theme.IconInlineSize(), 100), }, "large-branch": { fyne.NewSize(1, 1), fyne.NewSize(100, 100), - fyne.NewSize(100+3*theme.Padding()+theme.IconInlineSize(), 100+2*theme.Padding()), + fyne.NewSize(100+2*theme.Padding()+theme.IconInlineSize(), 100), }, } { t.Run(name, func(t *testing.T) { @@ -279,8 +278,8 @@ func TestTree_MinSize(t *testing.T) { }, }, want: fyne.NewSize( - templateMinSize.Width+theme.Padding()+theme.IconInlineSize()+doublePadding, - fyne.Max(templateMinSize.Height, theme.IconInlineSize())+doublePadding, + templateMinSize.Width+2*theme.Padding()+theme.IconInlineSize(), + fyne.Max(templateMinSize.Height, theme.IconInlineSize()), ), }, "single_item_opened": { @@ -291,8 +290,8 @@ func TestTree_MinSize(t *testing.T) { }, opened: []string{"A"}, want: fyne.NewSize( - templateMinSize.Width+indentation()+theme.Padding()+theme.IconInlineSize()+doublePadding, - (fyne.Max(templateMinSize.Height, theme.IconInlineSize())+doublePadding)*2+separatorThickness, + templateMinSize.Width+indentation()+2*theme.Padding()+theme.IconInlineSize(), + (fyne.Max(templateMinSize.Height, theme.IconInlineSize()))*2+separatorThickness, ), }, "multiple_items": { @@ -308,8 +307,8 @@ func TestTree_MinSize(t *testing.T) { }, }, want: fyne.NewSize( - templateMinSize.Width+theme.Padding()+theme.IconInlineSize()+doublePadding, - (fyne.Max(templateMinSize.Height, theme.IconInlineSize())+doublePadding)*2+separatorThickness, + templateMinSize.Width+2*theme.Padding()+theme.IconInlineSize(), + (fyne.Max(templateMinSize.Height, theme.IconInlineSize()))*2+separatorThickness, ), }, "multiple_items_opened": { @@ -326,8 +325,8 @@ func TestTree_MinSize(t *testing.T) { }, opened: []string{"A", "B", "C"}, want: fyne.NewSize( - templateMinSize.Width+2*indentation()+doublePadding+theme.IconInlineSize()+theme.Padding(), - (fyne.Max(templateMinSize.Height, theme.IconInlineSize())+doublePadding)*6+(5*separatorThickness), + templateMinSize.Width+2*indentation()+theme.IconInlineSize()+2*theme.Padding(), + (fyne.Max(templateMinSize.Height, theme.IconInlineSize()))*6+(5*separatorThickness), ), }, } {