View Issue Details

IDProjectCategoryView StatusLast Update
0036942LazarusWidgetsetpublic2020-04-24 18:12
ReporterChris Rorden Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
PlatformRyzen 3900XOSUbuntu 
Product Version2.1 (SVN) 
Summary0036942: GTK3: Anchor autosizing
DescriptionAnton's recent GTK3 patches have made huge strides in usability for many applications.

I note a few outstanding issues. These can be seen with my MRIcroGL github project, but I provide a simpler project below to demonstrate:
 
1. TSpinEdit spinner width ignored for anchoring (e.g. "color" button should be to the left of the "width" spin edit.
2. Button size not accurate (note overlap for L/A/P/R buttons, though note improved if buttons have AutoSize := true
3. Toggling visibility of components can lead to errors: Press the "Options" button a few times to show/hide boxes: not that the "Lines" and "Cutout" group boxes overlap. This is fixed if the user interactively resizes the form. Perhaps hiding/showing components requires some resize/refresh call.

Note: This issue is related to and extends issue 0036826 with a better example. If that issue is set to fixed, I will close it.

TagsNo tags attached.
Fixed in Revision
LazTarget
WidgetsetGTK 3
Attached Files

Relationships

related to 0036826 new GTK3 AutoSize TCheckListBox 

Activities

Chris Rorden

2020-04-21 13:38

reporter  

overlap.png (40,664 bytes)   
overlap.png (40,664 bytes)   
overlap2.png (44,421 bytes)   
overlap2.png (44,421 bytes)   
gtk3_autosize.zip (113,660 bytes)

Chris Rorden

2020-04-21 13:48

reporter   ~0122314

Another strange and perhaps related issue in this project: when the gtk3 project first launches, the TTrackbars are frozen - the user can not move their position. Resizing the form allows the user to interact with these controls normally.

Anton Kavalenka

2020-04-21 14:03

reporter   ~0122317

Last edited: 2020-04-21 14:05

View 3 revisions

About frozen trackbars - it looks like spinbuttons inside the gropbox think they are occupying the same places as trackbar.
I my case the situation is even worse.
See the spinbuttons (top-right corner), which have to be inside groupbox. Btw - they are handling mouse clicks, and update edits.

Looks like GTK3 Fixed widget (which is used inside TGroupBox) does not care about child controls.

Chris Rorden

2020-04-24 18:12

reporter   ~0122385

I do hope you can resolve this. Thanks to your work (and others), a lot of GTK3 now works with Lazarus. But it is unclear how some of these details will get addressed. Your issue sounds like this:

https://blog.gtk.org/2017/04/25/widget-hierarchies-in-gtk-4-0/
"complicated widgets in GTK+3 which don’t inherit from GtkContainer, e.g. GtkSpinButton or GtkSwitch. These never have real GtkWidget children. Consider, for example, the two clickable areas in a GtkSpinButton. I’m not calling them “buttons” here for a reason, since in GTK+3, they are not actual GtkButton instances, as GtkSpinButton is not a GtkContainer. Instead, GtkSpinButton has to work around that fact, and create two GdkWindows for the up/down areas and then render two icons in there"

Issue History

Date Modified Username Field Change
2020-04-21 13:38 Chris Rorden New Issue
2020-04-21 13:38 Chris Rorden File Added: overlap.png
2020-04-21 13:38 Chris Rorden File Added: overlap2.png
2020-04-21 13:38 Chris Rorden File Added: gtk3_autosize.zip
2020-04-21 13:48 Chris Rorden Note Added: 0122314
2020-04-21 14:03 Anton Kavalenka Note Added: 0122317
2020-04-21 14:03 Anton Kavalenka File Added: Здымак экрана, 2020-04-21 15-01-13.png
2020-04-21 14:05 Anton Kavalenka Note Edited: 0122317 View Revisions
2020-04-21 14:05 Anton Kavalenka Note Edited: 0122317 View Revisions
2020-04-21 16:26 Juha Manninen Relationship added related to 0036826
2020-04-24 18:12 Chris Rorden Note Added: 0122385