I finally had a chance to install Xojo 2017R3 to see if the GUI quirks on the Raspberry Pi have been ironed out.
Here’s a screen capture of my code compiled with Xojo 2017R1:
And here’s a screen capture of my code compiled with Xojo 2017R3:
It appears that the font issues haven’t been resolved yet. I can live with the new way the buttons are rendered but I really need to have control over the font sizes and weights. This application runs on a 5" touch-screen in the dashboard of a car. It is touch-screen only (no keyboard or mouse). Losing control of the font sizes and weights means that the text is too small to be easily read at a glance. This is unusable and potentially dangerous in an automotive environment.
I have another commercially distributed application that runs on a 7" touch-screen. It also requires large fonts for readability.
It looks like I’m stuck with Xojo 2017R1 until this is addressed, which is too bad as I’d like to get the benefit of the other bug fixes and enhancements made in later versions of Xojo.
I found on one of our Linux projects when I swapped out the IDE design time controls for Canvases and did the drawing myself (via code) that the UI became consistent between the platforms, update/refresh issues went away, and things like alignment and sizing fixed themselves.
For custom interface design on Linux I highly recommend drawing it yourself, as much of a huge UI violation as that is. It shouldn’t be much of an issue for you though, your interface isn’t trying to interact with assistive devices in a car (I would hope…)
I’m using the standard controls provided by Xojo: Labels, BevelButtons, TextBoxes etc.
I get what you’re saying about creating your own controls. I suppose that by doing so, you can insure that the GUI appears the same across all supported platforms. But in my case I only need this program to run on a Raspberry Pi. I’m also more than a little reluctant to spend the time needed to create fully functional replacement controls when the native ones will suffice (if they worked… which they do under earlier versions of Xojo)
What did you do to replace controls such as the Label control? Did you render your own text on a canvas control for that too? What about textboxes where you have to support text editing and cut and paste?
Hi Greg, in regards to 2017r3, it’s the TextSize that get’s ignored - but works great on 2018r1b15.
Wes, I’m traveling right now but when I get back I’ll be happy to see if 2018r1b15 addresses the issues you’re having (51795, 51796). Are you able to past a screenshot in this thread, showing the RoundedRectangle?
Here’s what the RoundedRectangle control looks like when displayed on a Raspberry Pi with Raspbian:
And here’s what the same RoundedRectangle control looks like when displayed on Windows:
Create a RoundRectangle on a window.
Set BorderWidth = 16
Set OvalWidth = 64
Set OvalHeight = 64
(The problem is easier to see when the BorderWidth, OvalWidth and OvalHeight are set to large values.)
The roundedrectangle should be rendered within the dimensions set by the roundedrectangle’s width and height properties. Instead it is rendered too large, which causes its outer perimeter to be clipped.
It looks like the dimensions of the roundedrectangle are not being adjusted downward as needed to account for the size of the borderwidth property.
I haven’t found a good combination for matching the BorderWidth, OvalWidth, and OvalHeight to confine the FillColor to not bleed. For my project this isn’t an issue - but perhaps for Wes (on this thread) it may be. However thanks for the tip Antonio.