|
||||||||||
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.zk.ui.HtmlMacroComponent
public class HtmlMacroComponent
The implemetation of a macro component for HTML-based clients.
Generally, a macro component is created automatically by ZK loader.
If a developer wants to create it manually, it has to instantiate from
the correct class, and then invoke afterCompose()
.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.zkoss.zk.ui.HtmlBasedComponent |
---|
HtmlBasedComponent.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 |
---|
_height, _left, _top, _width, _zclass |
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 |
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 | |
---|---|
HtmlMacroComponent()
|
Method Summary | |
---|---|
void |
afterCompose()
Creates the child components after apply dynamic properties setDynamicProperty(java.lang.String, java.lang.Object) . |
java.lang.Object |
clone()
Clones the component. |
java.lang.Object |
getDynamicProperty(java.lang.String name)
Returns the property value of the specified name. |
java.lang.String |
getMacroURI()
Returns the macro URI. |
java.lang.String |
getWidgetClass()
Returns the component class (aka., widget type), "zk.Macro". |
boolean |
hasDynamicProperty(java.lang.String name)
Returns whether a dynamic property is defined. |
protected boolean |
isChildable()
Returns whether this component can have a child. |
boolean |
isInline()
Returns whether this is an inline macro. |
void |
recreate()
Detaches all child components and then recreate them by use of AfterCompose.afterCompose() . |
void |
setDynamicProperty(java.lang.String name,
java.lang.Object value)
Sets a property with the specified name and value. |
void |
setMacroURI(java.lang.String uri)
Sets the macro URI. |
void |
setPage(Page page)
Changes the page. |
void |
setParent(Component parent)
Changes the parent. |
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent |
---|
focus, getDraggable, getDroppable, getHeight, getHflex, getLeft, getSclass, getStyle, getTooltiptext, getTop, getVflex, getWidth, getZclass, getZindex, getZIndex, newExtraCtrl, renderProperties, service, setClass, setDraggable, setDroppable, setFocus, setHeight, setHflex, setLeft, setSclass, setStyle, setTooltiptext, setTop, setVflex, 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.zk.ui.IdSpace |
---|
getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, hasFellow, hasFellow |
Methods inherited from interface org.zkoss.zk.ui.ext.Scope |
---|
addScopeListener, getAttribute, getAttribute, getAttributes, hasAttribute, hasAttribute, removeAttribute, removeAttribute, removeScopeListener, setAttribute, setAttribute |
Constructor Detail |
---|
public HtmlMacroComponent()
Method Detail |
---|
public java.lang.String getWidgetClass()
getWidgetClass
in interface Component
getWidgetClass
in class AbstractComponent
public void afterCompose()
setDynamicProperty(java.lang.String, java.lang.Object)
.
The second invocation is ignored. If you want to recreate
child components, use recreate()
instead.
If a macro component is created by ZK loader, this method is invoked automatically. Developers need to invoke this method only if they create a macro component manually.
If this is an line macro, this method is invoked automatically
if setParent(org.zkoss.zk.ui.Component)
or setPage(org.zkoss.zk.ui.Page)
called
afterCompose
in interface AfterCompose
public java.lang.String getMacroURI()
Macro
If Macro.setMacroURI(java.lang.String)
wasn't called, it returns the URI
defined in the macro definition.
getMacroURI
in interface Macro
public void setMacroURI(java.lang.String uri)
Macro
Note: this method calls Macro.recreate()
automatically
if uri is changed.
setMacroURI
in interface Macro
uri
- the URI of this macro. If null, the default is used.public void recreate()
Macro
AfterCompose.afterCompose()
.
It is used if you have assigned new values to dynamical properties and want to re-create child components to reflect the new values. Note: it is convenient but the performance is better if you can manipulate only the child components that need to be changed. Refer to the Developer's Guide for details.
recreate
in interface Macro
public boolean isInline()
Macro
ComponentDefinition.newInstance(org.zkoss.zk.ui.Page, java.lang.String)
.
isInline
in interface Macro
public void setParent(Component parent)
Note: if this is an inline macro (isInline()
),
this method actually changes the parent of all components created
from the macro URI.
In other word, an inline macro behaves like a controller of
the components it created. It doesn't belong to any page or parent.
Moreover, afterCompose()
is called automatically if
it is not called (and this is an inline macro).
setParent
in interface Component
setParent
in class AbstractComponent
public void setPage(Page page)
Note: if this is an inline macro (isInline()
),
this method actually changes the page of all components created
from the macro URI.
In other word, an inline macro behaves like a controller of
the components it created. It doesn't belong to any page or parent.
Moreover, afterCompose()
is called automatically if
it is not called (and this is an inline macro).
setPage
in interface Component
setPage
in class AbstractComponent
ComponentCtrl.onPageAttached(org.zkoss.zk.ui.Page, org.zkoss.zk.ui.Page)
,
ComponentCtrl.onPageDetached(org.zkoss.zk.ui.Page)
protected boolean isChildable()
AbstractComponent
Default: return true (means it can have children).
isChildable
in class AbstractComponent
public java.lang.Object clone()
Component
clone
in interface Component
clone
in class AbstractComponent
public boolean hasDynamicProperty(java.lang.String name)
DynamicPropertied
hasDynamicProperty
in interface DynamicPropertied
public java.lang.Object getDynamicProperty(java.lang.String name)
DynamicPropertied
getDynamicProperty
in interface DynamicPropertied
public void setDynamicProperty(java.lang.String name, java.lang.Object value) throws WrongValueException
DynamicPropertied
If a component supports only String-type values, it could use org.zkoss.lang.Objects.toString() to convert the value to a String instance.
setDynamicProperty
in interface DynamicPropertied
WrongValueException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |