What do people want from the Listbox Control

Don’t we had that, long time ago ?

Glad to read it.

Hope this technique opens new possibilities.

How about we create a repo on GitHub like folks did with the black window and @Mike Cotrone’s date time picker control. Then we could add all the features discussed above to a LB subclass. It sounds like all the features everyone wants exist in some shape or form but they all want pulling together into one control.

Column reordering! How could this discussion miss column reordering? :stuck_out_tongue_winking_eye:

Have written it myself, with grphical movement - about 75% done.
If someone is willing to be the master of the universe All-Doing-Listbox project, I’m willing to share that code.

What do you want to do? git hub it?

[quote]Fritz C. Aug 1
I want a Listbox Controller with different heights for the rows.

Row A should be 5 lines, Row B 2 lines, Row C 1 line, Row D7 lines.

At the moment all rows have the same height, and thats not pretty. :([/quote]

[quote]Christoph De Vocht Aug 1
Yes, the Listbox can be powerful but the biggest issue : its not a native control meaning it will look terrible on OS X 10.7 or higher.[/quote]

Im curious to know: those asking for a Native Listbox vs those asking for varying row heights… do native list boxes support varying height rows?

For Mac, UITableVIew allows it
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableView_Class/index.html#//apple_ref/occ/instp/UITableView/rowHeight

The main issue using such a complex control natively in all three platforms (soon 4) is to keep the relative simplicity brought by the current Listbox abstraction level, while giving the user the possibility to access the less common features of a rather intricate framework class.

I think Jim McKay’s Datagrid control is a good example of what could be achieved. See https://forum.xojo.com/12496-datagrid-demo-looking-for-feedback

The other issue with native controls is the cross platform compatibility. The current Listbox is perfectly cross platform. Achieving the same feat with Windows, Mac and Linux native controls may not be that easy. Given the challenges of 2015 like LLVM and 64 bit, I wonder if having a native Listbox is a reasonable expectation. Maybe third party tools like I mentioned above is not the real solution pending an hypothetical implementation in the future.

I don’t use git hub, but if someone would be willing to be the master of an “All-doing-Listbox” project I’m willing to share my code.

I would like a native listbox control, with correct scroll bounce on OS X - but I know that will never happen, because it needs to be cross platform.

Shame we can’t have 2 listbox controls - one native windows and one native OS X :frowning:

Remember Xojo’s strength and primary target market is X-platform coding… So then we would need at least 3, if not 4 desktop listboxes:

  1. X-platform
  2. OSX native
  3. Windows Native
  4. Linux "native’ (if such a thing exists!)

While sometimes it would be nice to have, I can live without a native listbox, but NOT with a powerful X-Platform one. Almost everything I do needs to be X-Platform.

The current x-Platfrom one look reasonably “at home” (which is not to say is the same as native) on each platform and that is good enough for my purposes. It would be a LOT of work to deal with separate listboxes for each platform when coding X-platform.

  • karen

This doesn’t necessarily need to be true. Just worked on a project this week that had completely different solutions to display PDF’s in desktop apps. Each platform solution resided in a ContainerControl and the app just used the one appropriate for that platform. So it is possible to take this approach.

One thing we did not do in that project was create a unified API so loading each platform specific control was specific to that platform. We passed in the data and the container code took over. I would think that with some work you might be able to come up with one - but I guess that depends on how far apart they are in terms of their own API.

[quote=160283:@Bob Keeney]One thing we did not do in that project was create a unified API so loading each platform specific control was specific to that platform. We passed in the data and the container code took over. I would think that with some work you might be able to come up with one - but I guess that depends on how far apart they are in terms of their own API.

[/quote]

The big thing is being able to do consistent custom behaviors between platforms. Almost very app I’ve written needs custom listbox behaviors… The app I’m work on now has 3 significantly different ones that don’t have behaviors not native to any of the platforms.

If I had to code them individually by platform the RAD would have largely been gone from X-Platform RAD.

So yes I could think of ways to do it, but it makes significantly more work and requires having be VERY familiar with the API (and the inevitable quirks) of each listbox to do that.

I’n not against introducing platform specific listboxes, but I am very against doing it AT THE EXPENSE maintenance and new features for an X-Platform one. the problem (as usual) is one of the limited resources of Xojo inc.

  • Karen