public class Listitem extends XulElement
Default getZclass()
: z-listitem (since 5.0.0)
Modifier and Type | Class and Description |
---|---|
protected class |
Listitem.ExtraCtrl
A utility class to implement
HtmlBasedComponent.getExtraCtrl() . |
AbstractComponent.Children
_zclass
APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPE
CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE
Constructor and Description |
---|
Listitem() |
Listitem(java.lang.String label) |
Listitem(java.lang.String label,
T value) |
Modifier and Type | Method and Description |
---|---|
protected void |
addMoved(Component oldparent,
Page oldpg,
Page newpg)
Called when this component is moved from the specified parent
and/or page to the new page.
|
void |
beforeChildAdded(Component child,
Component refChild)
Default: does nothing.
|
void |
beforeParentChanged(Component parent)
Default: does nothing.
|
java.lang.Object |
clone()
Clones the component.
|
java.lang.Object |
getExtraCtrl()
Returns the client control for this component.
|
java.lang.String |
getImage()
Returns the image of the
Listcell it contains. |
int |
getIndex()
Returns the index of this item (a.k.a., the order in the listbox).
|
java.lang.String |
getLabel()
Returns the label of the
Listcell it contains, or null
if no such cell. |
Listbox |
getListbox()
Returns the list box that it belongs to.
|
Listgroup |
getListgroup()
Returns the listgroup that this item belongs to, or null.
|
int |
getMaxlength()
Returns the maximal length of each item's label.
|
java.lang.String |
getMold()
Returns the mold used to render this component.
|
java.lang.String |
getSrc()
Deprecated.
As of release 3.5.0, it is redundant since it
is the same
getImage() . |
<T> T |
getValue()
Returns the value.
|
java.lang.String |
getZclass()
Returns the ZK Cascading Style class(es) for this component.
|
boolean |
isCheckable()
Deprecated.
As of release 8.0.0, please use
isSelectable() |
boolean |
isDisabled()
Returns whether it is disabled.
|
boolean |
isLoaded()
Returns whether the content of this item is loaded.
|
boolean |
isSelectable()
Returns whether it is selectable.
|
boolean |
isSelected()
Returns whether it is selected.
|
protected void |
renderProperties(ContentRenderer renderer)
Renders the content of this component, excluding the enclosing
tags and children.
|
void |
setCheckable(boolean checkable)
Deprecated.
As of release 8.0.0, please use
setSelectable(boolean) |
void |
setDisabled(boolean disabled)
Sets whether it is disabled.
|
void |
setHflex(java.lang.String flex)
Deprecated.
as of release 6.0.0. To control the size of Listbox related
components, please refer to
Listbox and Listheader instead. |
void |
setImage(java.lang.String image)
Sets the image of the
Listcell it contains. |
protected void |
setIndex(int index) |
void |
setLabel(java.lang.String label)
Sets the label of the
Listcell it contains. |
void |
setSelectable(boolean selectable)
Sets whether it is selectable.
|
void |
setSelected(boolean selected)
Sets whether it is selected.
|
void |
setSrc(java.lang.String src)
Deprecated.
As of release 3.5.0, it is redundant since it
is the same
getSrc() . |
void |
setStubonly(boolean stubonly)
Deprecated.
as of release 7.0.3.
|
void |
setStubonly(java.lang.String stubonly)
Deprecated.
as of release 7.0.3.
|
<T> void |
setValue(T value)
Sets the value.
|
boolean |
setVisible(boolean visible)
Sets whether this component is visible.
|
void |
setWidth(java.lang.String width)
Deprecated.
as of release 6.0.0. To control the size of Listbox related
components, please refer to
Listbox and Listheader instead. |
protected void |
smartUpdate(java.lang.String name,
boolean value)
A special smart update to update a value in boolean.
|
protected void |
smartUpdate(java.lang.String name,
int value)
A special smart update to update a value in int.
|
protected void |
smartUpdate(java.lang.String name,
java.lang.Object value)
Smart-updates a property of the peer widget associated with
the component, running at the client, with the given value.
|
getContext, getCtrlKeys, getPopup, getPropertyAccess, getTooltip, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip
focus, getAction, getDraggable, getDroppable, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTooltiptext, getTop, getVflex, getWidth, getZindex, getZIndex, service, setAction, setClass, setDraggable, setDroppable, setFocus, setHeight, setHeightDirectly, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTooltiptext, setTop, setTopDirectly, setVflex, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly
addAnnotation, addAnnotation, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildRemoved, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, enableBindingAnnotation, equals, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotation, getAnnotations, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getChildren, getClientAttribute, getClientDataAttribute, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getListenerIterator, getNextSibling, getPage, getParent, getPreviousSibling, getRedrawCallback, getRoot, getShadowRoots, getShadowVariable, getShadowVariable0, getSpaceOwner, getSpecialRendererOutput, getStubonly, getSubBindingAnnotationCount, getTemplate, getTemplateNames, getUuid, getWidgetAttribute, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasBindingAnnotation, hasFellow, hasFellow, hasSubBindingAnnotation, insertBefore, invalidate, isChildable, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, onWrongValue, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, replace, response, response, response, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setClientAttribute, setClientDataAttribute, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setSubBindingAnnotationCount, setTemplate, setVisibleDirectly, setWidgetAttribute, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
public Listitem()
public Listitem(java.lang.String label)
public Listitem(java.lang.String label, T value)
public Listbox getListbox()
It is the same as AbstractComponent.getParent()
.
public Listgroup getListgroup()
public java.lang.String getZclass()
HtmlBasedComponent
AbstractComponent.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.
getZclass
in class HtmlBasedComponent
HtmlBasedComponent.getSclass()
public boolean isCheckable()
isSelectable()
public void setCheckable(boolean checkable)
setSelectable(boolean)
public boolean isSelectable()
Default: true.
public void setSelectable(boolean selectable)
If the listbox is in a checkmark mode, the selectable state will affect the checkable icon to display or not.
Default: true.
selectable
- public int getMaxlength()
public <T> T getValue()
Default: null.
Note: the value is application dependent, you can place whatever value you want.
If you are using listitem with HTML Form (and with the name attribute), it is better to specify a String-typed value.
public <T> void setValue(T value)
value
- the value.
Note: the value is application dependent, you can place whatever value you want.
If you are using listitem with HTML Form (and with the name attribute), it is better to specify a String-typed value.
public void setStubonly(java.lang.String stubonly)
setStubonly
in interface Component
setStubonly
in class AbstractComponent
stubonly
- whether it is stub-only. The allowed values include
"true", "false" and "inherit".public void setStubonly(boolean stubonly)
setStubonly
in interface Component
setStubonly
in class AbstractComponent
public boolean isDisabled()
Default: false.
public void setDisabled(boolean disabled)
public boolean isSelected()
Default: false.
public void setSelected(boolean selected)
public java.lang.String getLabel()
Listcell
it contains, or null
if no such cell.public void setLabel(java.lang.String label)
Listcell
it contains.
If it is not created, we automatically create it.
public java.lang.String getSrc()
getImage()
.public void setSrc(java.lang.String src)
getSrc()
.public java.lang.String getImage()
Listcell
it contains.public void setImage(java.lang.String image)
Listcell
it contains.
If it is not created, we automatically create it.
public int getIndex()
public boolean isLoaded()
getListbox()
is live data,
i.e., Listbox.getModel()
is not null.protected void setIndex(int index)
public boolean setVisible(boolean visible)
Component
setVisible
in interface Component
setVisible
in class AbstractComponent
protected void smartUpdate(java.lang.String name, java.lang.Object value)
AbstractComponent
The second invocation with the same property will replace the previous
call. In other words, the same property will be set only once in
each execution. If you prefer to send both updates to the client,
use AbstractComponent.smartUpdate(String, Object, boolean)
instead.
This method has no effect if AbstractComponent.invalidate()
is ever invoked
(in the same execution), since AbstractComponent.invalidate()
assumes
the whole content shall be redrawn and all smart updates to
this components can be ignored,
Once AbstractComponent.invalidate()
is called, all invocations to AbstractComponent.smartUpdate(String, Object)
will then be ignored, and AbstractComponent.redraw(java.io.Writer)
will be invoked later.
It can be called only in the request-processing and event-processing phases; excluding the redrawing phase.
There are two ways to draw a component, one is to invoke
Component.invalidate()
, and the other is AbstractComponent.smartUpdate(String, Object)
.
While Component.invalidate()
causes the whole content to redraw,
AbstractComponent.smartUpdate(String, Object)
let component developer control which part
to redraw.
smartUpdate
in class AbstractComponent
value
- the new value.
If it is DeferredValue
, the value
will be retrieved (by calling DeferredValue.getValue()
)
in the rendering phase. It is useful if the value can not be determined now.
For some old application servers (example, Websphere 5.1),
Execution.encodeURL(java.lang.String)
cannot be called in the event processing
thread. So, the developers have to use DeferredValue
or disable the use of the event processing thread
(by use of disable-event-thread
in zk.xml).
If you want to generate the JavaScript code directly (i.e.,
the value is a valid JavaScript snippet), you can use
JavaScriptValue
. Notice that the JavaScript code will be evaluated
before assigning it to the widget.
If the value is a Date object, a special pattern will be generated
(a.k.a., marshaling)
to ensure it can be unmarshalled back correctly at the client.
Notice that it is marshalled to a string based
on TimeZones.getCurrent()
, and then
unmarshalled back at the client. In other words, if the client
is in different time-zone, the value returned by getTime() might
be different. However, the value will remain the same if
the client marshalled the Date object back.
In other words, it assumes the browser's time zone from enduser's
perspective (not really browser's setting) shall be the same
as TimeZones.getCurrent()
.
If the value is a component, a special pattern will be generated to ensure it can be unmarshalled back correctly at the client.
In addition, the value can be any kind of objects that
the client accepts (marshaled by JSON) (see also JSONAware
).
AbstractComponent.updateByClient(java.lang.String, java.lang.Object)
,
AbstractComponent.smartUpdate(String, Object, boolean)
protected void smartUpdate(java.lang.String name, boolean value)
AbstractComponent
It is the same as AbstractComponent.smartUpdate(String, Object)
.
smartUpdate
in class AbstractComponent
protected void smartUpdate(java.lang.String name, int value)
AbstractComponent
It is the same as AbstractComponent.smartUpdate(String, Object)
.
smartUpdate
in class AbstractComponent
public java.lang.String getMold()
Component
Default: "default"
Since 5.0, the default can be overridden by specify a library property. For example, if the component's class name is org.zkoss.zul.Button, then you can override the default mold by specifying the property called "org.zkoss.zul.Button.mold" with the mold you want in zk.xml. For example,
<library-property>
<name>org.zkoss.zul.Button.mold</name>
<value>trendy</value>
</library-property>
Notice that it doesn't affect the deriving classes. If you want to change the deriving class's default mold, you have to specify them explicitly, too.
getMold
in interface Component
getMold
in class AbstractComponent
ComponentDefinition
public void setWidth(java.lang.String width)
Listbox
and Listheader
instead.HtmlBasedComponent
setWidth
in class HtmlBasedComponent
HtmlBasedComponent.setWidthDirectly(java.lang.String)
,
AbstractComponent.disableClientUpdate(boolean)
public void setHflex(java.lang.String flex)
Listbox
and Listheader
instead.HtmlBasedComponent
Number flex indicates how this component's container distributes remaining empty space among its children horizontally. Flexible component grow and shrink to fit their given space. Flexible components with larger flex values will be made larger than components with lower flex values, at the ratio determined by all flexible components. The actual flex value is not relevant unless there are other flexible components within the same container. Once the default sizes of components in a container are calculated, the remaining space in the container is divided among the flexible components, according to their flex ratios.
Specify a flex value of negative value, 0, or "false" has the same effect as leaving the flex attribute out entirely. Specify a flex value of "true" has the same effect as a flex value of 1.
Special flex hint, "min", indicates that the minimum space shall be given to this flexible component to enclose all of its children components. That is, the flexible component grow and shrink to fit its children components.
setHflex
in class HtmlBasedComponent
flex
- horizontal flex hint of this component.HtmlBasedComponent.setVflex(java.lang.String)
,
HtmlBasedComponent.getHflex()
protected void renderProperties(ContentRenderer renderer) throws java.io.IOException
HtmlBasedComponent
renderProperties
in class XulElement
java.io.IOException
protected void addMoved(Component oldparent, Page oldpg, Page newpg)
AbstractComponent
Default: it notifies UiEngine
to update the component
at the client (usually remove-and-add).
It is designed to let derived classes overriding this method to disable this update. However, you rarely need to override it. One possible but rare case: the component's visual part at the client updates the visual representation at the client and then notify the component at the server to update its children accordingly. In this case, it is redundant if we ask UI Engine to send the updates to client.
addMoved
in class AbstractComponent
oldparent
- the parent before moved.
The new parent can be found by calling AbstractComponent.getParent()
.oldpg
- the parent before moved.newpg
- the new page. AbstractComponent.getPage()
might return
the old page.public void beforeParentChanged(Component parent)
AbstractComponent
beforeParentChanged
in interface ComponentCtrl
beforeParentChanged
in class AbstractComponent
parent
- the new parent. If null, it means detachment.ComponentCtrl.beforeParentChanged(org.zkoss.zk.ui.Component)
public void beforeChildAdded(Component child, Component refChild)
AbstractComponent
beforeChildAdded
in interface ComponentCtrl
beforeChildAdded
in class AbstractComponent
child
- the child to be added (never null).refChild
- another child component that the new child
will be inserted before it. If null, the new child will be the
last child.ComponentCtrl.beforeChildAdded(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)
public java.lang.Object clone()
Component
clone
in interface Component
clone
in class XulElement
public java.lang.Object getExtraCtrl()
HtmlBasedComponent
Default: creates an instance of HtmlBasedComponent.ExtraCtrl
.
getExtraCtrl
in interface ComponentCtrl
getExtraCtrl
in class HtmlBasedComponent
Cropper
.ComponentCtrl.getExtraCtrl()
Copyright © 2005-2011 Potix Corporation. All Rights Reserved.