public boolean insertBefore(Component child, Component refChild) { if (child instanceof Tabs) { if (super.insertBefore(child, refChild)) { _tabs = (Tabs) child; for (Iterator it = _tabs.getChildren().iterator(); it.hasNext(); ) { final Tab tab = (Tab) it.next(); if (tab.isSelected()) { _seltab = tab; break; } } addTabsListeners(); return true; } } else if (child instanceof Tabpanels) { if (super.insertBefore(child, refChild)) { _tabpanels = (Tabpanels) child; return true; } } else if (child instanceof Toolbar) { if (super.insertBefore(child, refChild)) { _toolbar = (Toolbar) child; return true; } } else { return super.insertBefore(child, refChild); // impossible but make it more extensible } return false; }
/** Adds _listener to all {@link Tab} instances. */ private void addTabsListeners() { if (_tabs != null) { for (Iterator it = _tabs.getChildren().iterator(); it.hasNext(); ) { final Tab tab = (Tab) it.next(); tab.addEventListener(Events.ON_SELECT, _listener); } } }
public void onClose() { if (onCloseHandler != null) onCloseHandler.onClose(this); else { Tab tab = this.getLinkedTab(); Tabbox tabbox = (Tabbox) tab.getTabbox(); if (tabbox.getSelectedTab() == tab) { Tabs tabs = (Tabs) tabbox.getTabs(); List childs = tabs.getChildren(); for (int i = 0; i < childs.size(); i++) { if (childs.get(i) == tab) { if (i > 0) tabbox.setSelectedIndex((i - 1)); break; } } } this.detach(); tab.detach(); } }
private void afterUnmarshal(int cnt) { for (Iterator it = getChildren().iterator(); it.hasNext(); ) { final Object child = it.next(); if (child instanceof Tabs) { _tabs = (Tabs) child; for (Iterator e = _tabs.getChildren().iterator(); e.hasNext(); ) { final Tab tab = (Tab) e.next(); if (tab.isSelected()) { _seltab = tab; break; } } if (--cnt == 0) break; } else if (child instanceof Toolbar) { _toolbar = (Toolbar) child; if (--cnt == 0) break; } else if (child instanceof Tabpanels) { _tabpanels = (Tabpanels) child; if (--cnt == 0) break; } } addTabsListeners(); }
/** Sets the selected index. */ public void setSelectedIndex(int j) { final Tabs tabs = getTabs(); if (tabs == null) throw new IllegalStateException("No tab at all"); setSelectedTab((Tab) tabs.getChildren().get(j)); }