|
||||||||||
| 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.Treechildren
public class Treechildren
A treechildren.
| Nested Class Summary | |
|---|---|
protected class |
Treechildren.ExtraCtrl
A utility class to implement HtmlBasedComponent.getExtraCtrl(). |
| 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 |
| Fields inherited from interface org.zkoss.zk.ui.Component |
|---|
APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPE |
| Fields inherited from interface org.zkoss.zk.ui.sys.ComponentCtrl |
|---|
CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE |
| Constructor Summary | |
|---|---|
Treechildren()
|
|
| Method Summary | |
|---|---|
void |
beforeChildAdded(Component child,
Component refChild)
Default: does nothing. |
void |
beforeParentChanged(Component parent)
Default: does nothing. |
java.lang.Object |
getExtraCtrl()
Returns the client control for this component. |
int |
getItemCount()
Returns the number of child Treeitem
including all descendants. |
java.util.Collection<Treeitem> |
getItems()
Returns a readonly list of all descending Treeitem
(children's children and so on). |
Treerow |
getLinkedTreerow()
Returns the Treerow that is associated with
this treechildren, or null if no such treerow. |
Tree |
getTree()
Returns the Tree instance containing this element. |
int |
getVisibleItemCount()
Returns the number of visible descendant Treeitem. |
java.lang.String |
getZclass()
Returns the ZK Cascading Style class(es) for this component. |
boolean |
insertBefore(Component newChild,
Component refChild)
Inserts a child before the reference child. |
void |
onChildAdded(Component child)
Default: does nothing. |
void |
onChildRemoved(Component child)
Default: does nothing. |
void |
onPageAttached(Page newpage,
Page oldpage)
Default: handles special event listeners. |
protected void |
redrawChildren(java.io.Writer out)
Redraws children (and then recursively descendants). |
void |
setHflex(java.lang.String flex)
Deprecated. as of release 6.0.0. To control the size of Tree related components, please refer to Tree and Treecol instead. |
void |
setParent(Component parent)
Sets the parent component. |
void |
setWidth(java.lang.String width)
Deprecated. as of release 6.0.0. To control the size of Tree related components, please refer to Tree and Treecol instead. |
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. |
| Methods inherited from class org.zkoss.zul.impl.XulElement |
|---|
clone, getContext, getCtrlKeys, getPopup, getTooltip, renderProperties, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip |
| Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent |
|---|
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 |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public Treechildren()
| Method Detail |
|---|
public Tree getTree()
Tree instance containing this element.
public Treerow getLinkedTreerow()
Treerow that is associated with
this treechildren, or null if no such treerow.
In other words, it is Treeitem.getTreerow() of
AbstractComponent.getParent().
Treerow.getLinkedTreechildren()public java.util.Collection<Treeitem> getItems()
Treeitem
(children's children and so on).
Note: the performance of the size method of returned collection is no good.
public int getItemCount()
Treeitem
including all descendants. The same as getItems().size().
Note: the performance is no good.
public int getVisibleItemCount()
Treeitem.
Descendants include direct children, grand children and so on.
public void onChildAdded(Component child)
AbstractComponent
onChildAdded in interface ComponentCtrlonChildAdded in class AbstractComponentComponentCtrl.onChildAdded(org.zkoss.zk.ui.Component)public void onChildRemoved(Component child)
AbstractComponent
onChildRemoved in interface ComponentCtrlonChildRemoved in class AbstractComponentComponentCtrl.onChildRemoved(org.zkoss.zk.ui.Component)
public boolean insertBefore(Component newChild,
Component refChild)
ComponentYou could use Component.setParent(org.zkoss.zk.ui.Component) or Component.appendChild(org.zkoss.zk.ui.Component)
instead of this method, unless
you want to control where to put the child.
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.
If you would like to monitor if a component is attached or detached
from a page, you could register a desktop listener implementing
UiLifeCycle.
insertBefore in interface ComponentinsertBefore in class AbstractComponentnewChild - the new child to be inserted.refChild - the child before which you want the new child
being inserted. If null, the new child is append to the end.
public void setWidth(java.lang.String width)
Tree and Treecol instead.
HtmlBasedComponent
setWidth in class HtmlBasedComponentHtmlBasedComponent.setWidthDirectly(java.lang.String),
AbstractComponent.disableClientUpdate(boolean)public void setHflex(java.lang.String flex)
Tree and Treecol instead.
HtmlBasedComponentNumber 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 HtmlBasedComponentflex - horizontal flex hint of this component.HtmlBasedComponent.setVflex(java.lang.String),
HtmlBasedComponent.getHflex()public void beforeParentChanged(Component parent)
AbstractComponent
beforeParentChanged in interface ComponentCtrlbeforeParentChanged in class AbstractComponentparent - the new parent. If null, it means detachment.ComponentCtrl.beforeParentChanged(org.zkoss.zk.ui.Component)public 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 AbstractComponent
public void beforeChildAdded(Component child,
Component refChild)
AbstractComponent
beforeChildAdded in interface ComponentCtrlbeforeChildAdded in class AbstractComponentchild - 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.String getZclass()
HtmlBasedComponentAbstractComponent.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 HtmlBasedComponentHtmlBasedComponent.getSclass()
protected void smartUpdate(java.lang.String name,
java.lang.Object value)
AbstractComponentThe 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 AbstractComponentvalue - 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)
public void onPageAttached(Page newpage,
Page oldpage)
AbstractComponent
onPageAttached in interface ComponentCtrlonPageAttached in class AbstractComponentnewpage - the new page (never null).oldpage - the previous page, if any, or null if it didn't
belong to any page.ComponentCtrl.onPageAttached(org.zkoss.zk.ui.Page, org.zkoss.zk.ui.Page)
protected void redrawChildren(java.io.Writer out)
throws java.io.IOException
AbstractComponentDefault: it invokes AbstractComponent.redraw(java.io.Writer) for all its children.
If a derived class renders only a subset of its children
(such as paging/cropping), it could override AbstractComponent.redrawChildren(java.io.Writer).
redrawChildren in class AbstractComponentjava.io.IOExceptionAbstractComponent.redraw(java.io.Writer)public java.lang.Object getExtraCtrl()
HtmlBasedComponentDefault: creates an instance of HtmlBasedComponent.ExtraCtrl.
getExtraCtrl in interface ComponentCtrlgetExtraCtrl in class HtmlBasedComponentCropper.ComponentCtrl.getExtraCtrl()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||