Desktop listbox?

I thought I was dreaming as I saw listbox is deprecated and there is now a DesktopListbox … what about an AppleListbox, WindowsListBox, LinuxListbox ? I prefer a CovidListbox !!

1 Like

Sure, why not, if the idea is just look “modern” by renaming things instead of real improvement, that is a great option.

They say it is for better compatibility but now with WebListbox, MobileListbox and DesktopListbox… seems as incompatible as ever but with new event names :roll_eyes:

It’s more about consistency. Why should the three classes be Listbox, WebListbox, and MobileListbox? One of those things is not like the other.

The reason is simple: legacy. Yes, the old name is inconsistent with the rest of the framework. There’s no way the original devs could have predicted the need to prefix their control names. But 20 years of legacy code and breaking backwards compatibility isn’t worth throwing away just to pretend the past isn’t prologue.

I understand the motivation, and it’s the right decision in a vacuum. But Xojo doesn’t exist in a vacuum. I just don’t think it was worth it.


IMO, it was pointless.
Listbox is already <> WebListbox

Sadly, what this achieves is to break even more old code and online examples /knowledge. And deters people from upgrading to newer Xojo versions, rather than encouraging it.

There’s no way the original devs could have predicted the need to prefix their control names.

‘Write once, deploy many’ implies that they should all have the same names, but varying capabilities on different platforms.


I can tell you without any doubt that such a thing was an impossibility. The reason I started the Web-prefixed classes is because there was no way to retrofit the desktop classes into a console project and give them web-specific functionality. Later Geoff even pushed us to find a way, which I told him wasn’t going to happen. Given that the new classes are not universal, I assume that conclusion was accepted as reality.

If Xojo were started from scratch today, maybe that would have been a possibility. Even then, I’d say it’s a big maybe.

Namespacing with Using and some autocomplete magic were the original idea to “solve” the problem, but we know that didn’t really work out either.

The fact of the matter is there was (and still is) no good option. Every option sucked in some way. I personally think the wrong option was chosen, but what’s done is done.


Using libraries for development would have solved many problems I guess and we could have libraries too for our application development, how great would that be !!
By the way, mixing development code of different operating systems is not a good way - IMHO.

Where you think you’re done, then it comes back again with a slight alteration, hmmm not far from the mark there :wink:

Even more so now, I guess everyone’s first response to a question will be which version are you using :frowning:

And the examples (for DesktopListBox) use: