Another stupid queston: libunwind and RPI

Hi. Again.

OK I have created (a crappy) GUI using Xojo, and I am

targeting RPI. I used a Bevel Button, and set the background
color to green. The problem is when I execute it on an RPI,
it just doesn’t look right. The background color is square,
and does not fill in the button as it does on the PC X86.
Is this normal? Am I missing a “set of you-should-know-that”
rules for crossing to Linux?

My over-all goal for Xojo is to be able to quickly and efficiently
develop GUI’s for the RPI. Is there a general guide of things
not to do when making GUI’s for RPI?

Please create a Feedback case and add a small sample project that demonstrates the issue.

1 Like

Don’t know if this may help:
https://forum.xojo.com/48126-gtk3-theming-modgtk3-resolves-layout-corruption-under-all-linux

Not your fault, that is the xojo way. I create like ten Feedback cases for bugs in raspbian, some of them were slowly fixed, some of them, like this exact bug (At least I think so for your desciption), was closed because according to xojo, “this is not a bug” <https://xojo.com/issue/52496>

So, if you decide to keep using xojo for raspberry, be prepared to create more custom controls and use of hacks to have a decent looking GUI.

OK here are pics of what it looks like in wn7 (correct) and on the RPI – unusable.
What am I missing?

http://www.mediafire.com/folder/ob7acwrt3ldra/xojo_fail

Sorry for the link, as I am too stupid to properly past pictures.
(I dont get how to use the “image” icon on this forum yet)

So, it looks like crap on the RPI, looks good on win7, and I have
a customer I promised a user interface 2 weeks ago… What to do??

Is Xojo just totally unusable as an RPI GUI tool or have I
(hopefully) missed some big detail?

—Lou

Lou - those are GTK control size artifacts, not a Xojo problem, because GTK3 has a very different idea of what a normal control base size should be. I’ve not tried it, but go to the Linux Thread and grab the modGTK3 module. This may sort the control sizing for you.

modGTK3 Conversation thread

[quote=445546:@Luigi Faustini]Is Xojo just totally unusable as an RPI GUI tool or have I
(hopefully) missed some big detail?[/quote]

Short xojo answer, Make your controls bigger. Long xojo excuse answer:

https://documentation.xojo.com/topics/user_interface/desktop/linux/gtk3_themes.html

Don’t be so bitter, Ivan - managing the look and layout using CSS for a GTK theme is a design of the GTK world. It’s not Xojo’s (or JavaFX, or wxWidgets) fault that there are so many variations on the desktop themes. At least we can manipulate them without needing to create a complete set of “#if TargetXXX” entries in the constructor or open event of every control to accomplish it like we did back before we had the GTK3 capabilities.

If you think that the Xojo method described in the User Guide is bad, you should try writing a GUI using GTK and C++ for the myriad of Linux desktops. To quote Randy Bachman - “B-B-B-Baby, you just ain’t seen n-nothing yet.”

I’m not bitter, I’m just being honest. If many other cross platform RAD software can create consistent apps on GTK3, win32, Cocoa, etc, blaming GTK3 as the only responsable is not really acurate. Yes is a pain to do manual adjustments with declares, and must be more difficult doing all in c++, but, to avoid all that is the point of a RAD isn it?

Whilst it would be useful if Xojo somehow bundled in the GTK3 module fix described by Albert into Linux apps for us, the solution for your particular problem is just to drop that module in to your project. That’s all you have to do and your issue will likely be fixed.

The Xojo IDE has this neat thing called templates. So why not create a project, add this to the app.open event handler then save the project as a binary project into your templates folder in the Xojo app and maybe call it PiTemplate? Now when you create a new Pi project just select the template as a starting point. You could maybe even share these templates here to help others.

I’m a windows developer so I have a folder external to program files where I have my templates. After installing a new version I simply copy a short-cut to that folder into the application templates folder

Ok, so for the new guy (me) what is a template? How do I get a decent GUI on the RPI By the end of today so that I don’t look like a complete ass for not being able to deliver what I promised? I don’t care if it is a GTK problem a Linux problem or a Xojo problem, I paid for a cross platform RAD GUI solution and this is very irritating. It does not deliver what was promised. The reality is I am over 2 1/2 thousand dollars into Xojo and it is completely useless as it sits for me. Not blaming anyone here, just expressing my frustration.

Pardon me if that invokes zero sympathy from me … you had a chance to use Xojo for FREE in order to determine if it would or would not work for you, and now you are complaining that you are $2,500.00 into it?

Not helping Dave, and not adding anything to getting issues solved. https://forum.xojo.com/46994-forum-etiquette-and-notices

Luigi, if you just spread your UI out a bit and don’t make everything so tight/close/small you might be able to get away without doing the extra work mentioned above.

A template is simply a project that is set up with some attributes code already that you can use to start a new project.
The New Project dialog already has several - for desktop, web, iOS, and console projects plus a few in the Templates entry in the New Project dialog. And you can add your own (see the Project Templates dir next to your copy of the Xojo executable)

see
http://documentation.xojo.com/getting_started/using_the_ide/introduction.html
http://documentation.xojo.com/getting_started/using_the_ide/project_types.html

If you havent already get the project from Bitbucket
In the left hand list click DOWNLOAD then click DOWNLOAD REPOSITORY
Unzip the download
Open that project in the unzipped result
The IDE is going to ask you to find the Build Automation item. Press Cancel and a new one will be created.
Eventually the project opens and says it could not find the Build Automation item. Press OK
COPY the ENTIRE GTK3 folder and all contents to your project (right click on the GTK3 folder and select “copy”)
PASTE into your project

Add the OPEN event to your apps App instance if it does not already exist
If it does make the first 3 lines

modGTK3.initGtkEntryFix
modGTK3.initGtkWidgetHeightFix
modGTK3.InitGlobalGTK3Style

Now retry your project on the Pi

EDITED to add references to Xojo documentation
EDIT : Here’s a prebuilt default desktop project that you can use to REPLACE the default desktop project Xojo creates by

  1. download
  2. navigate to the location of your copy of Xojo
  3. copy or move the downloaded “Default Desktop Project.xojo_binary_project” into the “Project Templates” folder
1 Like

Dave,
When I bought Xojo i did so BECAUSE the “free” version would not target RPI at the time. I played with the free windows version and thought “clunky, but good enough – and I must modernize.” It is my understanding that since then RPI has become part of the free version- wish it had been back then. I was also under the illusion that perhaps I should contribute to the effort financially because I believed in the mission of cross platform GUI development – and I was stupid enough to believe the writing on side-of-the-box…

Norman, Thank you. I will give it a try and report back.

Hi Luigi,

Is the client’s system using a small display or normal desktop display? If a small display, what is the screen size in pixels?

I’m not blaming GTK3, but rather praising it for providing this capability. And, to Xojo for using API logic that allows it to work.

Here’s a without and with modGTK difference for Pi:

Without:

With:

The only difference was adding the call to init the modGTK3 styling.

Here’s the project:
RPi Example Project