package org.ovirt.engine.ui.userportal.section.main.view.tab; import org.ovirt.engine.ui.common.system.ClientStorage; import org.ovirt.engine.ui.common.view.AbstractView; import org.ovirt.engine.ui.common.widget.refresh.RefreshPanel; import org.ovirt.engine.ui.common.widget.refresh.SimpleRefreshManager; import org.ovirt.engine.ui.userportal.ApplicationResources; import org.ovirt.engine.ui.userportal.gin.AssetProvider; import org.ovirt.engine.ui.userportal.section.main.presenter.tab.MainTabBasicPresenter; import org.ovirt.engine.ui.userportal.uicommon.model.basic.UserPortalBasicListProvider; import org.ovirt.engine.ui.userportal.widget.basic.BasicViewSplitLayoutPanel; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.HasClickHandlers; import com.google.gwt.event.shared.EventBus; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.IsWidget; import com.google.gwt.user.client.ui.Panel; import com.google.gwt.user.client.ui.Widget; import com.google.inject.Inject; public class MainTabBasicView extends AbstractView implements MainTabBasicPresenter.ViewDef { interface ViewUiBinder extends UiBinder<Widget, MainTabBasicView> { ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class); } @UiField Panel vmListPanel; @UiField Panel vmDetailPanel; @UiField(provided = true) BasicViewSplitLayoutPanel splitLayoutPanel; @UiField(provided = true) RefreshPanel refreshPanel; private SimpleRefreshManager refreshManager; private static final ApplicationResources resources = AssetProvider.getResources(); @Inject public MainTabBasicView( UserPortalBasicListProvider modelProvider, EventBus eventBus, ClientStorage clientStorage) { this.refreshManager = new SimpleRefreshManager( modelProvider, eventBus, clientStorage); this.refreshPanel = refreshManager.getRefreshPanel(); splitLayoutPanel = new BasicViewSplitLayoutPanel( resources.basicViewSplitterTop(), resources.basicViewSplitterSnap()); initWidget(ViewUiBinder.uiBinder.createAndBindUi(this)); splitLayoutPanel.initWidget(); } @Override public void setInSlot(Object slot, IsWidget content) { if (slot == MainTabBasicPresenter.TYPE_VmListContent) { setPanelContent(vmListPanel, content); } else if (slot == MainTabBasicPresenter.TYPE_VmDetailsContent) { setPanelContent(vmDetailPanel, content); } else { super.setInSlot(slot, content); } } @Override public HasClickHandlers getRefreshButton() { return refreshPanel; } }