New Xojo controls

I was pleased to find out (at XDC) that Xojo is adding some long awaited controls, such as Popovers, sidebars, Big Sur Toolbar support and a new grid control.

However I was very disappointed to learn that I’d have to change my projects to use DesktopControls to get these new controls. This immediately nullified any excitement.

I do hope that we don’t have to change our projects to use the new controls, but I’d also like to know how many others feel the same, perhaps this information would be useful to Xojo, especially in encouraging long time users to renew.

Would you change your projects to adopt DesktopControls to get these new controls?

  • No
  • Yes
  • Already have changed my projects
  • Maybe

0 voters

Please be honest when choosing your answer.

I’m sorry, what do Yes, No and Maybe mean in this context?

1 Like

I cannot update the wording now, hopefully the below will help explain it better.

  • Yes, I will change my projects to DesktopControls to get the new controls.
  • No, I won’t change my projects to DesktopControls, so I forgo the new controls.
  • Already changed my projects to DesktopControls.
  • Maybe - I’ll wait and see before I decide.
1 Like

I’m waiting the stabilization of the new Desktop Controls for months since they were introduced, because all the time we find bugs on them, as those recent ones for example.

Once I start trusting on them I’ll jump in without restrictions, right now, only for new projects.


Xojo already said they are not adding new features nor fixes to the “old” controls or API1…

It is a shame that they are not thinking on its customers. Expecting that everyone take the time and effor to rewrite your proyects to use the “new” controls in exchange for little to no benefit is mindblowing.

“New” controls that are the same just with new class names and more bugs, just to make posible the _ of renaming events… Not inspiring to jump on it.

Once released, the datetime picker took more than a year to be usable so… No rush anyway.


Make sure you answer the poll.

what is missing at xojo is HStack / VStack / Spacer (Apple->XCode / SwiftUI)
ScrollView V / H
min/max size of a Control


@MarkusR : Please explain with full words what you mean.

the context was new xojo controls (or Xojo is adding some long awaited controls)
you have a mac, open xcode new app project
use hstack and vstack in the view :wink: it stack controls automatically.
ScrollView wrap a scroll area around controls automatically.
nice features for the UI, it make the development easier and save time.
i made a kanban board in xojo and know why this is missing :slight_smile:

Sigh… what are hstack and vstack? ScrollViews are available.


scrollview? not in my 2021.31, or do you mean scrollbar?
example of stack
would make a title bar with 3 controls horizontal
below 3 controls vertical.

or they have @ViewBuilder above a method which return a view.
similar to container controls.

func headView() → some View {
HStack {
Button(“Hallo”, doSomething())
Button(“Hallo”, doSomething())
Button(“Hallo”, doSomething())
you can use

I could swear that you are an engineer. You write words but I haven’t a clue what you mean.

Scrollview: Monkeybread Xojo plugin - NSScrollViewMBS class

I still haven’t a clue what hstack and vstack are. h = horizontal and v for vertical. And then you have multiple containers - like in Xojo? Or you use the containers in a listbox?

1 Like

Xojo really needs a scrollview. But it wasn’t on their list.

Most 3rd Party scrollviews interfere with the Xojo view hierarchy and this causes problems when you try to be clever.

1 Like

I think we can’t ask Xojo to correct API2 bug, add features to API2, make Android and update IOS and in the same time update old API1.
But it’s true, I already spent days to update all my projects to the new API.

Personally, I try to update to new API 2 when possible. Only 2 big project stays in old API.

1 Like

Will you update AppKit to API2 ?

1 Like

A rather genuine question arise to my mind in the night…

What is new in the Desktop Controls ?

1 Like

My problem is I have a lot of projects that use “old” controls and lot of them are shared between the projects. If I will be in condition to change the controls to the new ones, I have to work around two/three weeks to renew all projects, losing working (and paid) time! If I decide to convert to API2 one of that projects, I must to convert all my projects!
So, for now, I use new controls only for new project, and, where possible, recoding the shared classes and controls to be useful in the new jobs.
So, for now, I answered “no” to this survey.

1 Like

Nothing stops you having new and old versions of containers, classes, etc. You add the new ones to a project and then do the conversion as a gradual process. My first step having made a new version of myControl was in the project to rename the old one and its instances as myControlOLD, to ensure no name conflict. Then add the new version and changes the instances one by one. When all are changed, remove the OLD version.


This is a nice approach. So we can do the conversion step by step.