001 package org.apache.myfaces.tobago.taglib.component; 002 003 /* 004 * Licensed to the Apache Software Foundation (ASF) under one or more 005 * contributor license agreements. See the NOTICE file distributed with 006 * this work for additional information regarding copyright ownership. 007 * The ASF licenses this file to You under the Apache License, Version 2.0 008 * (the "License"); you may not use this file except in compliance with 009 * the License. You may obtain a copy of the License at 010 * 011 * http://www.apache.org/licenses/LICENSE-2.0 012 * 013 * Unless required by applicable law or agreed to in writing, software 014 * distributed under the License is distributed on an "AS IS" BASIS, 015 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 016 * See the License for the specific language governing permissions and 017 * limitations under the License. 018 */ 019 020 import org.apache.myfaces.tobago.apt.annotation.BodyContentDescription; 021 import org.apache.myfaces.tobago.apt.annotation.DynamicExpression; 022 import org.apache.myfaces.tobago.apt.annotation.Tag; 023 import org.apache.myfaces.tobago.apt.annotation.TagAttribute; 024 import org.apache.myfaces.tobago.apt.annotation.UIComponentTag; 025 import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute; 026 import org.apache.myfaces.tobago.component.UITabGroup; 027 import org.apache.myfaces.tobago.taglib.decl.HasDeprecatedDimension; 028 import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered; 029 import org.apache.myfaces.tobago.taglib.decl.IsImmediateCommand; 030 031 /* 032 * Date: 08.04.2006 033 * Time: 14:53:06 034 */ 035 036 /** 037 * Renders a tabpanel. 038 */ 039 @Tag(name = "tabGroup") 040 @BodyContentDescription(anyTagOf = "(<tc:tab>* ") 041 @UIComponentTag( 042 uiComponent = "org.apache.myfaces.tobago.component.UITabGroup", 043 rendererType = "TabGroup") 044 045 public interface TabGroupTagDeclaration extends TobagoTagDeclaration, HasIdBindingAndRendered, HasDeprecatedDimension, 046 IsImmediateCommand { 047 /** 048 * Deprecated! Use 'switchType' instead. 049 * Flag indicating that tab switching is done by server request. 050 * 051 * @deprecated 052 */ 053 @TagAttribute 054 @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "false") 055 @Deprecated 056 void setServerside(String serverside); 057 058 /** 059 060 * Flag indicating that the Tab Navigationbar is rendered. 061 * 062 */ 063 @TagAttribute 064 @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "true") 065 @Deprecated 066 void setShowNavigationBar(String serverside); 067 068 /** 069 * Indicating how tab switching should be done. 070 * <p/> 071 * Possible values are: 072 * <dl> 073 * <dt>client</dt> 074 * <dd>Tab switching is done on client, no server Request.</dd> 075 * <dt>reloadPage</dt> 076 * <dd>Tab switching is done by server request. Full page is reloaded.</dd> 077 * <dt>reloadTab</dt> 078 * <dd>Tab switching is done by server request. Only the Tab is reloaded.</dd> 079 * </dl> 080 * @param switchType Sets the switching type. 081 */ 082 @TagAttribute 083 @UIComponentTagAttribute(type = "java.lang.String", 084 allowedValues = 085 {UITabGroup.SWITCH_TYPE_CLIENT, UITabGroup.SWITCH_TYPE_RELOAD_PAGE, UITabGroup.SWITCH_TYPE_RELOAD_TAB}, 086 defaultValue = UITabGroup.SWITCH_TYPE_CLIENT) 087 void setSwitchType(String switchType); 088 089 /** 090 * <strong>ValueBindingExpression</strong> pointing to a Integer to save the 091 * component's selected Tab. 092 */ 093 @TagAttribute 094 @UIComponentTagAttribute(type = "java.lang.Integer") 095 void setSelectedIndex(String selectedIndex); 096 097 /** 098 * <strong>ValueBindingExpression</strong> pointing to a Integer to save the 099 * component's selected Tab. 100 */ 101 @TagAttribute 102 @UIComponentTagAttribute(type = "java.lang.Integer") 103 @Deprecated() 104 void setState(String state); 105 106 @TagAttribute 107 @UIComponentTagAttribute( 108 type = "javax.faces.el.MethodBinding", 109 expression = DynamicExpression.METHOD_BINDING) 110 void setTabChangeListener(String listener); 111 }