|
||||||||||
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
org.zkoss.zul.Window
public class Window
A 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)
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 | |
---|---|
Window()
|
|
Window(java.lang.String title,
java.lang.String border,
boolean closable)
|
Method Summary | |
---|---|
void |
beforeChildAdded(Component child,
Component refChild)
Default: does nothing. |
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 |
getPosition()
Returns how to position the window at the client screen. |
java.lang.String |
getTitle()
Returns the title. |
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 refChild)
Inserts a child before the reference child. |
boolean |
isClosable()
Returns whether to show a close button on the title bar. |
boolean |
isCollapsible()
Always return false. |
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. |
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. |
protected void |
renderProperties(ContentRenderer renderer)
Renders the content of this component, excluding the enclosing tags and children. |
void |
service(AuRequest request,
boolean everError)
Processes an AU request. |
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. |
void |
setTopmost()
Makes this window as topmost. |
boolean |
setVisible(boolean visible)
Changes the visibility of the window. |
Methods inherited from class org.zkoss.zul.impl.XulElement |
---|
getAction, getContext, getCtrlKeys, getPopup, getTooltip, setAction, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip |
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent |
---|
focus, getDraggable, getDroppable, getHeight, getHflex, getLeft, getSclass, getStyle, getTooltiptext, getTop, getVflex, getWidth, getZindex, getZIndex, newExtraCtrl, setClass, 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.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.ext.Scope |
---|
addScopeListener, getAttribute, hasAttribute, removeAttribute, removeScopeListener, setAttribute |
Methods inherited from interface org.zkoss.zk.ui.IdSpace |
---|
getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, hasFellow, hasFellow |
Constructor Detail |
---|
public Window()
public Window(java.lang.String title, java.lang.String border, boolean closable)
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 |
---|
public boolean isMaximized()
isMaximized
in interface Window
isMaximized
in interface Framable
public void setMaximized(boolean maximized)
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.
setMaximized
in interface Window
UiException
- if isMaximizable()
is false.public boolean isMaximizable()
Default: false.
isMaximizable
in interface Window
isMaximizable
in interface Framable
public void setMaximizable(boolean maximizable)
Default: false.
Note: the maximize button won't be displayed if no title or caption at all.
setMaximizable
in interface Window
public boolean isMinimized()
Default: false.
isMinimized
in interface Window
public void setMinimized(boolean minimized)
Default: false.
setMinimized
in interface Window
UiException
- if isMinimizable()
is false.public boolean isMinimizable()
Default: false.
isMinimizable
in interface Window
isMinimizable
in interface Framable
public void setMinimizable(boolean minimizable)
Default: false.
Note: the maximize button won't be displayed if no title or caption at all.
setMinimizable
in interface Window
MinimizeEvent
public void setMinheight(int minheight)
Default: 100.
Note: Only applies when isSizable()
= true.
setMinheight
in interface Window
public int getMinheight()
Default: 100.
getMinheight
in interface Window
public void setMinwidth(int minwidth)
Default: 200.
Note: Only applies when isSizable()
= true.
setMinwidth
in interface Window
public int getMinwidth()
Default: 200.
getMinwidth
in interface Window
public static void setDefaultActionOnShow(java.lang.String onshow)
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>slideDown</value> </preference>
onshow
- the action to take when showing up a windowpublic static java.lang.String getDefaultActionOnShow()
public Caption getCaption()
public Caption getCaptionApi()
getCaptionApi
in interface Window
public java.lang.String getBorder()
getContentSclass()
for more details.
Default: "none".
getBorder
in interface Window
public void setBorder(java.lang.String border)
setBorder
in interface Window
border
- the border. If null or "0", "none" is assumed.
Since 2.4.1, We assume "0" to be "none".public java.lang.String getTitle()
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.
getTitle
in interface Window
getTitle
in interface Framable
public void setTitle(java.lang.String title)
setTitle
in interface Window
public java.lang.String getMode()
getMode
in interface Window
public void setMode(java.lang.String name) throws java.lang.InterruptedException
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.
setMode
in interface Window
name
- the mode which could be one of
"embedded", "overlapped", "popup", "modal", "highlighted".
Note: it cannot be "modal". Use doModal()
instead.
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.public void setMode(int mode) throws java.lang.InterruptedException
setMode
in interface Window
java.lang.InterruptedException
setMode(String)
public boolean inModal()
inModal
in interface Window
public boolean inEmbedded()
inEmbedded
in interface Window
doEmbedded()
public boolean inOverlapped()
inOverlapped
in interface Window
public boolean inPopup()
inPopup
in interface Window
public boolean inHighlighted()
inHighlighted
in interface Window
public void doModal() throws java.lang.InterruptedException, SuspendNotAllowedException
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.
doModal
in interface Window
SuspendNotAllowedException
- if
1) not in an event listener;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.public void doOverlapped()
doOverlapped
in interface Window
public void doPopup()
doPopup
in interface Window
public void doHighlighted()
doHighlighted
in interface Window
public void doEmbedded()
doEmbedded
in interface Window
public boolean isClosable()
isClosable
in interface Window
isClosable
in interface Framable
public void setClosable(boolean closable)
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.
setClosable
in interface Window
public boolean isSizable()
isSizable
in interface Window
public void setSizable(boolean sizable)
Default: false.
setSizable
in interface Window
public boolean isShadow()
public void setShadow(boolean shadow)
Default: true.
public java.lang.String getPosition()
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.
getPosition
in interface Window
public void setPosition(java.lang.String pos)
setPosition
in interface Window
pos
- how to position. It can be null (the default), or
a combination of the following values (by separating with comma).
HtmlBasedComponent.setTop(java.lang.String)
and HtmlBasedComponent.setLeft(java.lang.String)
are both ignored.HtmlBasedComponent.setLeft(java.lang.String)
is ignored.HtmlBasedComponent.setLeft(java.lang.String)
is ignored.HtmlBasedComponent.setTop(java.lang.String)
is ignored.HtmlBasedComponent.setTop(java.lang.String)
is ignored.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.
public void onClose()
Default: detach itself.
public void onModal() throws java.lang.InterruptedException
java.lang.InterruptedException
public java.lang.String getContentStyle()
getContentStyle
in interface Window
public void setContentStyle(java.lang.String style)
Default: null.
setContentStyle
in interface Window
public java.lang.String getContentSclass()
getContentSclass
in interface Window
setContentSclass(java.lang.String)
public void setContentSclass(java.lang.String scls)
setContentSclass
in interface Window
getContentSclass()
public void setTopmost()
protected void renderProperties(ContentRenderer renderer) throws java.io.IOException
HtmlBasedComponent
See also Render Special Properties
renderProperties
in class XulElement
java.io.IOException
public java.lang.String getZclass()
HtmlBasedComponent
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.
getZclass
in interface HtmlBasedComponent
getZclass
in class HtmlBasedComponent
HtmlBasedComponent.getSclass()
public void beforeChildAdded(Component child, Component refChild)
AbstractComponent
beforeChildAdded
in interface ComponentCtrl
beforeChildAdded
in class AbstractComponent
child
- the child to be added (never null).refChild
- another child component that the new child
will be inserted before it. If null, the new child will be the
last child.ComponentCtrl.beforeChildAdded(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)
public boolean insertBefore(Component child, Component refChild)
Component
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.
insertBefore
in interface Component
insertBefore
in class AbstractComponent
child
- the new child to be inserted.refChild
- the child before which you want the new child
being inserted. If null, the new child is append to the end.
public void onChildRemoved(Component child)
AbstractComponent
onChildRemoved
in interface ComponentCtrl
onChildRemoved
in class AbstractComponent
ComponentCtrl.onChildRemoved(org.zkoss.zk.ui.Component)
public void onPageDetached(Page page)
AbstractComponent
onPageDetached
in interface ComponentCtrl
onPageDetached
in class AbstractComponent
page
- the previous page (never null)ComponentCtrl.onPageDetached(org.zkoss.zk.ui.Page)
public boolean setVisible(boolean visible)
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.
setVisible
in interface Component
setVisible
in class AbstractComponent
public void setDraggable(java.lang.String draggable)
HtmlBasedComponent
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.
setDraggable
in interface HtmlBasedComponent
setDraggable
in class HtmlBasedComponent
draggable
- "false", null or "" to denote non-draggable; "true" for draggable
with anonymous identifier; others for an identifier of draggable.public java.lang.Object clone()
Component
clone
in interface Component
clone
in class AbstractComponent
public void service(AuRequest request, boolean everError)
Default: in addition to what are handled by HtmlBasedComponent.service(org.zkoss.zk.au.AuRequest, boolean)
,
it also handles onOpen.
service
in interface ComponentCtrl
service
in class HtmlBasedComponent
everError
- whether any error ever occured before
processing this request.AbstractComponent.setAuService(org.zkoss.zk.au.AuService)
public boolean isCollapsible()
isCollapsible
in interface Framable
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |