TabbedButtonBar & TabbedComponent Suggestions


#1

Hi Jules,

The juce::TabbedComponent class is limited imo, and would like suggest some features:

  • Adding non-TabBarButtons to the TabbedButtonBar (For absolute customization: being able to line up other buttons perfectly with the tabs programmatically!)

  • Adding a customizable X and/or Y offset to the whole TabbedButtonBar within a TabbedComponent, per such instance. (Right now, that offset is limited by the LookAndFeel::getTabButtonSpaceAroundImage(), which offsets in both X and Y at once, and can affect all TabbedComponents… do not want!)

  • Adding a way of left, center or right aligning tabs (which is good for a totalling amount of tabs’ widths less than the TabbedComponent’s width - ie: a few tabs on a wide TabbedComponent). Obviously the words Left, Center, and Right are perspective dependant based around the Orientation being TabsAtTop…


#2

All good ideas, wish I had time to tinker with it!


#3

My opinion is that widgets like this are best implemented in the client code (i.e. your code) and less so in JUCE. I think of TabbedButtonBar as a convenient “extra”: handy if it does exactly what you need, but don’t expect it to cover all cases. You could just duplicate the code and make the changes specific to how you want your application to look.

The only widgets that truly belong in JUCE are the difficult ones like the TextEditor, ListBox, TableListBox, and the like. And of course…native menu bars…


#4

That’s understandable. I only figured that such suggestions were worthwhile in the forums since they could benefit other JUCE users.


#5

They are good suggestions. Unfortunately Jules is a finite resource. However, your suggestion has given me an idea! I will make a new post.


#6

haha Indeed he is! I’m never completely sure of what his task-list is like though… but it would be nearly infinite if all suggestions from the forum were taken into account , no doubt.

Looking forward to your post.


#7

Split off part of JUCE and make it MIT Licensed?