|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.zkoss.zk.ui.AbstractComponent
org.zkoss.zk.ui.HtmlBasedComponent
org.zkoss.zul.impl.XulElement
org.zkoss.zul.impl.LabelElement
org.zkoss.zul.impl.LabelImageElement
org.zkoss.zul.impl.HeaderElement
org.zkoss.zul.Listheader
public class Listheader
The list header which defines the attributes and header of a columen
of a list box.
Its parent must be Listhead.
Difference from XUL:
Listheader.
Reason: easier to write Listbox.Default getZclass(): z-list-header.(since 3.5.0)
| 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 | |
|---|---|
Listheader()
|
|
Listheader(java.lang.String label)
|
|
Listheader(java.lang.String label,
java.lang.String src)
|
|
Listheader(java.lang.String label,
java.lang.String src,
java.lang.String width)
|
|
| Method Summary | |
|---|---|
java.lang.Object |
clone()
Clones the component. |
java.lang.String |
getColumnHtmlPrefix()
Returns the prefix of the first column (in HTML tags), null if this is not first column. |
int |
getColumnIndex()
Returns the column index, starting from 0. |
Listbox |
getListbox()
Returns the listbox that this belongs to. |
Listbox |
getListboxApi()
Returns the listbox that this belongs to. |
int |
getMaxlength()
Returns the maximal length of each item's label. |
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.util.Comparator |
getSortAscending()
Returns the ascending sorter, or null if not available. |
java.util.Comparator |
getSortDescending()
Returns the descending sorter, or null if not available. |
java.lang.String |
getSortDirection()
Returns the sort direction. |
java.lang.Object |
getValue()
Returns the value. |
java.lang.String |
getZclass()
Returns the ZK Cascading Style class(es) for this component. |
protected void |
invalidateWhole()
Invalidates the whole box. |
void |
onSort()
It invokes sort(boolean) to sort list items and maintain
getSortDirection(). |
void |
setMaxlength(int maxlength)
Sets the maximal length of each item's label. |
void |
setParent(Component parent)
Sets the parent component. |
void |
setSort(java.lang.String type)
Sets the type of the sorter. |
void |
setSortAscending(java.util.Comparator sorter)
Sets the ascending sorter, or null for no sorter for the ascending order. |
void |
setSortAscending(java.lang.String clsnm)
Sets the ascending sorter with the class name, or null for no sorter for the ascending order. |
void |
setSortDescending(java.util.Comparator sorter)
Sets the descending sorter, or null for no sorter for the descending order. |
void |
setSortDescending(java.lang.String clsnm)
Sets the descending sorter with the class name, or null for no sorter for the descending order. |
void |
setSortDirection(java.lang.String sortDir)
Sets the sort direction. |
void |
setValue(java.lang.Object value)
Sets the value. |
boolean |
sort(boolean ascending)
Sorts the list items based on getSortAscending()
and getSortDescending(), if getSortDirection() doesn't
matches the ascending argument. |
boolean |
sort(boolean ascending,
boolean force)
Sorts the list items based on getSortAscending()
and getSortDescending(). |
| Methods inherited from class org.zkoss.zul.impl.HeaderElement |
|---|
getAlign, getColAttrs, getValign, setAlign, setValign, setVisible |
| 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, setLabel |
| 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 java.lang.Object |
|---|
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.zkoss.zul.impl.api.HeaderElement |
|---|
getAlign, getValign, setAlign, setValign |
| 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, setLabel |
| 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 |
| Constructor Detail |
|---|
public Listheader()
public Listheader(java.lang.String label)
public Listheader(java.lang.String label,
java.lang.String src)
public Listheader(java.lang.String label,
java.lang.String src,
java.lang.String width)
| Method Detail |
|---|
public Listbox getListbox()
public Listbox getListboxApi()
getListboxApi in interface Listheaderpublic java.lang.Object getValue()
Default: null.
Note: the value is application dependent, you can place whatever value you want.
public void setValue(java.lang.Object value)
value - the value.
Note: the value is application dependent, you can place whatever value you want.
public java.lang.String getSortDirection()
Default: "natural".
getSortDirection in interface Listheader
public void setSortDirection(java.lang.String sortDir)
throws WrongValueException
If you use sort(boolean) to sort list items,
the sort direction is maintained automatically.
If you want to sort it in customized way, you have to set the
sort direction manaully.
setSortDirection in interface ListheadersortDir - one of "ascending", "descending" and "natural"
WrongValueExceptionpublic void setSort(java.lang.String type)
If "auto" is specified,
setSortAscending(java.util.Comparator) and/or setSortDescending(java.util.Comparator)
are called with ListitemComparator, if
getSortDescending() and/or getSortAscending() are null.
If you assigned a comparator to them, it won't be affected.
The auto created comparator is case-insensitive.
If "auto(FIELD_NAME1, FIELD_NAME2, ...)" is specified,
setSortAscending(java.util.Comparator) and/or setSortDescending(java.util.Comparator)
are called with FieldComparator, if
getSortDescending() and/or getSortAscending() are null.
If you assigned a comparator to them, it won't be affected.
The auto created comparator is case-insensitive.
If "none" is specified, both setSortAscending(java.util.Comparator) and
setSortDescending(java.util.Comparator) are called with null.
Therefore, no more sorting is available to users for this column.
setSort in interface Listheaderpublic java.util.Comparator getSortAscending()
getSortAscending in interface Listheaderpublic void setSortAscending(java.util.Comparator sorter)
setSortAscending in interface Listheadersorter - the comparator used to sort the ascending order.
If you are using the group feature, you can pass an instance of
GroupComparator to have a better control.
If an instance of GroupComparator is passed,
GroupComparator.compareGroup(java.lang.Object, java.lang.Object) is used to group elements,
and Comparator.compare(java.lang.Object, java.lang.Object) is used to sort elements
with a group.
Otherwise, Comparator.compare(java.lang.Object, java.lang.Object) is used to group elements
and sort elements within a group.
public void setSortAscending(java.lang.String clsnm)
throws java.lang.ClassNotFoundException,
java.lang.InstantiationException,
java.lang.IllegalAccessException
setSortAscending in interface Listheaderjava.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessExceptionpublic java.util.Comparator getSortDescending()
getSortDescending in interface Listheaderpublic void setSortDescending(java.util.Comparator sorter)
setSortDescending in interface Listheadersorter - the comparator used to sort the ascending order.
If you are using the group feature, you can pass an instance of
GroupComparator to have a better control.
If an instance of GroupComparator is passed,
GroupComparator.compareGroup(java.lang.Object, java.lang.Object) is used to group elements,
and Comparator.compare(java.lang.Object, java.lang.Object) is used to sort elements
with a group.
Otherwise, Comparator.compare(java.lang.Object, java.lang.Object) is used to group elements
and sort elements within a group.
public void setSortDescending(java.lang.String clsnm)
throws java.lang.ClassNotFoundException,
java.lang.InstantiationException,
java.lang.IllegalAccessException
setSortDescending in interface Listheaderjava.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessExceptionpublic int getMaxlength()
getMaxlength in interface Listheaderpublic void setMaxlength(int maxlength)
setMaxlength in interface Listheaderpublic int getColumnIndex()
getColumnIndex in interface Listheaderpublic boolean sort(boolean ascending)
getSortAscending()
and getSortDescending(), if getSortDirection() doesn't
matches the ascending argument.
It checks getSortDirection() to see whether sorting
is required, and update setSortDirection(java.lang.String) after sorted.
For example, if getSortDirection() returns "ascending" and
the ascending argument is false, nothing happens.
To enforce the sorting, you can invoke setSortDirection(java.lang.String)
with "natural" before invoking this method.
Alternatively, you can invoke sort(boolean, boolean) instead.
It sorts the listitem by use of Components.sort(java.util.List, java.util.Comparator)
data (i.e., Grid.getModel() is null).
On the other hand, it invokes ListModelExt.sort(java.util.Comparator, boolean) to sort
the list item, if live data (i.e., Listbox.getModel() is not null).
In other words, if you use the live data, you have to implement
ListModelExt to sort the live data explicitly.
sort in interface Listheaderascending - whether to use getSortAscending().
If the corresponding comparator is not set, it returns false
and does nothing.
UiException - if Listbox.getModel() is not
null but ListModelExt is not implemented.
public boolean sort(boolean ascending,
boolean force)
getSortAscending()
and getSortDescending().
sort in interface Listheaderascending - whether to use getSortAscending().
If the corresponding comparator is not set, it returns false
and does nothing.force - whether to enforce the sorting no matter what the sort
direction (getSortDirection()) is.
If false, this method is the same as sort(boolean).
public void onSort()
sort(boolean) to sort list items and maintain
getSortDirection().
protected java.lang.String getRealSclass()
HtmlBasedComponentHtmlBasedComponent.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";
getRealSclass in class HtmlBasedComponentHtmlBasedComponent.getZclass()public java.lang.String getZclass()
HtmlBasedComponentDefault: 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 interface HtmlBasedComponentgetZclass in class HtmlBasedComponentHtmlBasedComponent.getSclass(),
HtmlBasedComponent.getRealSclass()public java.lang.String getOuterAttrs()
HtmlBasedComponentUsed 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).
getOuterAttrs in class HeaderElementpublic java.lang.String getColumnHtmlPrefix()
protected void invalidateWhole()
invalidateWhole in class HeaderElementpublic void setParent(Component parent)
ComponentNote: 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.
setParent in interface ComponentsetParent in class AbstractComponentpublic java.lang.Object clone()
Component
clone in interface Componentclone in class AbstractComponent
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||