package org.ovirt.engine.ui.webadmin.widget.tab; import com.google.gwt.core.client.GWT; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.user.client.ui.Widget; import com.gwtplatform.mvp.client.TabData; public class HeadlessTabPanel extends AbstractTabPanel { interface WidgetUiBinder extends UiBinder<Widget, HeadlessTabPanel> { WidgetUiBinder uiBinder = GWT.create(WidgetUiBinder.class); } public interface TabWidgetHandler { void addTabWidget(Widget tabWidget, int index); void removeTabWidget(Widget tabWidget); } private TabWidgetHandler tabWidgetHandler; public HeadlessTabPanel() { initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this)); } public void setTabWidgetHandler(TabWidgetHandler tabWidgetHandler) { this.tabWidgetHandler = tabWidgetHandler; } @Override public void addTabWidget(Widget tabWidget, int index) { if (tabWidgetHandler != null) tabWidgetHandler.addTabWidget(tabWidget, index); } @Override protected void removeTabWidget(Widget tabWidget) { if (tabWidgetHandler != null) tabWidgetHandler.removeTabWidget(tabWidget); } @Override protected TabDefinition createNewTab(TabData tabData) { return TabFactory.createTab(tabData, this); } }