Community
Participate
Working Groups
Many errors related to Table and Tree size and packing of columns are demonstrated by the included snippets and screenshots. Table #1 with no items, 5 columns packed expected: height = header height, width = sum of packed columns actual 3.10: height = 1 pixel too much, fixed after resize actual 3.22: headers not drawn Table #2 with no items, 5 columns width=0 expected: height = header height, width = 0 actual 3.10: width = 64 actual 3.22: width = 64 Table #3 with no items, 5 columns width=100 expected: height = header height, width = 500 actual 3.10: all OK actual 3.22: headers not drawn Table #4 with 5 items, 5 columns width=100 expected: height = header height + 5 x item height, width = 500 actual 3.10: height = 5 x item height, fixed after resize actual 3.22: height = 5 x item height, fixed after resize Table #5 with 5 items, 5 columns packed expected: height = header height + 5 x item height, width = 500 actual 3.10: height = 5 x item height, fixed after resize actual 3.22: height = 5 x item height, fixed after resize Shell with 5 tables, packed expected: height = sum of children heights, width = max of children widths actual 3.10: height is more than what is drawn actual 3.22: height is more than what is drawn Tree #1 with no items, 5 columns packed expected: height = header height, width = sum of packed columns actual 3.10: size = 64x64 actual 3.22: size = 64x64 Tree #2 with no items, 5 columns width=0 expected: height = header height, width = 0 actual 3.10: size = 64x64 actual 3.22: size = 64x64 Tree #3 with no items, 5 columns width=100 expected: height = header height, width = 500 actual 3.10: height = 64, fixed after resize actual 3.22: height = 64, fixed after resize but headers no longer drawn Tree #4 with 5 items, 5 columns width=100 expected: height = header height + 5 x item height, width = 500 actual 3.10: height = 5 x item height, fixed after resize actual 3.22: height = 5 x item height, fixed after resize Tree #5 with 5 items, 5 columns packed expected: height = header height + 5 x item height, width = 500 actual 3.10: height = 5 x item height, fixed after resize, pack ignores header actual 3.22: height = 5 x item height, fixed after resize, pack ignores header Shell with 5 trees, packed expected: height = sum of children heights, width = max of children widths actual 3.10: OK, height is equal to what is drawn actual 3.22: OK, height is equal to what is drawn
Created attachment 278303 [details] Snippet for Table
Created attachment 278304 [details] Snippet for Tree
Created attachment 278305 [details] Screenshot for GTK 3.10.8
Created attachment 278306 [details] Screenshot for GTK 3.22.30
More errors just noticed: Table #1 with no items, 5 columns packed actual 3.10: pack slightly off for column 0 Table #5 with 5 items, 5 columns packed actual 3.10: pack slightly off for column 0 Tree #4 with 5 items, 5 columns width=100 actual 3.10: column 0 alignment = SWT.LEFT, expected SWT.CENTER actual 3.22: column 0 alignment = SWT.LEFT, expected SWT.CENTER
Which Ubuntu(s) was used to test this? Which desktop environment and GTK theme? I can reproduce some of these, I'll post a detailed write up either later today or tomorrow.
(In reply to Patrick Tasse from comment #0) > Many errors related to Table and Tree size and packing of columns are > demonstrated by the included snippets and screenshots. Just to preface, my results are all on GTK3.24/Fedora 29. > Table #1 with no items, 5 columns packed > expected: height = header height, width = sum of packed columns > actual 3.10: height = 1 pixel too much, fixed after resize > actual 3.22: headers not drawn I can't reproduce this, the headers draw perfectly fine for me. > Table #2 with no items, 5 columns width=0 > expected: height = header height, width = 0 > actual 3.10: width = 64 > actual 3.22: width = 64 Reproducible. Is the header supposed to be shown here? I just have a small yellow area like in your screenshot. > Table #3 with no items, 5 columns width=100 > expected: height = header height, width = 500 > actual 3.10: all OK > actual 3.22: headers not drawn Not reproducible, same case as table #1. > Table #4 with 5 items, 5 columns width=100 > expected: height = header height + 5 x item height, width = 500 > actual 3.10: height = 5 x item height, fixed after resize > actual 3.22: height = 5 x item height, fixed after resize Reproducible. > Table #5 with 5 items, 5 columns packed > expected: height = header height + 5 x item height, width = 500 > actual 3.10: height = 5 x item height, fixed after resize > actual 3.22: height = 5 x item height, fixed after resize Reproducible. > Shell with 5 tables, packed > expected: height = sum of children heights, width = max of children widths > actual 3.10: height is more than what is drawn > actual 3.22: height is more than what is drawn Reproducible. > Tree #1 with no items, 5 columns packed > expected: height = header height, width = sum of packed columns > actual 3.10: size = 64x64 > actual 3.22: size = 64x64 Reproducible. Again, should a header be drawn here? > Tree #2 with no items, 5 columns width=0 > expected: height = header height, width = 0 > actual 3.10: size = 64x64 > actual 3.22: size = 64x64 Reproducible. > Tree #3 with no items, 5 columns width=100 > expected: height = header height, width = 500 > actual 3.10: height = 64, fixed after resize > actual 3.22: height = 64, fixed after resize but headers no longer drawn Can't reproduce the lack of headers, but everything else reproduces. > Tree #4 with 5 items, 5 columns width=100 > expected: height = header height + 5 x item height, width = 500 > actual 3.10: height = 5 x item height, fixed after resize > actual 3.22: height = 5 x item height, fixed after resize Reproducible. > Tree #5 with 5 items, 5 columns packed > expected: height = header height + 5 x item height, width = 500 > actual 3.10: height = 5 x item height, fixed after resize, pack ignores > header > actual 3.22: height = 5 x item height, fixed after resize, pack ignores > header Reproducible. > Shell with 5 trees, packed > expected: height = sum of children heights, width = max of children widths > actual 3.10: OK, height is equal to what is drawn > actual 3.22: OK, height is equal to what is drawn Same here. (In reply to Patrick Tasse from comment #5) > More errors just noticed: > > Table #1 with no items, 5 columns packed > actual 3.10: pack slightly off for column 0 > > Table #5 with 5 items, 5 columns packed > actual 3.10: pack slightly off for column 0 These are 3.10 only so I can't comment. > Tree #4 with 5 items, 5 columns width=100 > actual 3.10: column 0 alignment = SWT.LEFT, expected SWT.CENTER > actual 3.22: column 0 alignment = SWT.LEFT, expected SWT.CENTER Reproducible.
gtk 3.10.8 : Ubuntu 14.04, gnome, Ambiance gtk 3.22.30: Ubuntu 18.04, gnome, Ambiance
(In reply to Eric Williams from comment #7) > > Table #2 with no items, 5 columns width=0 > > expected: height = header height, width = 0 > > actual 3.10: width = 64 > > actual 3.22: width = 64 > > Reproducible. Is the header supposed to be shown here? I just have a small > yellow area like in your screenshot. I would expect the table to have zero width, I'm not sure if a widget with no width can still have a height? It's not really visible. I tried with Composite, setting size to (0,0), (100,0) and (0,100), all three were drawn with size (0,0). > > Tree #1 with no items, 5 columns packed > > expected: height = header height, width = sum of packed columns > > actual 3.10: size = 64x64 > > actual 3.22: size = 64x64 > > Reproducible. Again, should a header be drawn here? I think so, I expected it to look like Table #1 on gtk 3.10, but probably it is not drawn because the pack ignores the header text and sets column widths to zero. If that was the correct packing behaviour, I would expect tree width to be zero, not 64.
It just occurred to me that we can probably track the header issues in bug 541427.
Gerrit change https://git.eclipse.org/r/146886 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=133ff2c44262645cab8b617b0cf983f04cad10ed
(In reply to Eclipse Genie from comment #11) > Gerrit change https://git.eclipse.org/r/146886 was merged to [master]. > Commit: > http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/ > ?id=133ff2c44262645cab8b617b0cf983f04cad10ed Tree fixes are in master now, will address the Table issues next week.
New Gerrit change created: https://git.eclipse.org/r/147203
Just noticed that this is not fixed: Tree #4 with 5 items, 5 columns width=100 actual 3.22: column 0 alignment = SWT.LEFT, expected SWT.CENTER
(In reply to Patrick Tasse from comment #14) > Just noticed that this is not fixed: > > Tree #4 with 5 items, 5 columns width=100 > actual 3.22: column 0 alignment = SWT.LEFT, expected SWT.CENTER Let's track that separately just for the sake of a clean history. Please open a new ticket for the alignment issues, thanks!
Gerrit change https://git.eclipse.org/r/147203 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=c25bd073db68c302b4c2ec26b608ed1856ea4e6e
(In reply to Eclipse Genie from comment #16) > Gerrit change https://git.eclipse.org/r/147203 was merged to [master]. > Commit: > http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/ > ?id=c25bd073db68c302b4c2ec26b608ed1856ea4e6e Table patch is in master now. Thanks for the detailed bug report and snippets!
Verified in I20190820-0600.