package org.ovirt.engine.ui.webadmin.section.main.presenter; import org.ovirt.engine.ui.webadmin.section.main.view.ApplicationFocusChangeEvent.HasApplicationFocusChangeHandlers; import com.google.gwt.event.shared.EventBus; import com.google.gwt.event.shared.GwtEvent.Type; import com.google.inject.Inject; import com.gwtplatform.mvp.client.HasUiHandlers; import com.gwtplatform.mvp.client.Presenter; import com.gwtplatform.mvp.client.View; import com.gwtplatform.mvp.client.annotations.ContentSlot; import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit; import com.gwtplatform.mvp.client.proxy.Proxy; import com.gwtplatform.mvp.client.proxy.RevealContentHandler; import com.gwtplatform.mvp.client.proxy.RevealRootLayoutContentEvent; public class MainSectionPresenter extends Presenter<MainSectionPresenter.ViewDef, MainSectionPresenter.ProxyDef> { @ProxyCodeSplit public interface ProxyDef extends Proxy<MainSectionPresenter> { } public interface ViewDef extends View, HasUiHandlers<MainTabBarOffsetUiHandlers>, HasApplicationFocusChangeHandlers { } @ContentSlot public static final Type<RevealContentHandler<?>> TYPE_SetHeader = new Type<RevealContentHandler<?>>(); @ContentSlot public static final Type<RevealContentHandler<?>> TYPE_SetMainContent = new Type<RevealContentHandler<?>>(); private final HeaderPresenterWidget header; @Inject public MainSectionPresenter(EventBus eventBus, ViewDef view, ProxyDef proxy, HeaderPresenterWidget header) { super(eventBus, view, proxy); this.header = header; getView().setUiHandlers(header); } @Override protected void revealInParent() { RevealRootLayoutContentEvent.fire(this, this); } @Override protected void onReveal() { super.onReveal(); setInSlot(TYPE_SetHeader, header); } }