
com.jpattern.gwt.client.navigationevent.RootNavigationEvent Maven / Gradle / Ivy
package com.jpattern.gwt.client.navigationevent;
import java.util.HashMap;
import java.util.Map;
import com.google.gwt.user.client.ui.HasWidgets;
import com.jpattern.gwt.client.IApplicationProvider;
import com.jpattern.gwt.client.history.IHistoryManager;
import com.jpattern.gwt.client.logger.ILogger;
import com.jpattern.gwt.client.presenter.APresenter;
import com.jpattern.gwt.client.presenter.IPresenter;
import com.jpattern.gwt.client.presenter.NullHierarchyStrategy;
import com.jpattern.gwt.client.presenter.NullPresenter;
import com.jpattern.gwt.client.view.IView;
import com.jpattern.gwt.client.view.NullShowViewStrategy;
import com.jpattern.gwt.client.view.NullView;
/**
*
* @author Francesco Cina
*
* 03/ago/2011
*/
public class RootNavigationEvent extends ANavigationEvent {
private final INavigationEvent mainNavigationEvent;
private final HasWidgets target;
public RootNavigationEvent(INavigationEvent mainNavigationEvent, HasWidgets target ) {
super("");
this.mainNavigationEvent = mainNavigationEvent;
this.target = target;
}
public RootNavigationEvent(INavigationEvent mainNavigationEvent, HasWidgets target, IApplicationProvider applicationProvider) {
super("" , applicationProvider);
this.mainNavigationEvent = mainNavigationEvent;
this.target = target;
}
/**
* Start the client GWT application
*/
public IPresenter startApplication() {
return launch(new NullPresenter(), new HashMap(), new String[0]);
}
@Override
protected IPresenter exec(Map queryStringValues) {
ILogger logger = getProvider().getLoggerService().getLogger(getClass());
logger.debug("exec", "root presenter generated");
IPresenter rootPresenter = new RootPresenter(this);
rootPresenter.setApplicationProvider(getProvider());
IHistoryManager historyManager = getProvider().getHistoryService().getHistoryManager();
historyManager.setRootPresenter(rootPresenter);
historyManager.updateState();
return rootPresenter;
}
class RootPresenter extends APresenter {
ILogger logger;
public RootPresenter(INavigationEvent navigationEvent) {
super(new NullShowViewStrategy(new NullView()), getPresenterDefinition());
setHierarchyStrategy(new NullHierarchyStrategy());
registerNavigationEvent(mainNavigationEvent, target, new NullNavigationEventCallback());
ready();
}
@Override
public void preRender() {
}
@Override
public void init() {
}
@Override
public void onUnloadPresenter() {
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy