001    /**
002     * Copyright 2010 The Kuali Foundation Licensed under the
003     * Educational Community License, Version 2.0 (the "License"); you may
004     * not use this file except in compliance with the License. You may
005     * obtain a copy of the License at
006     *
007     * http://www.osedu.org/licenses/ECL-2.0
008     *
009     * Unless required by applicable law or agreed to in writing,
010     * software distributed under the License is distributed on an "AS IS"
011     * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
012     * or implied. See the License for the specific language governing
013     * permissions and limitations under the License.
014     */
015    
016    package org.kuali.student.common.ui.client.widgets.tabs;
017    
018    import org.kuali.student.common.ui.client.mvc.Callback;
019    import org.kuali.student.common.ui.client.widgets.tabs.KSTabPanel.TabPanelStyle;
020    import org.kuali.student.common.ui.client.widgets.tabs.KSTabPanel.TabPosition;
021    
022    import com.google.gwt.user.client.ui.Composite;
023    import com.google.gwt.user.client.ui.Image;
024    import com.google.gwt.user.client.ui.Widget;
025    
026    public abstract class KSTabPanelAbstract extends Composite {
027            
028            public abstract void addTab(String key, Widget tabWidget, Widget content, TabPosition position);
029            
030            public abstract void addTab(String key, String label, Widget content, TabPosition position);
031            
032            public abstract void addTab(String key, String label, Image image, Widget content, TabPosition position);
033            
034            public abstract void addTab(String key, String label, Image image, Widget content);
035            
036            public abstract void addTab(String key, String label, Widget content);
037            
038            public abstract void addTab(String key, Widget tabWidget, Widget content);
039    
040            public abstract void selectTab(String key);
041            
042            public abstract void removeTab(String key);
043            
044        public abstract void addStyleName(String style);
045    
046        public abstract int getTabCount();
047        
048        public abstract void addTabCustomCallback(String key, Callback<String> callback);
049        
050        public abstract void removeTabCustomCallbacks(String key);
051        
052        public abstract String getSelectedTabKey();
053    
054        public abstract boolean hasTabKey(String key);
055        
056        public abstract void setTabPanelStyle(TabPanelStyle style);
057    
058    }