For those who use the MBS plugins or are considering them:
I’ve written a set of wrapper classes to make the NSTableView, which is Apple’s native listbox implementation, compatible to use as a replacement for the Listbox (=TableView) class.
The advantage of using Apple’s native TableView over Xojo’s own Listbox is that it looks better (i.e. it conforms to OSX’s other native controls’ appearance) and also does a few things better, especially in regards to resizing multi-column lists, or to handling multi-selection lists.
Not everything can be emulated, so for now it’s only working for “flat” (i.e. non-hierarchical) lists, and there’s no custom CellPaint handlers (though, in many cases, where you only need the custom paint events to add color to your cells, this can be solved with a new Style property now). There’s also no images nor checkboxes, yet.
To try it out, download the most recent beta from https://www.monkeybreadsoftware.de/xojo/download/plugin/Prerelease/
If you don’t want to load all plugins, here’s a list that you will probably need (or the Xojo plugins equivalent):
[quote]MBS Real Studio Cocoa Plugin.rbx
MBS Real Studio CocoaBase Plugin.rbx
MBS Real Studio CocoaControls Plugin.rbx
MBS Real Studio Leopard Plugin.rbx
MBS Real Studio MacOSX Plugin.rbx
MBS Real Studio MacOSXCF Plugin.rbx
MBS Real Studio MacOSXCG Plugin.rbx
MBS Real Studio Main Plugin.rbx
MBS Real Studio Util Plugin.rbx[/quote]
Look inside Examples / for Cocoa Controls. Run the “ListBox TableView.rbp”. It’ll show two listboxes: The upper one is based on my “ListBoxTV” class, the other on Xojo’s original class. You can see how they behave. You may also note a few differences.
See also the Notes section, explaining a few details.
I am working with Christian to enable more features, such as hierarchical lists.
But first, I like to have some feedback from you. If you’ve tried it out, let me know if you find it useful for your own use, yet, or why you don’t, i.e. what missing. I can’t make every standard Listbox feature work, and I primarily implement those that I need myself. If you want more, communicate it, and I’ll see what can be done.