I’ve been looking at several interface design options and because of the amount and type of data I need to display, my options are limited. However, I’ve found an example of something I would like to try, or at least similar. I think it is using elements that belong to OSX itself (I cant think how to implement these in Xojo).
In the picture below, Im considering the 2 left most columns. The first is similar to what we see a lot in OS X, such as the Finder and several Apple apps. The second, which looks like a custom listbox design, is also seen in several OS X apps, particularly mail clients, but others as well.
Does anybody know of any examples which would allow me to implment something along these lines, plugins that would allow me to create them, or maybe code examples to call these from within OS X ?
Thankyou Bob, that looks exactly what Im looking for.
The second column, which I can see is a custom listbox would be an ideal approach because it has multiple lines in each row (I anticipate needing no more than 3), an in the case shown, the top line is obviously split into 2. Is this simply a case of using taller row heights and then drawing in between them to split them up ?
Edit : The authors website seems inaccessible for the fgsourcelist.
The 2nd listbox is indeed just a large row height and doing your own drawing in the CellTextPaint event.
It was for me too. I bought the package back when it was commercial. I can probably send you whatever documentation I have without violating any licensing agreements.
[quote=132158:@Bob Keeney]The 2nd listbox is indeed just a large row height and doing your own drawing in the CellTextPaint event.
It was for me too. I bought the package back when it was commercial. I can probably send you whatever documentation I have without violating any licensing agreements.[/quote]
I would appreciate the documentation or a link to it.
I started work on this https://github.com/shaosean-tk/UI due to the lack of a group container and the different examples out there having issues with the scrollbars… You design out your rows in a ContainerControl, assign the class interface and then add them to the group… You need to return TRUE from the MouseDown event and the group handles the MouseUp event (through AddHandler)… When a row is selected the group will set a property (custom or normal) called IsSelected to either true or false and you can handle what normally would be in the MouseUp event in there… I will upload an example later tonight when I get to work… If you need help, feel free to ask or if there are features that you want added, just let me know (I am building this for my program, but maybe others could use it too)
For the left one, it’s a NSSourceList, it’s on my list of things to get working in Xojo. If you use the NS control it will look right one sticks and adopt the ‘Vibrant’ style on Yosemite.
I was writing a tutorial, but realized I dislike writing tutorials so just made a screen capture video instead… Sorry about the wasted time in the middle, but Xojo glitched and would not allow me to add events to the button, so I needed to copy a button from another project…
When it happens, I usually just duplicate the control that does not accept add event, and it fixes the issue. Then all I have to do is to remove the duplicate.
That scrolling group looks very interesting indeed! I like the look of that, a lot. I haven’t really worked with container controls up to now but I can see how flexible that might be. Pleasee continue working on it
@shao sean I’m interest in your project, but unfortunately was unable to run it. How does it work when there are 100, 1000 or more rows? I’m guessing not that great.
Probably not all that great, but my own needs shouldn’t hit that high, but I am sure there are ways to make it more responsive for large numbers of rows…