package org.basex.gui;
import org.basex.gui.layout.*;
/**
* This class provides a default implementation for GUI popup commands.
*
* @author BaseX Team 2005-17, BSD License
* @author Christian Gruen
*/
public abstract class GUIPopupCmd implements GUICommand {
/** Shortcut. */
private final BaseXKeys[] shortcut;
/** Label. */
private final String label;
/**
* Constructor.
* @param label label
* @param shortcut shortcut
*/
protected GUIPopupCmd(final String label, final BaseXKeys... shortcut) {
this.label = label;
this.shortcut = shortcut;
}
/**
* Executes the popup command.
*/
public abstract void execute();
@Override
public final void execute(final GUI main) {
if(enabled(main)) execute();
}
@Override
public final boolean toggle() {
return false;
}
@Override
public final String label() {
return label;
}
@Override
public final String shortCut() {
return null;
}
@Override
public final BaseXKeys[] shortcuts() {
return shortcut;
}
@Override
public boolean enabled(final GUI main) {
return true;
}
@Override
public boolean selected(final GUI main) {
return false;
}
}