All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.zkoss.zul.Tabpanel Maven / Gradle / Ivy

There is a newer version: 10.0.0-jakarta
Show newest version
/* Tabpanel.java

	Purpose:
		
	Description:
		
	History:
		Tue Jul 12 10:43:10     2005, Created by tomyeh

Copyright (C) 2005 Potix Corporation. All Rights Reserved.

{{IS_RIGHT
	This program is distributed under LGPL Version 2.1 in the hope that
	it will be useful, but WITHOUT ANY WARRANTY.
}}IS_RIGHT
*/
package org.zkoss.zul;

import java.util.Iterator;

import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.UiException;
import org.zkoss.zul.impl.XulElement;

/**
 * A tab panel.
 * 

Default {@link #getZclass}: z-tabpanel. (since 3.5.0) * * @author tomyeh */ public class Tabpanel extends XulElement { public Tabpanel() { } /** Returns the tabbox owns this component. */ public Tabbox getTabbox() { final Tabpanels panels = (Tabpanels) getParent(); return panels != null ? panels.getTabbox() : null; } /** Returns the tab associated with this tab panel. */ public Tab getLinkedTab() { final int j = getIndex(); if (j >= 0) { final Tabbox tabbox = getTabbox(); if (tabbox != null) { final Tabs tabs = tabbox.getTabs(); if (tabs != null && tabs.getChildren().size() > j) return (Tab) tabs.getChildren().get(j); } } return null; } /** Returns whether this tab panel is selected. */ public boolean isSelected() { final Tab tab = getLinkedTab(); return tab != null && tab.isSelected(); } /** Returns the index of this panel, or -1 if it doesn't belong to any * tabpanels. */ public int getIndex() { final Tabpanels tabpanels = (Tabpanels) getParent(); if (tabpanels == null) return -1; int j = 0; for (Iterator it = tabpanels.getChildren().iterator();; ++j) if (it.next() == this) return j; } //-- super --// /** Returns the style class. * * @since 3.5.0 */ public String getZclass() { return _zclass == null ? "z-tabpanel" : _zclass; } //-- Component --// public boolean isVisible() { return super.isVisible() && isSelected(); } public void beforeParentChanged(Component parent) { if (parent != null && !(parent instanceof Tabpanels)) throw new UiException("Wrong parent: " + parent); super.beforeParentChanged(parent); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy