Class XulElement
- java.lang.Object
-
- org.zkoss.zk.ui.AbstractComponent
-
- org.zkoss.zk.ui.HtmlBasedComponent
-
- org.zkoss.zul.impl.XulElement
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,Component
,Scope
,ComponentCtrl
- Direct Known Subclasses:
Absolutechildren
,Absolutelayout
,Anchorchildren
,Anchorlayout
,Anchornav
,Audio
,Auxhead
,Bandpopup
,Barcode
,Barcodescanner
,Biglistbox
,Box
,Calendar
,Camera
,Cardlayout
,Cell
,Coachmark
,Colorbox
,Columnchildren
,Columnlayout
,Detail
,Div
,Drawer
,Dropupload
,Fisheyebar
,Foot
,Frozen
,GoldenLayout
,GoldenPanel
,Groupbox
,HeadersElement
,Html
,Image
,Include
,InputElement
,Inputgroup
,Label
,LabelElement
,Layout
,LayoutRegion
,Lineitem
,Linelayout
,Listfoot
,Listitem
,Menubar
,Menuseparator
,MeshElement
,Navbar
,Navseparator
,Organigram
,Orgchildren
,Orgitem
,Paging
,Panel
,Panelchildren
,Pdfviewer
,Popup
,Portalchildren
,Portallayout
,Progressmeter
,Radiogroup
,Rangeslider
,Row
,Rowchildren
,Rowlayout
,Rows
,Scrollview
,Separator
,Signature
,Slider
,Sliderbuttons
,Span
,Splitlayout
,Splitter
,Step
,Stepbar
,Tabbox
,Tablechildren
,Tablelayout
,Tabpanel
,Tabpanels
,Tabs
,Tbeditor
,Toolbar
,Track
,Treechildren
,Treefoot
,Treeitem
,Treerow
,Video
,Window
public abstract class XulElement extends HtmlBasedComponent
The fundamental class for XUL elements.- Author:
- tomyeh
- See Also:
- Serialized Form
-
-
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, AbstractComponent.ForwardInfo, AbstractComponent.TargetInfo
-
-
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
AFTER_CHILD_ADDED, AFTER_CHILD_REMOVED, AFTER_PAGE_ATTACHED, AFTER_PAGE_DETACHED, AFTER_PARENT_CHANGED, CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE
-
-
Constructor Summary
Constructors Constructor Description XulElement()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
clone()
Clones the component.java.lang.String
getContext()
Returns the ID of the popup (Popup
) that should appear when the user right-clicks on the element (a.k.a., context menu).java.lang.String
getCtrlKeys()
Returns what keystrokes to intercept.java.lang.String
getPopup()
Returns the ID of the popup (Popup
) that should appear when the user clicks on the element.PropertyAccess
getPropertyAccess(java.lang.String prop)
Returns the corresponding property access object from the given property name, if any.java.lang.String
getTooltip()
Returns the ID of the popup (Popup
) that should be used as a tooltip window when the mouse hovers over the element for a moment.protected void
renderProperties(ContentRenderer renderer)
Renders the content of this component, excluding the enclosing tags and children.void
setContext(java.lang.String context)
Sets the ID of the popup (Popup
) that should appear when the user right-clicks on the element (a.k.a., context menu).void
setContext(Popup popup)
Sets the UUID of the popup that should appear when the user right-clicks on the element (a.k.a., context menu).void
setContextAttributes(Popup popup, java.lang.String position, java.lang.String x, java.lang.String y, java.lang.String type)
Sets the Attributes for the Context Popup Note that position will be ignored if coordinates are set.void
setCtrlKeys(java.lang.String ctrlKeys)
Sets what keystrokes to intercept.void
setPopup(java.lang.String popup)
Sets the ID of the popup (Popup
) that should appear when the user clicks on the element.void
setPopup(Popup popup)
Sets the UUID of the popup that should appear when the user clicks on the element.void
setPopupAttributes(Popup popup, java.lang.String position, java.lang.String x, java.lang.String y, java.lang.String type)
Sets the Attributes for the Popup Note that position will be ignored if coordinates are set.void
setTooltip(java.lang.String tooltip)
Sets the ID of the popup (Popup
) that should be used as a tooltip window when the mouse hovers over the element for a moment.void
setTooltip(Popup popup)
Sets the UUID of the popup that should be used as a tooltip window when the mouse hovers over the element for a moment.void
setTooltipAttributes(Popup popup, java.lang.String position, java.lang.String x, java.lang.String y, java.lang.Integer delay)
Sets the Attributes for the Tooltip Popup Note that position will be ignored if coordinates are set.-
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
addSclass, evalCSSFlex, focus, getAction, getClientAction, getDraggable, getDroppable, getExtraCtrl, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTabindexInteger, getTooltiptext, getTop, getVflex, getWidth, getZclass, getZindex, getZIndex, removeSclass, removeSclass, service, setAction, setClass, setClientAction, setDraggable, setDroppable, setFocus, setHeight, setHeight0, setHeightDirectly, setHflex, setHflex0, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTabindex, setTabindex, setTooltiptext, setTop, setTopDirectly, setVflex, setVflex0, setVflexDirectly, setWidth, setWidth0, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly
-
Methods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addCallback, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildAdded, beforeChildRemoved, beforeParentChanged, destroyIndexCacheMap, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, disableHostChanged, enableBindingAnnotation, enableHostChanged, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getCallback, getChildren, getClientAttribute, getClientDataAttribute, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getForwards, getId, getIndexCacheMap, getLastChild, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRedrawCallback, getRoot, getShadowFellowIfAny, getShadowRoots, getShadowVariable, getShadowVariable, getShadowVariable0, getSpaceOwner, getSpecialRendererOutput, getStubonly, getSubBindingAnnotationCount, getTemplate, getTemplateNames, getUuid, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasBindingAnnotation, hasFellow, hasFellow, hasSubBindingAnnotation, initIndexCacheMap, insertBefore, invalidate, isChildable, isDisabledHostChanged, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, onParentChanged, onWrongValue, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeCallback, removeChild, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, renderPropertiesOnly, replace, response, response, response, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setClientAttribute, setClientDataAttribute, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setStubonly, setStubonly, setSubBindingAnnotationCount, setTemplate, setVisible, setVisibleDirectly, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
-
-
-
-
Method Detail
-
getCtrlKeys
public java.lang.String getCtrlKeys()
Returns what keystrokes to intercept.Default: null.
- Since:
- 3.0.6
-
setCtrlKeys
public void setCtrlKeys(java.lang.String ctrlKeys) throws UiException
Sets what keystrokes to intercept.The string could be a combination of the following:
- ^k
- A control key, i.e., Ctrl+k, where k could be a~z, 0~9, #n
- @k
- A alt key, i.e., Alt+k, where k could be a~z, 0~9, #n
- $n
- A shift key, i.e., Shift+n, where n could be #n. Note: $a ~ $z are not supported.
- #home
- Home
- #end
- End
- #ins
- Insert
- #del
- Delete
- #bak
- Backspace
- #left
- Left arrow
- #right
- Right arrow
- #up
- Up arrow
- #down
- Down arrow
- #pgup
- PageUp
- #pgdn
- PageDn
- #f1 #f2 ... #f12
- Function keys representing F1, F2, ... F12
- %[?]
- Mac command(⌘), [?] can be
a~z, 0~9, #[?]
. (since 8.5.0) - #tab
- Tab (since 9.5.1)
For example,
- ^a^d@c#f10#left#right
- It means you want to intercept Ctrl+A, Ctrl+D, Alt+C, F10, Left and Right.
- ^#left
- It means Ctrl+Left.
- ^#f1
- It means Ctrl+F1.
- @#f3
- It means Alt+F3.
Note: it doesn't support Ctrl+Alt, Shift+Ctrl, Shift+Alt or Shift+Ctrl+Alt.
- Throws:
UiException
- Since:
- 3.0.6
-
getContext
public java.lang.String getContext()
Returns the ID of the popup (Popup
) that should appear when the user right-clicks on the element (a.k.a., context menu).Default: null (no context menu).
-
setContext
public void setContext(java.lang.String context)
Sets the ID of the popup (Popup
) that should appear when the user right-clicks on the element (a.k.a., context menu).An onOpen event is sent to the context menu if it is going to appear. Therefore, developers can manipulate it dynamically (perhaps based on OpenEvent.getReference) by listening to the onOpen event.
Note: To simplify the use, it not only searches its ID space, but also all ID spaces in the desktop. It first searches its own ID space, and then the other Id spaces in the same browser window (might have one or multiple desktops).
(since 3.0.2) If there are two components with the same ID (of course, in different ID spaces), you can specify the UUID with the following format:
uuid(comp_uuid)
Example:
Both reference a component whose ID is "some". But, if there are several components with the same ID, the first one can reference to any of them. And, the second one reference to the component in the same ID space (of the label component).<label context="some"> <label context="uuid(${some.uuid})"/>
(since 3.6.3) the context menu can be shown by a position from
Popup.open(org.zkoss.zk.ui.Component, String)
or the location ofx
andy
, you can specify the following format:id, position
id, position=before_start
id, x=15, y=20
uuid(comp_uuid), position
uuid(comp_uuid), x=15, y=20
<button label="show" context="id, start_before"/>
(since 6.5.2) the context menu can also be shown on customized location of
x
andy
by adding parentheses"()", for example,<button label="show" context="id, x=(zk.currentPointer[0] + 10), y=(zk.currentPointer[1] - 10)"/>
- See Also:
setContext(Popup)
-
setContext
public void setContext(Popup popup)
Sets the UUID of the popup that should appear when the user right-clicks on the element (a.k.a., context menu).Note: it actually invokes
setContext("uuid(" + popup.getUuid() + ")")
- Since:
- 3.0.2
- See Also:
setContext(String)
,Popup.open(org.zkoss.zk.ui.Component, String)
-
setContextAttributes
public void setContextAttributes(Popup popup, java.lang.String position, java.lang.String x, java.lang.String y, java.lang.String type)
Sets the Attributes for the Context Popup Note that position will be ignored if coordinates are set.- Parameters:
popup
- the Context popup component, can be nullposition
- e.g. "after_start", can be nullx
- e.g. "50" or "(zk.currentPointer[0] + 10)", can be nully
- e.g. "50" or "(zk.currentPointer[0] + 10)", can be nulltype
- e.g. "toggle", can be null- Since:
- 8.5.0
-
getPopup
public java.lang.String getPopup()
Returns the ID of the popup (Popup
) that should appear when the user clicks on the element.Default: null (no popup).
-
setPopup
public void setPopup(java.lang.String popup)
Sets the ID of the popup (Popup
) that should appear when the user clicks on the element.An onOpen event is sent to the popup menu if it is going to appear. Therefore, developers can manipulate it dynamically (perhaps based on OpenEvent.getReference) by listening to the onOpen event.
Note: To simplify the use, it not only searches its ID space, but also all ID spaces in the desktop. It first searches its own ID space, and then the other Id spaces in the same browser window (might have one or multiple desktops).
(since 3.0.2) If there are two components with the same ID (of course, in different ID spaces), you can specify the UUID with the following format:
uuid(comp_uuid)
(since 3.6.3) the popup can be shown by a position from
Popup.open(org.zkoss.zk.ui.Component, String)
or the location ofx
andy
, you can specify the following format:id, position
id, position=before_start
id, x=15, y=20
uuid(comp_uuid), position
uuid(comp_uuid), x=15, y=20
<button label="show" popup="id, start_before"/>
(since 6.5.2) the popup can also be shown on customized location of
x
andy
by adding parentheses"()", for example,<button label="show" popup="id, x=(zk.currentPointer[0] + 10), y=(zk.currentPointer[1] - 10)"/>
-
setPopup
public void setPopup(Popup popup)
Sets the UUID of the popup that should appear when the user clicks on the element.Note: it actually invokes
setPopup("uuid(" + popup.getUuid() + ")")
- Since:
- 3.0.2
- See Also:
setPopup(String)
-
setPopupAttributes
public void setPopupAttributes(Popup popup, java.lang.String position, java.lang.String x, java.lang.String y, java.lang.String type)
Sets the Attributes for the Popup Note that position will be ignored if coordinates are set.- Parameters:
popup
- the popup component, can be nullposition
- e.g. "after_start", can be nullx
- e.g. "50" or "(zk.currentPointer[0] + 10)", can be nully
- e.g. "50" or "(zk.currentPointer[0] + 10)", can be nulltype
- e.g. "toggle", can be null- Since:
- 8.5.0
-
getTooltip
public java.lang.String getTooltip()
Returns the ID of the popup (Popup
) that should be used as a tooltip window when the mouse hovers over the element for a moment. The tooltip will automatically disappear when the mouse is moved away.Default: null (no tooltip).
-
setTooltip
public void setTooltip(java.lang.String tooltip)
Sets the ID of the popup (Popup
) that should be used as a tooltip window when the mouse hovers over the element for a moment.An onOpen event is sent to the tooltip if it is going to appear. Therefore, developers can manipulate it dynamically (perhaps based on OpenEvent.getReference) by listening to the onOpen event.
Note: To simplify the use, it not only searches its ID space, but also all ID spaces in the desktop. It first searches its own ID space, and then the other Id spaces in the same browser window (might have one or multiple desktops).
(since 3.0.2) If there are two components with the same ID (of course, in different ID spaces), you can specify the UUID with the following format:
uuid(comp_uuid)
(since 3.6.3) the tooltip can be shown by a position from
Popup.open(org.zkoss.zk.ui.Component, String)
or the location ofx
andy
, and can be specified with a delay time (in millisecond), you can specify the following format:id, position
id, position=before_start, delay=500
id, x=15, y=20
uuid(comp_uuid2), position
uuid(comp_uuid), x=15, y=20
<button label="show" tooltip="id, start_before"/>
(since 6.5.2) the tooltip can also be shown on customized location of
x
andy
by adding parentheses"()", for example,<button label="show" tooltip="id, x=(zk.currentPointer[0] + 10), y=(zk.currentPointer[1] - 10)"/>
-
setTooltip
public void setTooltip(Popup popup)
Sets the UUID of the popup that should be used as a tooltip window when the mouse hovers over the element for a moment.Note: it actually invokes
setTooltip("uuid(" + popup.getUuid() + ")")
- Since:
- 3.0.2
- See Also:
setTooltip(String)
-
setTooltipAttributes
public void setTooltipAttributes(Popup popup, java.lang.String position, java.lang.String x, java.lang.String y, java.lang.Integer delay)
Sets the Attributes for the Tooltip Popup Note that position will be ignored if coordinates are set.- Parameters:
popup
- the tooltip popup component, can be nullposition
- e.g. "after_start", can be nullx
- e.g. "50" or "(zk.currentPointer[0] + 10)", can be nully
- e.g. "50" or "(zk.currentPointer[0] + 10)", can be nulldelay
- in milliseconds, can be null- Since:
- 8.5.0
-
renderProperties
protected void renderProperties(ContentRenderer renderer) throws java.io.IOException
Description copied from class:HtmlBasedComponent
Renders the content of this component, excluding the enclosing tags and children.- Overrides:
renderProperties
in classHtmlBasedComponent
- Throws:
java.io.IOException
-
getPropertyAccess
public PropertyAccess getPropertyAccess(java.lang.String prop)
Description copied from interface:ComponentCtrl
Returns the corresponding property access object from the given property name, if any.- Specified by:
getPropertyAccess
in interfaceComponentCtrl
- Overrides:
getPropertyAccess
in classHtmlBasedComponent
- Parameters:
prop
- the name of the property- Returns:
- null it means not to support for the property name.
-
clone
public java.lang.Object clone()
Description copied from interface:Component
Clones the component. All of its children and descendants are cloned. Also, ID are preserved.- Specified by:
clone
in interfaceComponent
- Overrides:
clone
in classHtmlBasedComponent
- Returns:
- the new component. Notice that it doesn't belong to any page, nor desktop. It doesn't have a parent, either.
-
-