|
||||||||||
| 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
public abstract class XulElement
The fundamental class for XUL elements.
Events:
onOK, onCacnel and onCtrlKey.
| 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 |
|---|
_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 | |
|---|---|
XulElement()
|
|
| Method Summary | |
|---|---|
java.lang.String |
getAction()
Returns the client-side action (CSA). |
protected java.lang.String |
getActionAttrs()
Returns the HTML attributes representing the client-side action, or "" if no client-side action is defined. |
protected java.lang.String |
getAllOnClickAttrs(boolean ignoreOnClick)
Deprecated. As of release 3.0.5, replaced with HtmlBasedComponent.getAllOnClickAttrs().
If you want to generate only onDoubleClick and onRightClick, use
|
java.lang.String |
getContext()
Returns the ID of the popup ( Popup) that should appear
when the user right-clicks on the element (aka., context menu). |
java.lang.String |
getCtrlKeys()
Returns what keystrokes to intercept. |
java.lang.String |
getInnerAttrs()
Generates the Client-Side-Action attributes to the interior tag. |
java.lang.String |
getOuterAttrs()
Returns the exterior attributes for generating the enclosing HTML tag; never return null. |
java.lang.String |
getPopup()
Returns the ID of the popup ( Popup) that should appear
when the user clicks on the element. |
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. |
void |
setAction(java.lang.String action)
Sets the client-side action. |
void |
setContext(Popup popup)
Sets the UUID of the popup that should appear when the user right-clicks on the element (aka., context menu). |
void |
setContext(java.lang.String context)
Sets the ID of the popup ( Popup) that should appear
when the user right-clicks on the element (aka., context menu). |
void |
setCtrlKeys(java.lang.String ctrlKeys)
Sets what keystrokes to intercept. |
void |
setPopup(Popup popup)
Sets the UUID of the popup that should appear when the user clicks on the element. |
void |
setPopup(java.lang.String popup)
Sets the ID of the popup ( Popup) that should appear
when the user clicks on the element. |
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 |
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. |
| Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent |
|---|
focus, getAllOnClickAttrs, getDraggable, getDroppable, getHeight, getLeft, getMoldSclass, getRealSclass, getRealStyle, getRealStyleFlags, getSclass, getStyle, getTooltiptext, getTop, getWidth, getZclass, getZindex, getZIndex, newExtraCtrl, 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.zk.ui.api.HtmlBasedComponent |
|---|
focus, getHeight, getLeft, getSclass, getStyle, getTooltiptext, getTop, getWidth, getZclass, getZindex, getZIndex, setDraggable, setDroppable, setFocus, setHeight, setLeft, setSclass, setStyle, setTooltiptext, setTop, setWidth, setZclass, setZindex, setZIndex |
| Constructor Detail |
|---|
public XulElement()
| Method Detail |
|---|
public java.lang.String getCtrlKeys()
Default: null.
getCtrlKeys in interface XulElement
public void setCtrlKeys(java.lang.String ctrlKeys)
throws UiException
The string could be a combination of the following:
For example,
Note: it doesn't support Ctrl+Alt, Shift+Ctrl, Shift+Alt or Shift+Ctrl+Alt.
setCtrlKeys in interface XulElementUiExceptionpublic java.lang.String getContext()
Popup) that should appear
when the user right-clicks on the element (aka., context menu).
Default: null (no context menu).
getContext in interface XulElementpublic void setContext(java.lang.String context)
Popup) that should appear
when the user right-clicks on the element (aka., 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 ignores the ID space when locating the component at the client. In other words, it searches for the first component with the specified ID, no matter it is in the same ID space or not.
(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:
<label context="some">
<label context="uuid(${some.uuid})"/>
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).
setContext in interface XulElementsetContext(Popup)public void setContext(Popup popup)
Note: it actually invokes
setContext("uuid(" + popup.getUuid() + ")")
setContext in interface XulElementsetContext(String)public java.lang.String getPopup()
Popup) that should appear
when the user clicks on the element.
Default: null (no poppup).
getPopup in interface XulElementpublic void setPopup(java.lang.String 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 ignores the ID space when locating the component at the client. In other words, it searches for the first component with the specified ID, no matter it is in the same ID space or not.
(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)
setPopup in interface XulElementsetPopup(Popup)public void setPopup(Popup popup)
Note: it actually invokes
setPopup("uuid(" + popup.getUuid() + ")")
setPopup in interface XulElementsetPopup(String)public java.lang.String getTooltip()
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.
Default: null (no tooltip).
getTooltip in interface XulElementpublic void setTooltip(java.lang.String tooltip)
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 ignores the ID space when locating the component at the client. In other words, it searches for the first component with the specified ID, no matter it is in the same ID space or not.
(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)
setTooltip in interface XulElementsetTooltip(Popup)public void setTooltip(Popup popup)
Note: it actually invokes
setTooltip("uuid(" + popup.getUuid() + ")")
setTooltip in interface XulElementsetTooltip(String)public java.lang.String getAction()
The format:
action1: javascript1; javascript2; action2: javascript3
You could specify any action as long as JavaScript supports, such as onfocus, onblur, onmouseover and onmousout.
getAction in interface XulElementpublic void setAction(java.lang.String action)
setAction in interface XulElementprotected java.lang.String getActionAttrs()
Override this method if you want to customize the generation of the client-side action (though rarely).
protected java.lang.String getAllOnClickAttrs(boolean ignoreOnClick)
HtmlBasedComponent.getAllOnClickAttrs().
If you want to generate only onDoubleClick and onRightClick, use
appendAsapAttr(sb, Events.ON_DOUBLE_CLICK);
appendAsapAttr(sb, Events.ON_RIGHT_CLICK);
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 HtmlBasedComponentpublic java.lang.String getInnerAttrs()
getInnerAttrs in class HtmlBasedComponent
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||