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.impl.KSTabPanelImpl;
020    
021    import com.google.gwt.core.client.GWT;
022    import com.google.gwt.user.client.ui.Image;
023    import com.google.gwt.user.client.ui.Widget;
024    
025    public class KSTabPanel extends KSTabPanelAbstract {
026            
027            public static enum TabPosition{LEFT, RIGHT};
028            public static enum TabPanelStyle{FULL_PAGE, SMALL}
029    
030        private KSTabPanelAbstract panel = GWT.create(KSTabPanelImpl.class);
031    
032        public KSTabPanel(){
033            this.initWidget(panel);
034        }
035        
036        public KSTabPanel(TabPanelStyle style){
037            panel.setTabPanelStyle(style);
038            this.initWidget(panel);
039        }
040    
041            @Override
042            public void addTab(String key, Widget tabWidget, Widget content,
043                            TabPosition position) {
044                    panel.addTab(key, tabWidget, content, position);
045                    
046            }
047    
048            @Override
049            public void addTab(String key, String label, Widget content,
050                            TabPosition position) {
051                    panel.addTab(key, label, content, position);
052                    
053            }
054    
055            @Override
056            public void addTab(String key, String label, Image image, Widget content,
057                            TabPosition position) {
058                    panel.addTab(key, label, image, content, position);
059                    
060            }
061    
062            @Override
063            public void addTab(String key, String label, Image image, Widget content) {
064                    panel.addTab(key, label, image, content);
065                    
066            }
067    
068            @Override
069            public void addTab(String key, String label, Widget content) {
070                    panel.addTab(key, label, content);
071                    
072            }
073    
074            @Override
075            public void addTab(String key, Widget tabWidget, Widget content) {
076                    panel.addTab(key, tabWidget, content);
077                    
078            }
079    
080            @Override
081            public void addTabCustomCallback(String key, Callback<String> callback) {
082                    panel.addTabCustomCallback(key, callback);
083                    
084            }
085    
086            @Override
087            public String getSelectedTabKey() {
088                    return panel.getSelectedTabKey();
089            }
090    
091            @Override
092            public void removeTab(String key) {
093                    panel.removeTab(key);
094                    
095            }
096    
097            @Override
098            public void removeTabCustomCallbacks(String key) {
099                    panel.removeTabCustomCallbacks(key);
100                    
101            }
102    
103            @Override
104            public void selectTab(String key) {
105                    panel.selectTab(key);
106                    
107            }
108    
109            @Override
110            public void addStyleName(String style) {
111                    panel.addStyleName(style);
112                    
113            }
114    
115            @Override
116            public int getTabCount() {
117                    return panel.getTabCount();
118            }
119    
120            @Override
121            public boolean hasTabKey(String key) {
122                    return panel.hasTabKey(key);
123            }
124    
125            @Override
126            public void setTabPanelStyle(TabPanelStyle style) {
127                    panel.setTabPanelStyle(style);
128            }
129    
130    }