package org.geogebra.web.html5.util.tabpanel; import com.google.gwt.event.logical.shared.HasSelectionHandlers; import com.google.gwt.event.logical.shared.SelectionEvent; import com.google.gwt.event.logical.shared.SelectionHandler; import com.google.gwt.event.shared.HandlerRegistration; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.DeckPanel; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.Widget; public class MultiRowsTabPanel extends Composite implements HasSelectionHandlers<Integer> { MultiRowsTabBar tabBar; DeckPanel deck = new DeckPanel(); public MultiRowsTabPanel() { tabBar = new MultiRowsTabBar(this); tabBar.addStyleName("gwt-TabBar"); tabBar.addStyleName("ggb-MultiRowsTabPanel"); FlowPanel panel = new FlowPanel(); // TODO after release MULTIROW_TAB_PROPERTIES feature: // propertiesTabPanel // and propertiesTabPanel2 classes should be merged panel.addStyleName("propertiesTabPanel"); panel.addStyleName("propertiesTabPanel2"); panel.add(tabBar); deck.addStyleName("propView_deckPanel"); panel.add(deck); // panel.setCellHeight(deck, "100%"); // tabBar.setWidth("100%"); initWidget(panel); } @Override public HandlerRegistration addSelectionHandler( SelectionHandler<Integer> selectionHandler) { return addHandler(selectionHandler, SelectionEvent.getType()); } public void selectTab(int index) { tabBar.selectTab(index); } public MultiRowsTabBar getTabBar() { return tabBar; } public void add(Widget w, String tabText) { tabBar.addTab(tabText); w.addStyleName("gwt-TabPanelBottom"); deck.add(w); } public int getWidgetIndex(Widget widget) { return deck.getWidgetIndex(widget); } public int getWidgetCount() { return deck.getWidgetCount(); } public Widget getWidget(int i) { return deck.getWidget(i); } }