001    /*
002     Copyright (C) 2003 Adam Olsen
003    
004     This program is free software; you can redistribute it and/or modify
005     it under the terms of the GNU General Public License as published by
006     the Free Software Foundation; either version 1, or (at your option)
007     any later version.
008    
009     This program is distributed in the hope that it will be useful,
010     but WITHOUT ANY WARRANTY; without even the implied warranty of
011     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
012     GNU General Public License for more details.
013    
014     You should have received a copy of the GNU General Public License
015     along with this program; if not, write to the Free Software
016     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
017     */
018    
019    package com.valhalla.jbother;
020    
021    import java.awt.Font;
022    
023    import javax.swing.JComponent;
024    import net.infonode.tabbedpanel.*;
025    import net.infonode.tabbedpanel.titledtab.*;
026    import net.infonode.util.*;
027    
028    
029    /**
030     * This interface describes the panels that are used in the TabFrame
031     *
032     * @author Adam Olsen
033     * @version 1.0
034     * @see com.valhalla.jbother.TabFrame
035     */
036    public interface TabFramePanel {
037        public String getWindowTitle();
038        public String getTooltip();
039        public void updateStyle(Font font);
040        public String getPanelName();
041        public String getPanelToolTip();
042        public boolean listenersAdded();
043        public JComponent getInputComponent();
044        public void setListenersAdded(boolean added);
045        public void setTab( TitledTab tab );
046        public TitledTab getTab();
047    }