package com.limegroup.gnutella.gui.tabs; import javax.swing.Icon; import javax.swing.JComponent; /** * This interface outlines the required functionality of any of the * primary tabs in the main application window. */ public interface Tab { /** * Stores the visible/invisible state of the tab to disk. * * @param visible the visibility state to apply */ void storeState(boolean visible); /** * Returns the <tt>JComponent</tt> instance containing all of the * UI elements for the tab. * * @return the <tt>JComponent</tt> intance containing all of the * UI elements for the tab */ JComponent getComponent(); /** * Returns the title of the tab as it's displayed to the user. * * @return the title of the tab as it's displayed to the user */ String getTitle(); /** * Returns the tooltip text for the tab. * * @return the tooltip text for the tab */ String getToolTip(); /** * Returns the <tt>Icon</tt> instance for the tab. * * @return the <tt>Icon</tt> instance for the tab */ Icon getIcon(); /** * Returns the index of the tab. This is the fixed index for the tab, * or it's position in the tab order, and not it's displayed index. * * @return the fixed index of the tab */ int getIndex(); /** * Notification that the specified tab has been clicked. */ void mouseClicked(); }