org.zkoss.zul
Class Menuitem

java.lang.Object
  extended by org.zkoss.zk.ui.AbstractComponent
      extended by org.zkoss.zk.ui.HtmlBasedComponent
          extended by org.zkoss.zul.impl.XulElement
              extended by org.zkoss.zul.impl.LabelElement
                  extended by org.zkoss.zul.impl.LabelImageElement
                      extended by org.zkoss.zul.Menuitem
All Implemented Interfaces:
Serializable, Cloneable, org.zkoss.zk.ui.Component, org.zkoss.zk.ui.ext.Disable, org.zkoss.zk.ui.ext.Scope, org.zkoss.zk.ui.sys.ComponentCtrl

public class Menuitem
extends LabelImageElement
implements org.zkoss.zk.ui.ext.Disable

A single choice in a Menupopup element. It acts much like a button but it is rendered on a menu.

Default getZclass(): z-menuitem. (since 3.5.0)

Author:
tomyeh
See Also:
Serialized Form

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
org.zkoss.zk.ui.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
Menuitem()
           
Menuitem(String label)
           
Menuitem(String label, String src)
           
 
Method Summary
 void beforeParentChanged(org.zkoss.zk.ui.Component parent)
           
 Object clone()
           
 String getAutodisable()
          Returns a list of component IDs that shall be disabled when the user clicks this menuitem.
 String getHref()
          Returns the href.
 String getTarget()
          Returns the target frame or window.
 String getUpload()
          Returns non-null if this button is used for file upload, or null otherwise.
 String getValue()
          Returns the value.
 String getZclass()
           
 boolean isAutocheck()
          Returns whether the menuitem check mark will update each time the menu item is selected.
 boolean isChecked()
          Returns whether it is checked.
 boolean isCheckmark()
          Returns whether the check mark shall be displayed in front of each item.
protected  boolean isChildable()
          Not childable.
 boolean isDisabled()
          Returns whether it is disabled.
 boolean isTopmost()
          Returns whether this is an top-level menu, i.e., not owning by another Menupopup.
protected  void renderCrawlable(String label)
          Renders the crawlable information.
protected  void renderProperties(org.zkoss.zk.ui.sys.ContentRenderer renderer)
           
 void service(org.zkoss.zk.au.AuRequest request, boolean everError)
          Processes an AU request.
 void setAutocheck(boolean autocheck)
          Sets whether the menuitem check mark will update each time the menu item is selected.
 void setAutodisable(String autodisable)
          Sets a list of component IDs that shall be disabled when the user clicks this menuitem.
 void setChecked(boolean checked)
          Sets whether it is checked.
 void setCheckmark(boolean checkmark)
          Sets whether the check mark shall be displayed in front of each item.
 void setDisabled(boolean disabled)
          Sets whether it is disabled.
 void setHref(String href)
          Sets the href.
 void setTarget(String target)
          Sets the target frame or window.
 void setUpload(String upload)
          Sets the JavaScript class at the client to handle the upload if this button is used for file upload.
 void setValue(String value)
          Sets the value.
protected  void updateByClient(String name, Object value)
           
 
Methods inherited from class org.zkoss.zul.impl.LabelImageElement
getExtraCtrl, getHoverImage, getHoverImageContent, getIconSclass, getImage, getImageContent, getSrc, isImageAssigned, setHoverImage, setHoverImageContent, setHoverImageContent, setIconSclass, setImage, setImageContent, setImageContent, setSrc
 
Methods inherited from class org.zkoss.zul.impl.LabelElement
getLabel, setLabel
 
Methods inherited from class org.zkoss.zul.impl.XulElement
getContext, getCtrlKeys, getPopup, getTooltip, 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, setAction, setClass, setDraggable, setDroppable, setFocus, setHeight, setHeightDirectly, setHflex, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTooltiptext, setTop, setTopDirectly, setVflex, setWidth, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly
 
Methods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addAnnotation, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addScopeListener, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildAdded, beforeChildRemoved, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableClientUpdate, equals, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotation, getAnnotations, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getChildren, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getListenerIterator, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRoot, getSpaceOwner, getStubonly, getTemplate, getTemplateNames, getUuid, getWidgetAttribute, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasFellow, hasFellow, insertBefore, invalidate, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, onWrongValue, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, removeScopeListener, render, render, render, replace, response, response, response, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setStubonly, setStubonly, setTemplate, setVisible, setVisibleDirectly, setWidgetAttribute, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, willPassivate, willPassivate, willSerialize, willSerialize
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Menuitem

public Menuitem()

Menuitem

public Menuitem(String label)

Menuitem

public Menuitem(String label,
                String src)
Method Detail

isCheckmark

public boolean isCheckmark()
Returns whether the check mark shall be displayed in front of each item.

Default: false.

Since:
3.5.0

setCheckmark

public void setCheckmark(boolean checkmark)
Sets whether the check mark shall be displayed in front of each item.

Note the checkbox can be checked only if isAutocheck() is true

Since:
3.5.0

getZclass

public String getZclass()
Overrides:
getZclass in class org.zkoss.zk.ui.HtmlBasedComponent

setDisabled

public void setDisabled(boolean disabled)
Sets whether it is disabled.

Specified by:
setDisabled in interface org.zkoss.zk.ui.ext.Disable
Since:
3.0.1

isDisabled

public boolean isDisabled()
Returns whether it is disabled.

Default: false.

Specified by:
isDisabled in interface org.zkoss.zk.ui.ext.Disable
Since:
3.0.1

getAutodisable

public String getAutodisable()
Returns a list of component IDs that shall be disabled when the user clicks this menuitem.

Since:
5.0.7

setAutodisable

public void setAutodisable(String autodisable)
Sets a list of component IDs that shall be disabled when the user clicks this menuitem.

To represent the menuitem itself, the developer can specify self. For example, <menuitem id="ok" autodisable="self,cancel"/> is the same as <menuitem id="ok" autodisable="ok,cancel"/> that will disable both the ok and cancel menuitem when an user clicks it.

The menuitem being disabled will be enabled automatically once the client receives a response from the server. In other words, the server doesn't notice if a menuitem is disabled with this method.

However, if you prefer to enable them later manually, you can prefix with '+'. For example, <menuitem id="ok" autodisable="+self,+cancel"/>

Then, you have to enable them manually such as

if (something_happened){
  ok.setDisabled(false);
  cancel.setDisabled(false);

Default: null.

Since:
5.0.7

getValue

public String getValue()
Returns the value.

Default: "".


setValue

public void setValue(String value)
Sets the value.


isChecked

public boolean isChecked()
Returns whether it is checked.

Default: false.


setChecked

public void setChecked(boolean checked)
Sets whether it is checked.

This only applies when isCheckmark() = true. (since 3.5.0)


isAutocheck

public boolean isAutocheck()
Returns whether the menuitem check mark will update each time the menu item is selected.

Default: false.


setAutocheck

public void setAutocheck(boolean autocheck)
Sets whether the menuitem check mark will update each time the menu item is selected.

This only applies when isCheckmark() = true. (since 3.5.0)


getHref

public String getHref()
Returns the href.

Default: null. If null, the button has no function unless you specify the onClick handler.


setHref

public void setHref(String href)
             throws org.zkoss.zk.ui.WrongValueException
Sets the href.

Throws:
org.zkoss.zk.ui.WrongValueException

getTarget

public String getTarget()
Returns the target frame or window.

Note: it is useful only if href (setHref(java.lang.String)) is specified (i.e., use the onClick listener).

Default: null.


setTarget

public void setTarget(String target)
Sets the target frame or window.

Parameters:
target - the name of the frame or window to hyperlink.

isTopmost

public boolean isTopmost()
Returns whether this is an top-level menu, i.e., not owning by another Menupopup.


getUpload

public String getUpload()
Returns non-null if this button is used for file upload, or null otherwise. Refer to setUpload(java.lang.String) for more details.

Since:
5.0.0

setUpload

public void setUpload(String upload)
Sets the JavaScript class at the client to handle the upload if this button is used for file upload.

Default: null.

For example, the following example declares a button for file upload:

<button label="Upload" upload="true"
 onUpload="handle(event.media)"/>

As shown above, after the file is uploaded, an instance of UploadEvent is sent this component.

If you want to customize the handling of the file upload at the client, you can specify a JavaScript class when calling this method: <button upload="foo.Upload"/>

Another options for the upload can be specified as follows:

<button label="Upload" upload="true,maxsize=-1,native"

Parameters:
upload - a JavaScript class to handle the file upload at the client, or "true" if the default class is used, or null or "false" to disable the file download (and then this button behaves like a normal button).
Since:
5.0.0

beforeParentChanged

public void beforeParentChanged(org.zkoss.zk.ui.Component parent)
Specified by:
beforeParentChanged in interface org.zkoss.zk.ui.sys.ComponentCtrl
Overrides:
beforeParentChanged in class org.zkoss.zk.ui.AbstractComponent

clone

public Object clone()
Specified by:
clone in interface org.zkoss.zk.ui.Component
Overrides:
clone in class LabelImageElement

isChildable

protected boolean isChildable()
Not childable.

Overrides:
isChildable in class org.zkoss.zk.ui.AbstractComponent

renderProperties

protected void renderProperties(org.zkoss.zk.ui.sys.ContentRenderer renderer)
                         throws IOException
Overrides:
renderProperties in class LabelImageElement
Throws:
IOException

renderCrawlable

protected void renderCrawlable(String label)
                        throws IOException
Description copied from class: LabelElement
Renders the crawlable information. It is called by LabelElement.renderProperties(org.zkoss.zk.ui.sys.ContentRenderer), and designed to be overridden if the deriving class wants to generate it differently.

Default: org.zkoss.zul.impl.Utils.renderCrawlableText(label)

Overrides:
renderCrawlable in class LabelElement
Throws:
IOException

service

public void service(org.zkoss.zk.au.AuRequest request,
                    boolean everError)
Processes an AU request.

Default: in addition to what are handled by HtmlBasedComponent.service(org.zkoss.zk.au.AuRequest, boolean), it also handles onCheck.

Specified by:
service in interface org.zkoss.zk.ui.sys.ComponentCtrl
Overrides:
service in class org.zkoss.zk.ui.HtmlBasedComponent
Since:
5.0.0

updateByClient

protected void updateByClient(String name,
                              Object value)
Overrides:
updateByClient in class org.zkoss.zk.ui.AbstractComponent


Copyright © 2013. All rights reserved.