package org.ovirt.engine.ui.webadmin.section.main.view; import org.ovirt.engine.ui.webadmin.section.main.presenter.MainContentPresenter; import org.ovirt.engine.ui.webadmin.view.AbstractView; import com.google.gwt.user.client.ui.SimplePanel; import com.google.gwt.user.client.ui.SplitLayoutPanel; import com.google.gwt.user.client.ui.Widget; public class MainContentView extends AbstractView implements MainContentPresenter.ViewDef { private static final int subTabPanelHeight = 300; private final SplitLayoutPanel splitPanel = new SplitLayoutPanel(); private final SimplePanel mainTabPanelContainer = new SimplePanel(); private final SimplePanel subTabPanelContainer = new SimplePanel(); private boolean subTabPanelVisible; public MainContentView() { initWidget(splitPanel); initSplitPanel(); } void initSplitPanel() { splitPanel.add(mainTabPanelContainer); subTabPanelVisible = false; } @Override public void setInSlot(Object slot, Widget content) { if (slot == MainContentPresenter.TYPE_SetMainTabPanelContent) { setPanelContent(mainTabPanelContainer, content); } else if (slot == MainContentPresenter.TYPE_SetSubTabPanelContent) { setPanelContent(subTabPanelContainer, content); } else { super.setInSlot(slot, content); } } @Override public void update(boolean subTabPanelVisible) { if (this.subTabPanelVisible != subTabPanelVisible) { splitPanel.clear(); if (subTabPanelVisible) { splitPanel.addSouth(subTabPanelContainer, subTabPanelHeight); splitPanel.add(mainTabPanelContainer); } else { splitPanel.add(mainTabPanelContainer); } this.subTabPanelVisible = subTabPanelVisible; } } }