Toolbars
The OpenLayers.Control.Panel class is designed to make it easy to turn on/off controls using visual elements which are controlled by CSS.
Subclassing NavToolbar
The NavToolbar control is a simple control, wrapping up only 15 lines of code. It is intentionally simple, and I see no reason to change this. If you want a NavToolbar which behaves differently, it is very simple to create one: simply:
var tb = OpenLayers.Class(OpenLayers.Control.NavToolbar, {
initialize: function() {
OpenLayers.Control.Panel.prototype.initialize.apply(this, [options]);
this.addControls([
new OpenLayers.Control.Navigation({'zoomWheelEnabled': false}),
new OpenLayers.Control.ZoomBox()
])
}
);
map.addControl(new tb());
Note that this same concept applies to other toolbars as well.
