New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
wxDataViewCustomRenderer size not applied on wxGTK in some cases. #24227
Comments
Thanks, I can indeed see this, will check. |
First observations are that neither using And looking at GTK code here it seems that it always uses the minimum of the height we return and its pre-computed height. I don't see how can we avoid this... |
Maybe it's possible to override |
Thanks for the idea, I didn't know about this virtual function. But quickly testing this I see that Looking at GTK code more carefully, I see that the original height, limiting everything which happens afterwards, comes from * {
-GtkTreeView-expander-size: 30;
} in your I have really no idea how is this supposed to work. Does anyone know of a GTK application using |
btw, the effect can be seen in KiCad sometimes (https://forum.kicad.info/t/symbol-chooser-text-is-only-shown-half-line-height/49677) Even if we call |
Sorry, I still have no idea what to do about it. I'm starting to seriously consider stopping using the native control under GTK and using the generic version by default instead, notably because there is still no way to use the native one with many items and apparently never going to be. It's still possible that I'm missing something because it seems incredible for such an important control to be so broken, but I have no idea what. @paulcor What do you think of using the generic control in wxGTK by default? |
For our own application, we went to using the generic
I don't know much about diff --git a/samples/dataview/dataview.cpp b/samples/dataview/dataview.cpp
index c15f2b3ad4..0683fdb209 100644
--- a/samples/dataview/dataview.cpp
+++ b/samples/dataview/dataview.cpp
@@ -271,7 +271,7 @@ public:
virtual wxSize GetSize() const override
{
- return GetView()->FromDIP(wxSize(60, 20));
+ return GetView()->FromDIP(wxSize(60, 60));
}
virtual bool SetValue( const wxVariant &value ) override |
For me the deal breaker is #16680, this control simply can't be used with mailboxes containing 100,000 messages — when But, to return to this issue, you're right, changing the height does work. And now I'm extremely confused because I remember it not working for me, but not only it does in the sample now, but it also does in the provided example. I'm testing with the latest master but there haven't been any changes affecting this since a very long time and yet I don't see the problem any more, neither with Wayland nor X11. @dsa-t Do you still see it? |
|
See a minimal example:
minimal.cpp.txt
LIB_TREE_RENDERER
returns height 30 inGetSize()
, but cells are not sized to height 30 inRender()
.Instead, they seem to use height 16 (font: Ubuntu 10).
If DPI is changed in system settings (Appearance - Fonts - DPI - Custom DPI setting in Mint), then cells are updated to height 30, but only the ones that are visible.
If you scroll down, you can see other cells still with height 16.
wx is built with
DEBUG_RENDER_EXTENTS
on screenshots.Expected is for all cells to have height 30.
Initial state:
After changing DPI:
Scroll down:
Platform and version information
The text was updated successfully, but these errors were encountered: