001 /*
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements. See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership. The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License. You may obtain a copy of the License at
009 *
010 * http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing,
013 * software distributed under the License is distributed on an
014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 * KIND, either express or implied. See the License for the
016 * specific language governing permissions and limitations
017 * under the License.
018 */
019
020 package org.apache.myfaces.tobago.taglib.component;
021
022 import org.apache.myfaces.tobago.apt.annotation.BodyContentDescription;
023 import org.apache.myfaces.tobago.apt.annotation.Preliminary;
024 import org.apache.myfaces.tobago.apt.annotation.Tag;
025 import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
026 import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
027 import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
028 import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
029 import org.apache.myfaces.tobago.taglib.decl.HasIdReference;
030 import org.apache.myfaces.tobago.taglib.decl.HasNameReference;
031 import org.apache.myfaces.tobago.taglib.decl.HasState;
032 import org.apache.myfaces.tobago.taglib.decl.HasTreeNodeValue;
033 import org.apache.myfaces.tobago.taglib.decl.IsRequired;
034
035 /*
036 * Date: 06.04.2006
037 * Time: 22:32:57
038 */
039 /**
040 * Renders a listbox view of a tree.
041 */
042 @Tag(name = "treeListbox")
043 @BodyContentDescription(anyTagOf = "<f:facet>* <f:actionListener>?")
044 @Preliminary(
045 "Implement a var attribute for the tree like in the sheet (http://issues.apache.org/jira/browse/TOBAGO-18)")
046 @UIComponentTag(
047 uiComponent = "org.apache.myfaces.tobago.component.UITreeListbox",
048 rendererType = "TreeListbox")
049 public interface TreeListboxTagDeclaration extends TobagoTagDeclaration, HasIdBindingAndRendered, HasTreeNodeValue,
050 HasState, HasIdReference, HasNameReference, IsRequired {
051 /**
052 * Flag indicating whether or not this component should be render selectable items.
053 * Possible values are:
054 * <ul>
055 * <li><strong>single</strong> : a singleselection tree is rendered</li>
056 * <li><strong>singleLeafOnly</strong> : a singleselection tree is rendered,
057 * only Leaf's are selectable</li>
058 * <li><strong>siblingLeafOnly</strong> : a multiselection tree is rendered,
059 * where only sibling Leaf's are selectable</li>
060 * </ul>
061 */
062 @TagAttribute
063 @UIComponentTagAttribute(defaultValue = "single", allowedValues = {"single", "singleLeafOnly", "siblingLeafOnly"})
064 void setSelectable(String selectable);
065
066
067 /**
068 * reference to tip value.
069 */
070 @TagAttribute
071 @UIComponentTagAttribute()
072 void setTipReference(String tipReference);
073 }