TPageControl and TTabControl currently have some grave bugs in their implementation for gtk2, in ways that make them basically unusable for my current projects. Could anyone here help me work around them or fixing them?
TPageControl has a bug where contents nested in the tabs end up overlapping with the tab buttons, making them un-clickable, thus preventing any tab change. I've documented this the best I could on GitLab
here and
here.
TTabControl has its own issues where any setting that adjusts its size to its containing parent (e.g. by setting Align to anything but alNone, through Anchors, or by adjusting its size manually through the OnChangeBounds event of the parent) leads to a ChangeBounds loop, thus crashing the project - sometimes even in the editor. I've also documented this on GitLab
here - only with a TScrollBox at the time, but I've run into the same issues with a TGroupBox and a TPanel since.
As far as I could tell from a bit of investigating, this might be caused by some implementation of GetLogicalClientRect which returns a bigger rect than the actual size of the client, thus forcing the parent to expand in response, which then leads the children to adjust again.
Either way, while I'm still searching for possible solutions, I'm running out of ideas fast and coming close to just manually building an alternative to the built-in tab systems altogether, e.g. by using a TComboBox, or creating a row of TButtons to select pages from a notebook instead.
Any ideas how I could avoid having to do that?