![JAR search and dependency download from the Maven repository](/logo.png)
com.sksamuel.jqm4gwt.JQMPageEvent Maven / Gradle / Ivy
package com.sksamuel.jqm4gwt;
import com.google.gwt.event.logical.shared.HasAttachHandlers;
import com.google.gwt.event.shared.EventHandler;
import com.google.gwt.event.shared.GwtEvent;
public class JQMPageEvent extends GwtEvent {
public interface Handler extends EventHandler {
void onInit(JQMPageEvent event);
void onBeforeShow(JQMPageEvent event);
void onBeforeHide(JQMPageEvent event);
void onShow(JQMPageEvent event);
void onHide(JQMPageEvent event);
}
public static class DefaultHandler implements Handler {
@Override
public void onInit(JQMPageEvent event) {
}
@Override
public void onBeforeShow(JQMPageEvent event) {
}
@Override
public void onBeforeHide(JQMPageEvent event) {
}
@Override
public void onShow(JQMPageEvent event) {
}
@Override
public void onHide(JQMPageEvent event) {
}
}
static Type TYPE;
/**
* Fires an {@link JQMPageEvent} on all registered handlers in the handler source.
*
* @param The handler source type
* @param source - the source of the handlers
*/
public static void fire(S source, PageState pageState,
JQMPage prevPage, JQMPage nextPage) {
if (TYPE != null) {
JQMPageEvent event = new JQMPageEvent(pageState, prevPage, nextPage);
source.fireEvent(event);
}
}
public static Type getType() {
if (TYPE == null) {
TYPE = new Type();
}
return TYPE;
}
public enum PageState { INIT, BEFORE_SHOW, SHOW, BEFORE_HIDE, HIDE }
private final PageState pageState;
private final JQMPage prevPage;
private final JQMPage nextPage;
protected JQMPageEvent(PageState pageState, JQMPage prevPage, JQMPage nextPage) {
this.pageState = pageState;
this.prevPage = prevPage;
this.nextPage = nextPage;
}
public PageState getPageState() {
return pageState;
}
/**
* When HIDE - current page to be hidden.
* When SHOW - previous page we are transitioning from.
**/
public JQMPage getPrevPage() {
return prevPage;
}
/**
* When HIDE - next page to be shown.
* When SHOW - current page we are transitioning to.
**/
public JQMPage getNextPage() {
return nextPage;
}
@Override
public final Type getAssociatedType() {
return TYPE;
}
@Override
public String toDebugString() {
assertLive();
String s = super.toDebugString() + " pageState = " + pageState;
s += "; prevPage = " + (prevPage != null ? prevPage.getId() : "null");
s += "; nextPage = " + (nextPage != null ? nextPage.getId() : "null");
return s;
}
@Override
protected void dispatch(JQMPageEvent.Handler handler) {
switch (pageState) {
case INIT:
handler.onInit(this);
break;
case BEFORE_HIDE:
handler.onBeforeHide(this);
break;
case HIDE:
handler.onHide(this);
break;
case BEFORE_SHOW:
handler.onBeforeShow(this);
break;
case SHOW:
handler.onShow(this);
break;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy