package ilarkesto.gwt.client;
import com.google.gwt.event.dom.client.KeyPressEvent;
import com.google.gwt.event.dom.client.KeyPressHandler;
public class ActionKeyPressHandler implements KeyPressHandler {
private AAction action;
private int[] keyCodes;
private boolean ctrl;
public ActionKeyPressHandler(AAction action, boolean ctrl, int... keyCodes) {
super();
this.action = action;
this.keyCodes = keyCodes;
this.ctrl = ctrl;
}
@Override
public void onKeyPress(KeyPressEvent event) {
if (ctrl && !event.isControlKeyDown()) return;
for (int keyCode : keyCodes) {
if (keyCode == event.getCharCode()) {
action.execute();
event.stopPropagation();
return;
}
}
}
}