Custom property window

Hi all,

I want to move a legacy project to JUCE and I currently have a custom property window like this;

that I want to recreate. The red highlight shows the button that open and closes each property group in the style of a tree view.

It’s nothing too fancy. Gadgets are dynamically positioned, hidden or shown depending on what groups are open and the whole thing is contained in a vertically scrollable viewport. My problem is that right now (just starting out with JUCE) I don’t have much of a concept of a viewport that will contain these gadgets. I’m currently working on creating a component in the Jucer that has the title bar, the open/close button and all the gadgets required for a single entry but what would be the best container for a vertical list of these components that needs to scroll - even updating its scrollbar as groups are opened and closed?

Thanks in advance,

PS. I’m really excited by the JUCE library! It truly is a stunning bit of kit. This is my first post but I come in peace :wink: I was a reasonably competent C++ coder up until about 5 years ago when my life took a change of direction and I’ve done very little work in the language since, so I’ve got a lot of catching up to do.

Well, you need a TreeView for that - probably with custom components for the row items. Should be lots of examples in the codebase if you search for “TreeView”!

Thanks Jules. I wasn’t thinking of using a treeview in that way. That’s all I needed to know.


Well, you could also use a ConcertinaPanel, but what you’ve got there looks a bit more like a tree to me…

Thanks again.

There’s one other feature I forgot to mention… the current list has a per-object context menu that the user can right click each grey title bar for. As I’m aiming for mobile/tablet with this new version I’m going to drop the right click for a menu button at the end of the grey strip*. Something I’ve picked up a lot from the Jucer controls such as the position “mode” buttons. So in a tree view I’d also need a custom component even for the root nodes.

Sorry if this becomes a big topic but this property window is a major part of my interface. Fortunately it’s the only non-standard part.


  • it absolutely won’t be grey when it’s JUCE’d up :smiley: