Can Juce do this?

I’m starting a new project and I’m looking for a nice cross platform framework to use as the base of my desktop application.
I have been looking at Qt, but Juce has some “killer-features” that I would really like to utilize.
I have been looking through the classes and the demo app, but I have some questions on using Juce in a large application.

  1. Key commands. Does the Juce framework support some kind of “action-handler” or what you would like to call it.
    I would like to define a command, say “New Document”. This should then be connected to a button and maybe also a menu item. In addition it should be called from a default keyboard-shortcut, and the user should be able to change this short cut at run time. Is there any built in support for this?

  2. Docking and MDI. What is best practice for applications that has property panels and several other forms inside the main window? Are there any built in snap, dock, stack, etc functions?
    Sorry for being vague, I’m just looking for the possibilities, and how I should use the frame work in the best way.

  3. Although there are many great widgets in the framework, my application will depend heavily on custom components. These seems easy to implement once I get in to it. One question though, I would need some kind of timeline component. This component would of course have many items. Are there any limit to the number of child components I can add to comp.

Lets say I have 500 child components and the time line is zoomed in, can I simply let the child components go outside the bounds of the parent (like 5000px to the right)? Will Juce optimize for this and not render them?

Thank you, I’m looking forward to diving in to the framework

Yes, have a look at the ApplicationCommandManager class and its various related classes.

Docking is largely left up to you - there are some rudimentary MDI classes, but nothing specifically for docking.

And yes, of course there’s no limit to component hierarchies, and they’re clipped correctly etc.

Thank you so much for answering all my questions.
That sounds promising.

One more thing I’m trying to understand is the workflow involved.
Is the recommended way of doing it to create the UI in The Jucer, then code in for instance VS2012.
It seems a lot of the ui needs to be hand coded, at least all the “action” and linking, or am I wrong?
Can I for instance set up the ApplicationCommandManager/Listener inside the Jucer in any way, like click on a button and choose it’s command?
Sorry for all these strange questions, it’s just that I have spent unnecessary time on learning the “wrong tool for the job” before, and I don’t want to go down that route again.

The jucer’s one way to do it, but it won’t help with the command manager stuff, you’d need to do that manually. Also note the projucer stuff if you’ve not already seen it: