org.zkoss.zul
Class Groupbox

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.Groupbox
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, HtmlBasedComponent, Component, Scope, ComponentCtrl, Groupbox, XulElement

public class Groupbox
extends XulElement
implements Groupbox

Groups a set of child elements to have a visual effect.

Default getZclass(): "z-fieldset". If AbstractComponent.getMold() is 3d, "z-groupbox" is assumed.(since 3.5.0)

Author:
tomyeh
See Also:
Serialized Form

Nested Class Summary
protected  class Groupbox.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
Groupbox()
           
 
Method Summary
 java.lang.Object clone()
          Clones the component.
 Caption getCaption()
          Returns the caption of this groupbox.
 Caption getCaptionApi()
          Returns the caption of this groupbox.
 java.lang.String getCaptionLook()
          Deprecated. As of release 3.5.0
 java.lang.String getContentSclass()
          Returns the style class used for the content block of the groupbox.
 java.lang.String getContentStyle()
          Returns the CSS style for the content block of the groupbox.
 java.lang.String getOuterAttrs()
          Returns the exterior attributes for generating the enclosing HTML tag; never return null.
protected  java.lang.String getRealSclass()
          Returns the real style class that will be generated to the client (when HtmlBasedComponent.getOuterAttrs() is called).
 java.lang.String getZclass()
          Returns the ZK Cascading Style class(es) for this component.
 boolean insertBefore(Component child, Component insertBefore)
          Inserts a child before the reference child.
 boolean isClosable()
          Returns whether user can open or close the group box.
 boolean isLegend()
          Returns whether this groupbox is in the legend mold.
 boolean isOpen()
          Returns whether this groupbox is open.
protected  java.lang.Object newExtraCtrl()
          Used by AbstractComponent.getExtraCtrl() to create a client control.
 void onChildRemoved(Component child)
          Default: does nothing.
 void setClosable(boolean closable)
          Sets whether user can open or close the group box.
 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 groupbox.
 void setLegend(boolean legend)
          Sets whether this groupbox is in the legend mold.
 void setOpen(boolean open)
          Opens or closes this groupbox.
 
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, getRealStyle, getRealStyleFlags, getSclass, getStyle, getTooltiptext, getTop, getWidth, getZindex, getZIndex, redraw, setClass, setDraggable, 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, onPageDetached, onWrongValue, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, response, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setComponentDefinition, setId, setMold, setPage, setPageBefore, setParent, setVariable, setVisible, 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.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, setDraggable, 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, setVisible, unsetVariable
 

Constructor Detail

Groupbox

public Groupbox()
Method Detail

getCaption

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


getCaptionApi

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

Specified by:
getCaptionApi in interface Groupbox
Since:
3.5.2

isOpen

public boolean isOpen()
Returns whether this groupbox is open.

Default: true.

Specified by:
isOpen in interface Groupbox

setOpen

public void setOpen(boolean open)
Opens or closes this groupbox.

Specified by:
setOpen in interface Groupbox

isClosable

public boolean isClosable()
Returns whether user can open or close the group box. In other words, if false, users are no longer allowed to change the open status (by clicking on the title).

Default: true.

Specified by:
isClosable in interface Groupbox

setClosable

public void setClosable(boolean closable)
Sets whether user can open or close the group box.

Specified by:
setClosable in interface Groupbox

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()

getRealSclass

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

Default: it simply returns the catenation of HtmlBasedComponent.getSclass() and HtmlBasedComponent.getZclass() (since 3.5.0).

Derived classes might override it to provide, say, dual style classes. For example,

final String sclass = getSclass();
return sclass != null ? sclass + " my-addon": "myaddon";

Overrides:
getRealSclass in class HtmlBasedComponent
See Also:
HtmlBasedComponent.getZclass()

getContentStyle

public java.lang.String getContentStyle()
Returns the CSS style for the content block of the groupbox. Used only if AbstractComponent.getMold() is not default.

Specified by:
getContentStyle in interface Groupbox

setContentStyle

public void setContentStyle(java.lang.String style)
Sets the CSS style for the content block of the groupbox. Used only if AbstractComponent.getMold() is not default.

Default: null.

Specified by:
setContentStyle in interface Groupbox

getContentSclass

public java.lang.String getContentSclass()
Returns the style class used for the content block of the groupbox. Used only if AbstractComponent.getMold() is not default.

Specified by:
getContentSclass in interface Groupbox

setContentSclass

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

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

isLegend

public boolean isLegend()
Returns whether this groupbox is in the legend mold. By the legend mold we mean this group box is rendered with HTML FIELDSET tag.

Default: the legend mold is assumed if AbstractComponent.getMold() returns "default".

If it is not the case, you can call setLegend(boolean) to change it.

Specified by:
isLegend in interface Groupbox
Since:
3.0.0

setLegend

public void setLegend(boolean legend)
Sets whether this groupbox is in the legend mold.

Specified by:
setLegend in interface Groupbox
Since:
3.0.0
See Also:
isLegend()

getCaptionLook

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

Returns the look of the caption. It is, in fact, a portion of the style class that are used to generate the style for the caption.

If the style class (HtmlBasedComponent.getSclass()) of this groupbox is not defined and the mold is "default", then "groupbox" is returned.

If the mold is "default" or "3d", and the style class is defined, say "lite", then this method return "groupbox-lite".

If the mold is not "default", and the style class is not defined, this method returns:
"groupbox-" + getMold()

If the mold is not "default" and the style class is defined, this method returns
"groupbox-" + getMold() + "-" + getSclass()

With this method, the caption generates the style class for the caption accordingly. For example, if the mold is "3d" and the style class not defined, then "groupbox-3d-tl" for the top-left corner of the caption, "groupbox-3d-tm" for the top-middle border, and so on.

Since:
3.0,0

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

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)

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

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


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