The toolbar (the Toolbox actually) is a generic user interface element used to group sets of tools that can be used to interact with an editor instance. Actually this is its most common use inside V3, but it can also be used in any other situation, as many of the UI elements.
The Toolbox is a container for Toolbars. It simply defines a region where several toolbars are grouped together, making it possible to manipulate and handle all of them as a single entity.
By default, the toolbars are positioned side by side, wrapping down if the toolbox space is not enough.
The Toolbar is a container for Toolbar Items. It guarantees that those items will always remain together in the interface, making it possible to manipulate all of them as a single entity.
A Toolbar Item is the UI element which will effectively interact with the editor instance.
Several kinds of items will be available by default with V3, including:
- Button: the classic button containing an icon, icon + text or text only.
- Button Group: a button that groups several items. Those items appear bellow the button just like a context menu list. It may have a default action and a small arrow to open the items list.
- Button Panel: a button that opens a floating panel, which can be filled with any kind of thing (such a color selector)
- Combo: a dropdown list of items that can be selected. The combo can be configured to accept single or multiple selections.
The editor will offer a standard API interface to implement and introduce custom toolbar items.
A single toolbox can be assigned to one or more editor instances. In the same way we can have more then one toolbar assigned to a single editor instance. No matter what, as soon as an instance get the editing focus, all assigned toolbars will reflect the current selection status (context sensitive) and will be ready to interact with the active instance.