package de.lessvoid.nifty.elements; import de.lessvoid.nifty.Nifty; import de.lessvoid.nifty.effects.EffectEventId; import de.lessvoid.nifty.elements.events.NiftyMouseSecondaryClickedEvent; import de.lessvoid.nifty.elements.events.NiftyMouseSecondaryClickedMovedEvent; import de.lessvoid.nifty.elements.events.NiftyMouseSecondaryMultiClickedEvent; import de.lessvoid.nifty.elements.events.NiftyMouseSecondaryReleaseEvent; import de.lessvoid.nifty.input.NiftyMouseInputEvent; import javax.annotation.Nonnull; import javax.annotation.Nullable; public class SecondaryClickMouseMethods extends MouseClickMethods { public SecondaryClickMouseMethods(@Nonnull final Element element) { super(element); } @Override public boolean onClick( @Nonnull final Nifty nifty, @Nullable final String onClickAlternateKey, @Nonnull final NiftyMouseInputEvent inputEvent) { String id = element.getId(); if (id != null) { nifty.publishEvent(id, new NiftyMouseSecondaryClickedEvent(element, inputEvent)); } return super.onClick(nifty, onClickAlternateKey, inputEvent); } @Override public boolean onMultiClick( @Nonnull final Nifty nifty, @Nullable final String onClickAlternateKey, @Nonnull final NiftyMouseInputEvent inputEvent, int clickCount) { String id = element.getId(); if (id != null) { nifty.publishEvent(id, new NiftyMouseSecondaryMultiClickedEvent(element, inputEvent,clickCount)); } element.startEffectWithoutChildren(EffectEventId.onClick); return super.onMultiClick(nifty, onClickAlternateKey, inputEvent, clickCount); } @Override public boolean onClickMouseMove(@Nonnull final Nifty nifty, @Nonnull final NiftyMouseInputEvent inputEvent) { String id = element.getId(); if (id != null) { nifty.publishEvent(id, new NiftyMouseSecondaryClickedMovedEvent(element, inputEvent)); } return super.onClickMouseMove(nifty, inputEvent); } @Override public boolean onRelease(@Nonnull final Nifty nifty, @Nonnull final NiftyMouseInputEvent mouseEvent) { String id = element.getId(); if (id != null) { nifty.publishEvent(id, new NiftyMouseSecondaryReleaseEvent(element, mouseEvent)); } return super.onRelease(nifty, mouseEvent); } @Override public void clickAndRelease(@Nonnull final Nifty nifty) { String id = element.getId(); if (id != null) { nifty.publishEvent(id, new NiftyMouseSecondaryClickedEvent(element)); nifty.publishEvent(id, new NiftyMouseSecondaryReleaseEvent(element)); } super.clickAndRelease(nifty); } }