Native or Consistent

Xojo ?
No since it only have native controls
They’d have to write a whole new UI layer to make it so there could be a “consistent” look x-platform

I frequently use, create, edit, and compile my programs to work with large programs such as AutoCAD, reservoir engineering, petrochemistry, and other graphics intensive programs. The controls must be native for speed. Drawing custom drawn controls slows the computer down too much. A simulation compilation can be completed in 30 minutes with native controls, where it will take 24 hours with custom drawn controls.

These programs are not considered for the web since the programs will be too slow.

Well… mostly. (Listbox, anyone?)

why can’t xojo use the native listbox ???

1 Like

which begs the question… What native listbox? for macOS, I guess a listbox could be created from NSScrollView containing a NSTableView, with a boatload of support for the cell behaviour… (Which may or may not have been available when this started)

But I do not believe (corrent me if I’m wrong) that there is a Windows and Linux control that is close enough to allow a Listbox that could be coded across all platforms.

A Tableview in macOS can be multiple columns, but in iOS it is one column, the best you could do there is a collectionView

ah yeah I forget about that one

although I suppose they could swap that out or implement something native as an alternative

not so much cant as they dont
the listbox that exists today is a control that has evolved over 20 years or so and as such has functions that dont exist in any single native list or grid control
to do that with native controls would require some heavy rethinking or breaking the listbox into several controls

it would be a big redo or addition whichever way they did things

  • Disclosure triangle
  • PopUp Arrow
  • Bevel Button
  • Segmented Button
  • Up/Down Arrows
  • Line
  • Oval
  • Rectangle
  • Round Rectangle
  • Separator
  • Group Box
  • Progress Wheel
  • Listbox
  • ToolTip Class
  • The MessageDialog aberration

All this controls are NOT native and until recentrly, even the Label was a custom control, Text areas are not the correct Native control and look bad (in windows)

So, not sure why all the “Xojo is native” and should never use drawn controls :expressionless:

Ivan… for macOS most of those ARE native (not saying Xojo is implementing them that way)… But Bevel Button, Disclosure are variations of NSButton, UpDown is a native (don’t recall its true name) Line, Oval, Rect, RoundRect are nothing more that NSView with a Draw function. GroupBox is a NSView and Label, ProgressWheel is natvie, Listbox is not…

Again… not saying Xojo is implementing using the NSxxxx controls, but I do know for the Transpiler I am writing, this is exactly how I’m doing it…

Those should all be native (or using their native underpinnings) on macOS
Even bevel buttons were native on macOS at one time but are now deprecated (although there is an NSButton style for bevelbuttons)

Some, like Segmented controls, are native on one platform but not another
Line Oval Rectangle etc are something that could be easily replaced with a canvas and draw whatever
They’re not really “controls” in that sense

ToolTip is, or was, native even on Windows - it definitely has a class for this
UpDown arrows definitely are native (see that page I linked to and there’s the up down control)

You should be able to inspect most of a Xojo app in one of the debuggers MS provides to see what is an isnt (Spy++ maybe ?)

If / WHEN Xojo ever gets to supporting the Windows UI Library then there’s a bunch of other controls in there that will be “native”

NSTableView is a beast. But the MBS implementation works nicely in Xojo. It’s the only fast listbox for databases.

I have no idea. What is the command???
And i assume it isn’t cross platform.

Well, those have properties and respond to events, why are not controls? Xojo currently uses a canvas instead of a “Native” alternative like STATIC in windows.

Not really, and for years has being a borderless window with yellow background that dont even try to mimic the native look

There is a native option in windows but xojo decided to use another canvas controls

Sure, lots of canvas controls with the RB_Pane class name.

A canvas with drawline or draw oval accomplishes nearly the exact same
Sometimes they are preferable

It may not be any more - I dont know
I know I just recently implemented proper tool tips on Windows for a client using a bunch of declares
They exist so they could be native

Oh you might not be able to see what actual subclass of that they are then

I would love to get paid to make the listbox more macOS consistent, on the Mac of course. In fact, there’s a ton of stuff that I’d love Xojo to pay me to do to improve the development tool.

Fixing controls is only one aspect of what really needs to be done
But I hear you

so the tooltip is native but not cross platform.
Is there an equivalent for mac osx??

Not when the OS moves to a whole new UI framework. Hence why Xojo apps on Windows 10 look dated. I haven’t checked, but I bet many of the other non-native toolsets already look much more “native” than Xojo on Windows 10.

2 Likes

no wonder the same window app i create running on the windows server/windows 8/window 10 look slightly different

And I would absolutely love to pay you to do all of it. Unfortunately, I don’t own Xojo.

1 Like