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?
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.
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.
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. Thats 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 dont look like a complete ass for not being able to deliver what I promised? I dont 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?
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)
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
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.