org.zkoss.zul
Class Comboitem

java.lang.Object
  extended by org.zkoss.zk.ui.AbstractComponent
      extended by org.zkoss.zk.ui.HtmlBasedComponent
          extended by org.zkoss.zul.impl.XulElement
              extended by org.zkoss.zul.impl.LabelElement
                  extended by org.zkoss.zul.impl.LabelImageElement
                      extended by org.zkoss.zul.Comboitem
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, HtmlBasedComponent, Component, Scope, ComponentCtrl, Comboitem, LabelElement, LabelImageElement, XulElement

public class Comboitem
extends LabelImageElement
implements Comboitem

An item of a combo box.

Non-XUL extension. Refer to Combobox.

Default getZclass(): z-combo-item. (since 3.5.0)

Author:
tomyeh
See Also:
Combobox, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.zkoss.zul.impl.LabelImageElement
LabelImageElement.ExtraCtrl
 
Nested classes/interfaces inherited from class org.zkoss.zk.ui.AbstractComponent
AbstractComponent.Children
 
Field Summary
 
Fields inherited from class org.zkoss.zk.ui.HtmlBasedComponent
_zclass, RS_NO_DISPLAY, RS_NO_HEIGHT, RS_NO_WIDTH
 
Fields inherited from class org.zkoss.zk.ui.AbstractComponent
_visible
 
Fields inherited from interface org.zkoss.zk.ui.Component
APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPE
 
Constructor Summary
Comboitem()
           
Comboitem(java.lang.String label)
           
Comboitem(java.lang.String label, java.lang.String image)
           
 
Method Summary
 java.lang.String getContent()
          Returns the embedded content (i.e., HTML tags) that is shown as part of the description.
 java.lang.String getDescription()
          Returns the description (never null).
 java.lang.String getOuterAttrs()
          Returns the exterior attributes for generating the enclosing HTML tag; never return null.
protected  java.lang.String getRealSclass()
          Returns the real style class that will be generated to the client (when HtmlBasedComponent.getOuterAttrs() is called).
 java.lang.Object getValue()
          Returns the value associated with this combo item.
 java.lang.String getZclass()
          Returns the ZK Cascading Style class(es) for this component.
 boolean isChildable()
          No child is allowed.
 boolean isDisabled()
          Returns whether it is disabled.
 void onReIndex(Event evt)
           
 void setContent(java.lang.String content)
          Sets the embedded content (i.e., HTML tags) that is shown as part of the description.
 void setDescription(java.lang.String desc)
          Sets the description.
 void setDisabled(boolean disabled)
          Sets whether it is disabled.
 void setLabel(java.lang.String label)
          Sets the label.
 void setParent(Component parent)
          Sets the parent component.
 void setValue(java.lang.Object value)
          Associate the value with this combo item.
 
Methods inherited from class org.zkoss.zul.impl.LabelImageElement
getEncodedImageURL, getHoverImage, getImage, getImageContent, getImgTag, getImgTag, getSrc, isImageAssigned, newExtraCtrl, setHoverImage, setHoverImageContent, setHoverImageContent, setImage, setImageContent, setImageContent, setSrc
 
Methods inherited from class org.zkoss.zul.impl.LabelElement
getLabel
 
Methods inherited from class org.zkoss.zul.impl.XulElement
getAction, getActionAttrs, getAllOnClickAttrs, getContext, getCtrlKeys, getInnerAttrs, getPopup, getTooltip, setAction, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip
 
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
focus, getAllOnClickAttrs, getDraggable, getDroppable, getHeight, getLeft, getMoldSclass, getRealStyle, getRealStyleFlags, getSclass, getStyle, getTooltiptext, getTop, getWidth, getZindex, getZIndex, redraw, setClass, setDraggable, setDroppable, setFocus, setHeight, setLeft, setMoldSclass, setSclass, setStyle, setTooltiptext, setTop, setWidth, setZclass, setZindex, setZIndex
 
Methods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addAnnotation, addEventHandler, addEventListener, addForward, addForward, addForward, addForward, addMoved, addSharedAnnotationMap, addSharedEventHandlerMap, appendAsapAttr, appendAsapAttr, appendChild, applyProperties, clone, containsVariable, detach, equals, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotation, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttributes, getAttributes, getChildren, getCommand, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getExtraCtrl, getFellow, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getListenerIterator, getMold, getMoldURI, getNamespace, getNextSibling, getPage, getParent, getPreviousSibling, getRoot, getSpaceOwner, getUuid, getVariable, hasFellow, insertBefore, invalidate, isAsapRequired, isInvalidated, isListenerAvailable, isVisible, newChildren, onChildAdded, onChildRemoved, onDrawNewChild, onPageAttached, onPageDetached, onWrongValue, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, response, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setComponentDefinition, setId, setMold, setPage, setPageBefore, setVariable, setVisible, smartUpdate, smartUpdate, smartUpdate, smartUpdateDeferred, smartUpdateValues, toString, unsetVariable
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.zkoss.zul.impl.api.LabelImageElement
getHoverImage, getImage, getImageContent, setHoverImage, setHoverImageContent, setHoverImageContent, setImage, setImageContent, setImageContent
 
Methods inherited from interface org.zkoss.zul.impl.api.LabelElement
getLabel
 
Methods inherited from interface org.zkoss.zul.impl.api.XulElement
getAction, getContext, getCtrlKeys, getPopup, getTooltip, setAction, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip
 
Methods inherited from interface org.zkoss.zk.ui.api.HtmlBasedComponent
focus, getHeight, getLeft, getSclass, getStyle, getTooltiptext, getTop, getWidth, getZindex, getZIndex, setDraggable, setDroppable, setFocus, setHeight, setLeft, setSclass, setStyle, setTooltiptext, setTop, setWidth, setZclass, setZindex, setZIndex
 
Methods inherited from interface org.zkoss.zk.ui.Component
addEventListener, addForward, addForward, addForward, addForward, appendChild, applyProperties, clone, containsVariable, detach, getAttribute, getAttribute, getAttributes, getAttributes, getChildren, getDefinition, getDesktop, getFellow, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getListenerIterator, getMold, getNamespace, getNextSibling, getPage, getParent, getPreviousSibling, getRoot, getSpaceOwner, getUuid, getVariable, insertBefore, invalidate, isInvalidated, isListenerAvailable, isVisible, redraw, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, setAttribute, setAttribute, setId, setMold, setPage, setPageBefore, setVariable, setVisible, unsetVariable
 

Constructor Detail

Comboitem

public Comboitem()

Comboitem

public Comboitem(java.lang.String label)

Comboitem

public Comboitem(java.lang.String label,
                 java.lang.String image)
Method Detail

getRealSclass

protected java.lang.String getRealSclass()
Description copied from class: HtmlBasedComponent
Returns the real style class that will be generated to the client (when HtmlBasedComponent.getOuterAttrs() is called).

Default: it simply returns the catenation of HtmlBasedComponent.getSclass() and HtmlBasedComponent.getZclass() (since 3.5.0).

Derived classes might override it to provide, say, dual style classes. For example,

final String sclass = getSclass();
return sclass != null ? sclass + " my-addon": "myaddon";

Overrides:
getRealSclass in class HtmlBasedComponent
See Also:
HtmlBasedComponent.getZclass()

getZclass

public java.lang.String getZclass()
Description copied from class: HtmlBasedComponent
Returns the ZK Cascading Style class(es) for this component. It usually depends on the implementation of the mold (@{link #getMold}).

Default: null (the default value depends on element).

HtmlBasedComponent.setZclass(java.lang.String)) will completely replace the default style of a component. In other words, the default style of a component is associated with the default value of HtmlBasedComponent.getZclass(). Once it is changed, the default style won't be applied at all. If you want to perform small adjustments, use HtmlBasedComponent.setSclass(java.lang.String) instead.

Specified by:
getZclass in interface HtmlBasedComponent
Overrides:
getZclass in class HtmlBasedComponent
See Also:
HtmlBasedComponent.getSclass(), HtmlBasedComponent.getRealSclass()

setLabel

public void setLabel(java.lang.String label)
Description copied from class: LabelElement
Sets the label.

If label is changed, the whole component is invalidate. Thus, you want to smart-update, you have to override this method.

Specified by:
setLabel in interface LabelElement
Overrides:
setLabel in class LabelElement

setDisabled

public void setDisabled(boolean disabled)
Sets whether it is disabled.

Specified by:
setDisabled in interface Comboitem
Since:
3.0.1

isDisabled

public boolean isDisabled()
Returns whether it is disabled.

Default: false.

Specified by:
isDisabled in interface Comboitem
Since:
3.0.1

getDescription

public java.lang.String getDescription()
Returns the description (never null). The description is used to provide extra information such that users is easy to make a selection.

Default: "".

Specified by:
getDescription in interface Comboitem

setDescription

public void setDescription(java.lang.String desc)
Sets the description.

Specified by:
setDescription in interface Comboitem

getContent

public java.lang.String getContent()
Returns the embedded content (i.e., HTML tags) that is shown as part of the description.

It is useful to show the description in more versatile way.

Default: empty ("").

Specified by:
getContent in interface Comboitem
Since:
3.0.0
See Also:
getDescription()

setContent

public void setContent(java.lang.String content)
Sets the embedded content (i.e., HTML tags) that is shown as part of the description.

It is useful to show the description in more versatile way.

Specified by:
setContent in interface Comboitem
Since:
3.0.0
See Also:
setDescription(java.lang.String)

getValue

public java.lang.Object getValue()
Returns the value associated with this combo item. The value is application dependent. It can be anything.

It is usually used with Combobox.getSelectedItem(). For example, combobox.getSelectedItem().getValue()

Specified by:
getValue in interface Comboitem
Since:
2.4.0
See Also:
Combobox.getSelectedItem(), setValue(java.lang.Object)

setValue

public void setValue(java.lang.Object value)
Associate the value with this combo item. The value is application dependent. It can be anything.

Specified by:
setValue in interface Comboitem
Since:
2.4.0
See Also:
Combobox.getSelectedItem(), getValue()

setParent

public void setParent(Component parent)
Description copied from interface: Component
Sets the parent component.

Note: Component.setParent(org.zkoss.zk.ui.Component) always calls back Component.insertBefore(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component) and/or Component.removeChild(org.zkoss.zk.ui.Component), while Component.insertBefore(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component) and Component.removeChild(org.zkoss.zk.ui.Component) always calls back Component.setParent(org.zkoss.zk.ui.Component), if the parent is changed. Thus, you don't need to override both Component.insertBefore(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component) and Component.setParent(org.zkoss.zk.ui.Component), if you want to customize the behavior.

Specified by:
setParent in interface Component
Overrides:
setParent in class AbstractComponent

onReIndex

public void onReIndex(Event evt)

isChildable

public boolean isChildable()
No child is allowed.

Specified by:
isChildable in interface Component
Overrides:
isChildable in class AbstractComponent

getOuterAttrs

public java.lang.String getOuterAttrs()
Description copied from class: HtmlBasedComponent
Returns the exterior attributes for generating the enclosing HTML tag; never return null.

Used only by component developers.

Default: Generates the tooltip text, style, sclass, draggable and droppable attribute if necessary. In other words, the corresponding attribute is generated if HtmlBasedComponent.getTooltiptext(), HtmlBasedComponent.getRealStyle(), HtmlBasedComponent.getSclass(), HtmlBasedComponent.getDraggable(), HtmlBasedComponent.getDroppable() are defined.

You have to call both HtmlBasedComponent.getOuterAttrs() and HtmlBasedComponent.getInnerAttrs() to generate complete attributes.

For simple components that all attributes are put on the outest HTML element, all you need is as follows.

<xx id="${self.uuid}"${self.outerAttrs}${self.innerAttrs}>

If you want to put attributes in a nested HTML element, you shall use the following pattern. Notice: if HtmlBasedComponent.getInnerAttrs() in a different tag, the tag must be named with "${self.uuid}!real".

<xx id="${self.uuid}"${self.outerAttrs}>
 <yy id="${self.uuid}!real"${self.innerAttrs}>...

Note: This class handles non-deferrable event listeners automatically. However, you have to invoke AbstractComponent.appendAsapAttr(java.lang.StringBuffer, java.lang.String) for each event the component handles in HtmlBasedComponent.getOuterAttrs() as follows.


        appendAsapAttr(sb, Events.ON_OPEN);
  appendAsapAttr(sb, Events.ON_CHANGE);

Theorectically, you could put any attributes in either HtmlBasedComponent.getInnerAttrs() or HtmlBasedComponent.getOuterAttrs(). However, zkau.js assumes all attributes are put at the outer one. If you want something different, you have to provide your own setAttr (refer to how checkbox is implemented).

Overrides:
getOuterAttrs in class LabelImageElement


Copyright © 2005-2009 Potix Corporation. All Rights Reserved.