The latest version of Xojo hit the internet this week. Release 3 has a number of important new features, some changes, and the usual assortment of big and small bug fixes. So let’s get to the highlights!
The flashiest new thing in Xojo is that it natively supports macOS 10.14 Mojave. This means that the entire IDE (as well as all of the peripheral apps like Feedback, Linqua, and the Remote Debug Stub) draws properly when the user has Dark Mode enabled in Mojave.
Perhaps it’s my older eyes the IDE seems very ‘light’ in color in Light Mode – meaning that there’s a lot of white and grey and the contrast isn’t nearly as prominent as it was in R2 and earlier. Where some buttons have a slight 3D effect the buttons in R3 are flat with no grey background. Funny enough, I think the contrast of the IDE in Dark Mode is better.
As a long-time Mac user I’m not entirely sold on Dark Mode. Some of that is change and that I’m just not used to it yet. In some respects I feel like I’m reverting to my college PC where light text on a black screen was the norm. I guess the more things change the more they stay the same.
A new property, SupportsDarkMode was added to the Build Properties section to build apps with Dark Mode enabled. To help developers the application class has a new event named AppearanceChanged to let them know when the OS has switched between light and dark modes.
Labels, TextFields, and TextAreas running on Mojave will now use the automatic system colors to get the correct appearance on light and dark modes when text is test to opaque black (0, 0, 0, 255) and backgrounds set to opaque white (255, 255, 255, 255). In a similar fashion, FillColor, TextColor, and FrameColor now map to proper light/dark system colors.
Since there are many OS colors available than what Xojo provides natively, you might want to look at CSTrueColors by Ulrich Bogun at https://drive.google.com/open?id=1vg-sN8_7mz18zeu9XoRWZaBc8Tm-_Enb.
Currently Xojo does NOT support Windows dark mode but is looking into it. A Xojo blog post suggests that Microsoft has released several API’s for dark mode and another one is due in the near future.
Incremental compiling for LLVM/64-bit targets now works. The first run can still take some time but after that it should only compile changes. This should significantly reduce cycle times on debugging 64-bit applications.
In Windows Xojo updated the text rendering so that it matches Win32 controls. I’m just guessing but if Xojo ever moves away from Win32 controls the text rendering will have to change to match.
Windows is now using the native Win32 Label control. Overall drawing seems to be significantly faster with this change.
Among the changes is one that might affect a lot of legacy projects (we have a number of these) is that drawing directly to the Graphics property is no longer allowed. To be explicitly clear about the change this does not affect, in any way, the graphics parameters passed into a canvas or window Paint event, nor does it affect getting the Graphics object from a Picture object. This only affects the graphics *property* on Canvas and Windows classes. The fact that it’s continued to work for all this time says that it was definitely time to retire this ‘feature’.
There is also a list of 79 bug fixes. Some Windows, Mac, and Linux framework issues fixed. A couple of changes to MySQLCommunityServer and Postgres. SQLite was updated.
Xojo 2018 Release 3 isn’t just about Mojave dark mode. The 64-bit incremental compiling is a most welcome feature. The speed increases in Windows drawing is also well worth the upgrade. As always, please test your projects fully before releasing them into the wild.
What is your favorite new feature, change, or bug fix? Anything causing you problems? What are your thoughts on Dark Mode and the contrast of colors in the IDE?