package org.basex.gui;
import javax.swing.JToolBar;
import org.basex.gui.layout.BaseXButton;
/**
* This is the toolbar of the main window.
* The toolbar contents are defined in {@link GUIConstants#TOOLBAR}.
*
* @author BaseX Team 2005-12, BSD License
* @author Christian Gruen
*/
final class GUIToolBar extends JToolBar {
/** Toolbar commands. */
private final GUICommand[] cmd;
/** Reference to main window. */
private final GUI gui;
/**
* Default constructor.
* @param tb toolbar commands
* @param main reference to the main window
*/
GUIToolBar(final GUICommand[] tb, final GUI main) {
setFloatable(false);
cmd = tb;
gui = main;
for(final GUICommand c : cmd) {
if(c == null) {
addSeparator();
} else {
final BaseXButton button = BaseXButton.command(c, gui);
button.setFocusable(false);
add(button);
}
}
}
/**
* Refreshes the buttons.
*/
void refresh() {
for(int b = 0; b < cmd.length; ++b) {
if(cmd[b] != null) cmd[b].refresh(gui, (BaseXButton) getComponent(b));
}
}
}