org.zkoss.zul
Class Window

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.Window
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, HtmlBasedComponent, Component, Scope, IdSpace, ComponentCtrl, Window, XulElement
Direct Known Subclasses:
FileuploadDlg, MainWindow, MessageboxDlg

public class Window
extends XulElement
implements IdSpace, Window

A generic window.

Unlike other elements, each Window is an independent ID space (by implementing IdSpace). It means a window and all its descendants forms a ID space and the ID of each of them is unique in this space. You could retrieve any of them in this space by calling AbstractComponent.getFellow(java.lang.String).

If a window X is a descendant of another window Y, X's descendants are not visible in Y's space. To retrieve a descendant, say Z, of X, you have to invoke Y.getFellow('X').getFellow('Z').

Events:
onMove, onOpen, onMaximize, onMinimize, and onClose.
Note: to have better performance, onOpen is sent only if a non-deferrable event listener is registered (see Deferrable).

onMaximize and onMinimize are supported. (since 3.5.0)

onClose is sent when the close button is pressed (if isClosable() is true). The window has to detach or hide the window. By default, onClose() detaches the window. To prevent it from detached, you have to call Event.stopPropagation() to prevent onClose() is called.

On the other hand, onOpen is sent when a popup window (i.e., getMode() is popup) is closed due to user's activity (such as press ESC). This event is only a notification. In other words, the popup is hidden before the event is sent to the server. The application cannot prevent the window from being hidden.

Default getZclass(): z-window-getMode().(since 3.5.0)

Author:
tomyeh
See Also:
Serialized Form

Nested Class Summary
protected  class Window.ExtraCtrl
          A utility class to implement AbstractComponent.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, 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
Window()
           
Window(java.lang.String title, java.lang.String border, boolean closable)
           
 
Method Summary
 java.lang.Object clone()
          Clones the component.
 void doEmbedded()
          Makes this window as embeded with other components (Default).
 void doHighlighted()
          Makes this window as highlited.
 void doModal()
          Makes this window as a modal dialog.
 void doOverlapped()
          Makes this window as overlapped with other components.
 void doPopup()
          Makes this window as popup, which is overlapped with other component and auto-hiden when user clicks outside of the window.
 java.lang.String getBorder()
          Returns the border.
 Caption getCaption()
          Returns the caption of this window.
 Caption getCaptionApi()
          Returns the caption of this window.
 java.lang.String getContentSclass()
          Returns the style class used for the content block.
 java.lang.String getContentStyle()
          Returns the CSS style for the content block of the window.
static java.lang.String getDefaultActionOnShow()
          Returns the animating name of function.
 int getMinheight()
          Returns the minimum height.
 int getMinwidth()
          Returns the minimum width.
 java.lang.String getMode()
          Returns the current mode.
 java.lang.String getOuterAttrs()
          Returns the exterior attributes for generating the enclosing HTML tag; never return null.
 java.lang.String getPosition()
          Returns how to position the window at the client screen.
protected  java.lang.String getRealStyle()
          Returns the real style that will be generated to client (when HtmlBasedComponent.getOuterAttrs() is called).
 java.lang.String getTitle()
          Returns the title.
 java.lang.String getTitleSclass()
          Deprecated. As of release 3.5.0
 java.lang.String getZclass()
          Returns the ZK Cascading Style class(es) for this component.
 boolean inEmbedded()
          Returns whether this is embedded with other components (Default).
 boolean inHighlighted()
          Returns whether this is a highlighted window.
 boolean inModal()
          Returns whether this is a modal dialog.
 boolean inOverlapped()
          Returns whether this is a overlapped window.
 boolean inPopup()
          Returns whether this is a popup window.
 boolean insertBefore(Component child, Component insertBefore)
          Inserts a child before the reference child.
 boolean isClosable()
          Returns whether to show a close button on the title bar.
 boolean isMaximizable()
          Returns whether to display the maximizing button and allow the user to maximize the window.
 boolean isMaximized()
          Returns whether the window is maximized.
 boolean isMinimizable()
          Returns whether to display the minimizing button and allow the user to minimize the window.
 boolean isMinimized()
          Returns whether the window is minimized.
 boolean isShadow()
          Returns whether to show the shadow of an overlapped/popup/modal window.
 boolean isSizable()
          Returns whether the window is sizable.
protected  java.lang.Object newExtraCtrl()
          Used by AbstractComponent.getExtraCtrl() to create a client control.
 void onChildRemoved(Component child)
          Default: does nothing.
 void onClose()
          Process the onClose event sent when the close button is pressed.
 void onModal()
          Process the onModal event by making itself a modal window.
 void onPageDetached(Page page)
          Default: handles special event listeners.
 void setBorder(java.lang.String border)
          Sets the border (either none or normal).
 void setClosable(boolean closable)
          Sets whether to show a close button on the title bar.
 void setContentSclass(java.lang.String scls)
          Sets the style class used for the content block.
 void setContentStyle(java.lang.String style)
          Sets the CSS style for the content block of the window.
static void setDefaultActionOnShow(java.lang.String onshow)
          Sets the action of window component to show the animating effect by default.
 void setDraggable(java.lang.String draggable)
          Sets "true" or "false" to denote whether a component is draggable, or an identifier of a draggable type of objects.
 void setMaximizable(boolean maximizable)
          Sets whether to display the maximizing button and allow the user to maximize the window, when a window is maximized, the button will automatically change to a restore button with the appropriate behavior already built-in that will restore the window to its previous size.
 void setMaximized(boolean maximized)
          Sets whether the window is maximized, and then the size of the window will depend on it to show a appropriate size.
 void setMinheight(int minheight)
          Sets the minimum height in pixels allowed for this window.
 void setMinimizable(boolean minimizable)
          Sets whether to display the minimizing button and allow the user to minimize the window.
 void setMinimized(boolean minimized)
          Sets whether the window is minimized.
 void setMinwidth(int minwidth)
          Sets the minimum width in pixels allowed for this window.
 void setMode(int mode)
          Sets the mode to overlapped, popup, modal, embedded or highlighted.
 void setMode(java.lang.String name)
          Sets the mode to overlapped, popup, modal, embedded or highlighted.
 void setPosition(java.lang.String pos)
          Sets how to position the window at the client screen.
 void setShadow(boolean shadow)
          Sets whether to show the shadow of an overlapped/popup/modal window.
 void setSizable(boolean sizable)
          Sets whether the window is sizable.
 void setTitle(java.lang.String title)
          Sets the title.
 boolean setVisible(boolean visible)
          Changes the visibility of the window.
 
Methods inherited from class org.zkoss.zul.impl.XulElement
getAction, getActionAttrs, getAllOnClickAttrs, getContext, getCtrlKeys, getInnerAttrs, getPopup, getTooltip, setAction, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip
 
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
focus, getAllOnClickAttrs, getDraggable, getDroppable, getHeight, getLeft, getMoldSclass, getRealSclass, getRealStyleFlags, getSclass, getStyle, getTooltiptext, getTop, getWidth, getZindex, getZIndex, redraw, setClass, setDroppable, setFocus, setHeight, setLeft, setMoldSclass, setSclass, setStyle, setTooltiptext, setTop, setWidth, setZclass, setZindex, setZIndex
 
Methods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addAnnotation, addEventHandler, addEventListener, addForward, addForward, addForward, addForward, addMoved, addSharedAnnotationMap, addSharedEventHandlerMap, appendAsapAttr, appendAsapAttr, appendChild, applyProperties, containsVariable, detach, equals, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotation, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttributes, getAttributes, getChildren, getCommand, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getExtraCtrl, getFellow, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getListenerIterator, getMold, getMoldURI, getNamespace, getNextSibling, getPage, getParent, getPreviousSibling, getRoot, getSpaceOwner, getUuid, getVariable, hasFellow, invalidate, isAsapRequired, isChildable, isInvalidated, isListenerAvailable, isVisible, newChildren, onChildAdded, onDrawNewChild, onPageAttached, onWrongValue, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, response, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setComponentDefinition, setId, setMold, setPage, setPageBefore, setParent, setVariable, smartUpdate, smartUpdate, smartUpdate, smartUpdateDeferred, smartUpdateValues, toString, unsetVariable
 
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, getFellowIfAny, getFellows, hasFellow
 
Methods inherited from interface org.zkoss.zul.impl.api.XulElement
getAction, getContext, getCtrlKeys, getPopup, getTooltip, setAction, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip
 
Methods inherited from interface org.zkoss.zk.ui.api.HtmlBasedComponent
focus, getHeight, getLeft, getSclass, getStyle, getTooltiptext, getTop, getWidth, getZindex, getZIndex, setDroppable, setFocus, setHeight, setLeft, setSclass, setStyle, setTooltiptext, setTop, setWidth, setZclass, setZindex, setZIndex
 
Methods inherited from interface org.zkoss.zk.ui.Component
addEventListener, addForward, addForward, addForward, addForward, appendChild, applyProperties, containsVariable, detach, getAttribute, getAttribute, getAttributes, getAttributes, getChildren, getDefinition, getDesktop, getFellow, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getListenerIterator, getMold, getNamespace, getNextSibling, getPage, getParent, getPreviousSibling, getRoot, getSpaceOwner, getUuid, getVariable, invalidate, isChildable, isInvalidated, isListenerAvailable, isVisible, redraw, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, setAttribute, setAttribute, setId, setMold, setPage, setPageBefore, setParent, setVariable, unsetVariable
 

Constructor Detail

Window

public Window()

Window

public Window(java.lang.String title,
              java.lang.String border,
              boolean closable)
Parameters:
title - the window title (see setTitle(java.lang.String)).
border - the border (see setBorder(java.lang.String)).
closable - whether it is closable (see setClosable(boolean)).
Method Detail

isMaximized

public boolean isMaximized()
Returns whether the window is maximized.

Specified by:
isMaximized in interface Window
Since:
3.5.0

setMaximized

public void setMaximized(boolean maximized)
Sets whether the window is maximized, and then the size of the window will depend on it to show a appropriate size. In other words, if true, the size of the window will count on the size of its offset parent node whose position is absolute (by not inEmbedded()) or its parent node. Otherwise, its size will be original size. Note that the maximized effect will run at client's sizing phase not initial phase.

Default: false.

Specified by:
setMaximized in interface Window
Throws:
UiException - if isMaximizable() is false.
Since:
3.5.0

isMaximizable

public boolean isMaximizable()
Returns whether to display the maximizing button and allow the user to maximize the window.

Default: false.

Specified by:
isMaximizable in interface Window
Since:
3.5.0

setMaximizable

public void setMaximizable(boolean maximizable)
Sets whether to display the maximizing button and allow the user to maximize the window, when a window is maximized, the button will automatically change to a restore button with the appropriate behavior already built-in that will restore the window to its previous size.

Default: false.

Note: the maximize button won't be displayed if no title or caption at all.

Specified by:
setMaximizable in interface Window
Since:
3.5.0

isMinimized

public boolean isMinimized()
Returns whether the window is minimized.

Default: false.

Specified by:
isMinimized in interface Window
Since:
3.5.0

setMinimized

public void setMinimized(boolean minimized)
Sets whether the window is minimized.

Default: false.

Specified by:
setMinimized in interface Window
Throws:
UiException - if isMinimizable() is false.
Since:
3.5.0

isMinimizable

public boolean isMinimizable()
Returns whether to display the minimizing button and allow the user to minimize the window.

Default: false.

Specified by:
isMinimizable in interface Window
Since:
3.5.0

setMinimizable

public void setMinimizable(boolean minimizable)
Sets whether to display the minimizing button and allow the user to minimize the window. Note that this button provides no implementation -- the behavior of minimizing a window is implementation-specific, so the MinimizeEvent event must be handled and a custom minimize behavior implemented for this option to be useful.

Default: false.

Note: the maximize button won't be displayed if no title or caption at all.

Specified by:
setMinimizable in interface Window
Since:
3.5.0
See Also:
MinimizeEvent

setMinheight

public void setMinheight(int minheight)
Sets the minimum height in pixels allowed for this window. If negative, 100 is assumed.

Default: 100.

Note: Only applies when isSizable() = true.

Specified by:
setMinheight in interface Window
Since:
3.5.0

getMinheight

public int getMinheight()
Returns the minimum height.

Default: 100.

Specified by:
getMinheight in interface Window
Since:
3.5.0

setMinwidth

public void setMinwidth(int minwidth)
Sets the minimum width in pixels allowed for this window. If negative, 200 is assumed.

Default: 200.

Note: Only applies when isSizable() = true.

Specified by:
setMinwidth in interface Window
Since:
3.5.0

getMinwidth

public int getMinwidth()
Returns the minimum width.

Default: 200.

Specified by:
getMinwidth in interface Window
Since:
3.5.0

setDefaultActionOnShow

public static void setDefaultActionOnShow(java.lang.String onshow)
Sets the action of window component to show the animating effect by default.

Default: null. In other words, if the property is null, it will refer to the configuration of zk.xml to find the preference with "org.zkoss.zul.Window.defaultActionOnShow", if any. For example,

<preference>
   <name>org.zkoss.zul.Window.defaultActionOnShow</name>
   <value>moveDown</value>
 </preference>
Otherwise, the animating effect is depended on component itself.

In JavaScript, the property will match the same function name with the prefix "anima.". For example, if the property is "moveDown", the function name should be "anima.moveDown" accordingly.

Node: The method is available in modal mode only. And if the onshow command of client-side action has been assigned on the component, its priority is higher than this method.
For example,

action="onshow:anima.appear(#{self});"

Parameters:
onshow - the function name in JavaScript. You could use the following animations, e.g. "moveDown", "moveRight", "moveDiagonal", "appear", "slideDown", and so forth.
Since:
3.0.2

getDefaultActionOnShow

public static java.lang.String getDefaultActionOnShow()
Returns the animating name of function.

Since:
3.0.2

getCaption

public Caption getCaption()
Returns the caption of this window.


getCaptionApi

public Caption getCaptionApi()
Returns the caption of this window.

Specified by:
getCaptionApi in interface Window
Since:
3.5.2

getBorder

public java.lang.String getBorder()
Returns the border. The border actually controls what the content style class is is used. In fact, the name of the border (except "normal") is generate as part of the style class used for the content block. Refer to getContentSclass() for more details.

Default: "none".

Specified by:
getBorder in interface Window

setBorder

public void setBorder(java.lang.String border)
Sets the border (either none or normal).

Specified by:
setBorder in interface Window
Parameters:
border - the border. If null or "0", "none" is assumed. Since 2.4.1, We assume "0" to be "none".

getTitle

public java.lang.String getTitle()
Returns the title. Besides this attribute, you could use Caption to define a more sophiscated caption (aka., title).

If a window has a caption whose label (LabelElement.getLabel()) is not empty, then this attribute is ignored.

Default: empty.

Specified by:
getTitle in interface Window

setTitle

public void setTitle(java.lang.String title)
Sets the title.

Specified by:
setTitle in interface Window

getMode

public java.lang.String getMode()
Returns the current mode. One of "modal", "embedded", "overlapped", "popup", and "highlighted".

Specified by:
getMode in interface Window

setMode

public void setMode(java.lang.String name)
             throws java.lang.InterruptedException
Sets the mode to overlapped, popup, modal, embedded or highlighted.

Notice: Events.ON_MODAL is posted if you specify "modal" to this method. Unlike doModal(), Events.ON_MODAL is posted, so the window will become modal later (since 3.0.4). In other words, setMode("modal") never suspends the execution of the current thread. On the other hand, doModal() will suspends the execution if executed in an event listener, or throws an exception if not executed in an event listener.

Specified by:
setMode in interface Window
Parameters:
name - the mode which could be one of "embedded", "overlapped", "popup", "modal", "highlighted". Note: it cannot be "modal". Use doModal() instead.
Throws:
java.lang.InterruptedException - thrown if "modal" is specified, and one of the following conditions occurs: 1) the desktop or the Web application is being destroyed, or 2) DesktopCtrl.ceaseSuspendedThread(org.zkoss.zk.ui.sys.EventProcessingThread, java.lang.String). To tell the difference, check the getMessage method of InterruptedException.

setMode

public void setMode(int mode)
             throws java.lang.InterruptedException
Sets the mode to overlapped, popup, modal, embedded or highlighted.

Specified by:
setMode in interface Window
Throws:
java.lang.InterruptedException
See Also:
setMode(String)

inModal

public boolean inModal()
Returns whether this is a modal dialog.

Specified by:
inModal in interface Window

inEmbedded

public boolean inEmbedded()
Returns whether this is embedded with other components (Default).

Specified by:
inEmbedded in interface Window
See Also:
doEmbedded()

inOverlapped

public boolean inOverlapped()
Returns whether this is a overlapped window.

Specified by:
inOverlapped in interface Window

inPopup

public boolean inPopup()
Returns whether this is a popup window.

Specified by:
inPopup in interface Window

inHighlighted

public boolean inHighlighted()
Returns whether this is a highlighted window.

Specified by:
inHighlighted in interface Window

doModal

public void doModal()
             throws java.lang.InterruptedException,
                    SuspendNotAllowedException
Makes this window as a modal dialog. It will automatically center the window (ignoring HtmlBasedComponent.getLeft() and HtmlBasedComponent.getTop()).

Notice: though both setMode("modal") and doModal() both causes the window to become modal, they are a bit different. doModal causes the event listener to suspend immediately, while setMode("modal") posts an event (Events.ON_MODAL). That is, setMode(java.lang.String) won't suspend the execution immediately, but doModal() will. doModal() can be called only in an event listener, while setMode(java.lang.String) can be called anytime.

Specified by:
doModal in interface Window
Throws:
SuspendNotAllowedException - if 1) not in an event listener;
2) the event thread is disabled.
3) there are too many suspended processing thread than the deployer allows. By default, there is no limit of # of suspended threads.
java.lang.InterruptedException - thrown if the desktop or the Web application is being destroyed, or DesktopCtrl.ceaseSuspendedThread(org.zkoss.zk.ui.sys.EventProcessingThread, java.lang.String). To tell the difference, check the getMessage method of InterruptedException.
Since:
3.0.4

doOverlapped

public void doOverlapped()
Makes this window as overlapped with other components.

Specified by:
doOverlapped in interface Window

doPopup

public void doPopup()
Makes this window as popup, which is overlapped with other component and auto-hiden when user clicks outside of the window.

Specified by:
doPopup in interface Window

doHighlighted

public void doHighlighted()
Makes this window as highlited. The visual effect is the similar to the modal window, but, like overlapped, it doesn't suspend (block) the execution at the server. In other words, it is more like an overlapped window from the server side's viewpoint.

Specified by:
doHighlighted in interface Window

doEmbedded

public void doEmbedded()
Makes this window as embeded with other components (Default).

Specified by:
doEmbedded in interface Window

isClosable

public boolean isClosable()
Returns whether to show a close button on the title bar.

Specified by:
isClosable in interface Window

setClosable

public void setClosable(boolean closable)
Sets whether to show a close button on the title bar. If closable, a button is displayed and the onClose event is sent if an user clicks the button.

Default: false.

You can intercept the default behavior by either overriding onClose(), or listening the onClose event.

Note: the close button won't be displayed if no title or caption at all.

Specified by:
setClosable in interface Window

isSizable

public boolean isSizable()
Returns whether the window is sizable.

Specified by:
isSizable in interface Window

setSizable

public void setSizable(boolean sizable)
Sets whether the window is sizable. If true, an user can drag the border to change the window width.

Default: false.

Specified by:
setSizable in interface Window

isShadow

public boolean isShadow()
Returns whether to show the shadow of an overlapped/popup/modal window. It is meaningless if it is an embedded window.

Since:
3.6.0

setShadow

public void setShadow(boolean shadow)
Sets whether to show the shadow of an overlapped/popup/modal window. It is meaningless if it is an embedded window.

Default: true.

Since:
3.6.0

getPosition

public java.lang.String getPosition()
Returns how to position the window at the client screen. It is meaningless if the embedded mode is used.

Default: null which depends on getMode(): If overlapped or popup, HtmlBasedComponent.setLeft(java.lang.String) and HtmlBasedComponent.setTop(java.lang.String) are assumed. If modal or highlighted, it is centered.

Specified by:
getPosition in interface Window

setPosition

public void setPosition(java.lang.String pos)
Sets how to position the window at the client screen. It is meaningless if the embedded mode is used.

Specified by:
setPosition in interface Window
Parameters:
pos - how to position. It can be null (the default), or a combination of the following values (by separating with comma).
center
Position the window at the center. HtmlBasedComponent.setTop(java.lang.String) and HtmlBasedComponent.setLeft(java.lang.String) are both ignored.
left
Position the window at the left edge. HtmlBasedComponent.setLeft(java.lang.String) is ignored.
right
Position the window at the right edge. HtmlBasedComponent.setLeft(java.lang.String) is ignored.
top
Position the window at the top edge. HtmlBasedComponent.setTop(java.lang.String) is ignored.
bottom
Position the window at the bottom edge. HtmlBasedComponent.setTop(java.lang.String) is ignored.
parent
Position the window relative to its parent. That is, the left and top (HtmlBasedComponent.getTop() and HtmlBasedComponent.getLeft()) is an offset to his parent's let-top corner. (since 3.0.2)

For example, "left,center" means to position it at the center of the left edge.


onClose

public void onClose()
Process the onClose event sent when the close button is pressed.

Default: detach itself.


onModal

public void onModal()
             throws java.lang.InterruptedException
Process the onModal event by making itself a modal window.

Throws:
java.lang.InterruptedException

getContentStyle

public java.lang.String getContentStyle()
Returns the CSS style for the content block of the window.

Specified by:
getContentStyle in interface Window

setContentStyle

public void setContentStyle(java.lang.String style)
Sets the CSS style for the content block of the window.

Default: null.

Specified by:
setContentStyle in interface Window

getContentSclass

public java.lang.String getContentSclass()
Returns the style class used for the content block.

Specified by:
getContentSclass in interface Window
See Also:
setContentSclass(java.lang.String)

setContentSclass

public void setContentSclass(java.lang.String scls)
Sets the style class used for the content block.

Specified by:
setContentSclass in interface Window
Since:
3.0.0
See Also:
getContentSclass()

getTitleSclass

public java.lang.String getTitleSclass()
Deprecated. As of release 3.5.0

Returns the style class used for the title.

It returns "wt-sclass" is returned, where sclass is the value returned by HtmlBasedComponent.getSclass().


getZclass

public java.lang.String getZclass()
Description copied from class: HtmlBasedComponent
Returns the ZK Cascading Style class(es) for this component. It usually depends on the implementation of the mold (@{link #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.

Specified by:
getZclass in interface HtmlBasedComponent
Overrides:
getZclass in class HtmlBasedComponent
See Also:
HtmlBasedComponent.getSclass(), HtmlBasedComponent.getRealSclass()

insertBefore

public boolean insertBefore(Component child,
                            Component insertBefore)
Description copied from interface: Component
Inserts a child before the reference child.

You 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.

Specified by:
insertBefore in interface Component
Overrides:
insertBefore in class AbstractComponent
Parameters:
child - the new child to be inserted.
insertBefore - the child before which you want the new child being inserted. If null, the new child is append to the end.
Returns:
true if newChild is added successfully or moved; false if it already has the specified child and the order doesn't change.

onChildRemoved

public void onChildRemoved(Component child)
Description copied from class: AbstractComponent
Default: does nothing.

Specified by:
onChildRemoved in interface ComponentCtrl
Overrides:
onChildRemoved in class AbstractComponent
See Also:
ComponentCtrl.onChildRemoved(org.zkoss.zk.ui.Component)

onPageDetached

public void onPageDetached(Page page)
Description copied from class: AbstractComponent
Default: handles special event listeners.

Specified by:
onPageDetached in interface ComponentCtrl
Overrides:
onPageDetached in class AbstractComponent
Parameters:
page - the previous page (never null)
See Also:
ComponentCtrl.onPageDetached(org.zkoss.zk.ui.Page)

setVisible

public boolean setVisible(boolean visible)
Changes the visibility of the window.

Note: If a modal dialog becomes invisible, the modal state will be ended automatically. In other words, the mode (getMode()) will become OVERLAPPED and the suspending thread is resumed.

Specified by:
setVisible in interface Component
Overrides:
setVisible in class AbstractComponent
Returns:
the previous visibility

setDraggable

public void setDraggable(java.lang.String draggable)
Description copied from class: HtmlBasedComponent
Sets "true" or "false" to denote whether a component is draggable, or an identifier of a draggable type of objects.

The simplest way to make a component draggable is to set this attribute to true. To disable it, set this to false.

If there are several types of draggable objects, you could assign an identifier for each type of draggable object. The identifier could be anything but empty.

Specified by:
setDraggable in interface HtmlBasedComponent
Overrides:
setDraggable in class HtmlBasedComponent
Parameters:
draggable - "false", null or "" to denote non-draggable; "true" for draggable with anonymous identifier; others for an identifier of draggable.

getRealStyle

protected java.lang.String getRealStyle()
Description copied from class: HtmlBasedComponent
Returns the real style that will be generated to client (when HtmlBasedComponent.getOuterAttrs() is called).

Default: this method will append width, height and others to HtmlBasedComponent.setStyle(java.lang.String) (never null).

Use HtmlBasedComponent.getRealStyleFlags() to control what attributes to exclude.

Overrides:
getRealStyle in class HtmlBasedComponent

getOuterAttrs

public java.lang.String getOuterAttrs()
Description copied from class: HtmlBasedComponent
Returns the exterior attributes for generating the enclosing HTML tag; never return null.

Used 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).

Overrides:
getOuterAttrs in class XulElement

clone

public java.lang.Object clone()
Description copied from interface: Component
Clones the component. All of its children is cloned. Notice that the cloned component doesn't belong to any page, nor desktop. It doesn't have parent, either.

Specified by:
clone in interface Component
Overrides:
clone in class AbstractComponent

newExtraCtrl

protected java.lang.Object newExtraCtrl()
Description copied from class: HtmlBasedComponent
Used by AbstractComponent.getExtraCtrl() to create a client control. It is used only by component developers.

Defaut: creates an instance of HtmlBasedComponent.ExtraCtrl.

Overrides:
newExtraCtrl in class HtmlBasedComponent


Copyright © 2005-2009 Potix Corporation. All Rights Reserved.