if I start a class that has a navigation tree of views, could you add to the library? I thinking of something like the main view class in iTunes, or any remote based app, where each ‘enter’ takes you further into a tree of views, but you can at any point back out to any point.

The iTunes view has a header, much like tabs, that shows where you are in the tree. I think it would be an amalgam between tab panel and tree-view with the similar ‘hasSubItems’ type interface, so any ‘row’ can be drawn with text, or have a custom component. Then if it has sub-components, the user could click on it or enter and go to the sub-view.

Does that sound like something useful? Did anyone beat me to it?


Sounds quite specialised, but sure, it could be useful - I could take it on as long as it’s all nicely written in the juce style!

I think you might be surprised - these days a ‘web-style’ interface is what users probably understand best. And since I want to use Juce, not a web system and javascript I’d like to be able to offer it. It’s also the way most remote based (Tivo, iPod, AppleTV etc.) systems work.

I’ll do my best to mimic the style, although I’m sure you’ll point out the flaws :stuck_out_tongue:



Hey Bruce,

You made this post quite some time ago, but I was wondering whether you ever went ahead and made this component. I need exactly this some of a component for offering users a category based view of some data, and I was hoping that I wouldn’t have to sink half a weeks work or more into writing it myself.

In the end, I hired Haydn, another forum regular to write it for me! He has since contributed something very much along the same lines in the contributed classes area of the forum.

I haven’t tried his new code, and you should expect to spend some time getting your head around it, but that’s probably your best bet.


Oh wow, Bruce you’re right :open_mouth: ! I’ve become so used to the iOS navigation UI tropes that the StackComponent system just seemed like a logical thing to make, and it never occurred to me that I’d done something similar before! I hope my posting it didn’t cause any upset.

@symfonysid, the StackComponent stuff might be of use. It doesn’t assume anything about the data you’re using, it just provides a neat way to traverse a combination of screens, making it very useful for multi-paged editors. You just need to design the various ‘page’ components; if you give them the ability to push subsequent pages onto the stack, you can simply add a root page to a StackComponent, stick some kind of controller near it (e.g. StackHeaderComponent), and you get a lot of the navigation stuff taken care of automatically.

Terrific. I just downloaded it and tried it out, and it looks great. It’s more generalized than what I had in mind, but that’s a good thing as I think I can use it for another problem as well…

By the way you used to post classes you made to haydxn.net. Is there any centralized place for stuff you made other than the forums? I saw a link to http://www.anticore.org/juce somewhere but I wasn’t sure if this has your work and if it is up to date…

Re: posting code - I’m hoping that people might want to start using the new wiki for posting bits + pieces that they want to share… (Must sort out a link to it on the main site nav bar, but http://www.rawmaterialsoftware.com/wiki)

It’s definitely a good thing to have a place where people can share code and information about juce. I wish it didn’t have to be based on a wiki interface though… I’ve gotten so used to how easy it is working with google docs that wikis feel like a clumsy technology from a past era…