
de.lessvoid.nifty.examples.defaultcontrols.common.MenuButtonController Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of nifty-examples Show documentation
Show all versions of nifty-examples Show documentation
Lots of Nifty example code! You can find the source for nearly all demos/tutorials in here.
package de.lessvoid.nifty.examples.defaultcontrols.common;
import de.lessvoid.nifty.Nifty;
import de.lessvoid.nifty.controls.Controller;
import de.lessvoid.nifty.controls.FocusHandler;
import de.lessvoid.nifty.controls.Parameters;
import de.lessvoid.nifty.elements.Element;
import de.lessvoid.nifty.input.NiftyInputEvent;
import de.lessvoid.nifty.input.NiftyStandardInputEvent;
import de.lessvoid.nifty.screen.Screen;
import javax.annotation.Nonnull;
public class MenuButtonController implements Controller {
private Element element;
private FocusHandler focusHandler;
@Override
public void bind(
@Nonnull final Nifty nifty,
@Nonnull final Screen screen,
@Nonnull final Element element,
@Nonnull final Parameters parameter) {
this.element = element;
this.focusHandler = screen.getFocusHandler();
}
@Override
public void onStartScreen() {
}
@Override
public void init(@Nonnull final Parameters parameter) {
}
@Override
public void onFocus(final boolean getFocus) {
}
@Override
public boolean inputEvent(@Nonnull final NiftyInputEvent inputEvent) {
if (inputEvent == NiftyStandardInputEvent.NextInputElement) {
focusHandler.getNext(element).setFocus();
return true;
} else if (inputEvent == NiftyStandardInputEvent.PrevInputElement) {
focusHandler.getPrev(element).setFocus();
return true;
} else if (inputEvent == NiftyStandardInputEvent.Activate) {
element.onClickAndReleasePrimaryMouseButton();
return true;
}
return false;
}
@Override
public void onEndScreen() {
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy