org.zkoss.zul
Class Group

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.Row
                  extended by org.zkoss.zul.Group
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, HtmlBasedComponent, Component, Scope, ComponentCtrl, Group, Row, XulElement

public class Group
extends Row
implements Group

Adds the ability for single level grouping to the Grid.

Event:

  1. onOpen is sent when this listgroup is opened or closed by user.

Default getZclass(): z-group.

Note: All the child of this component are automatically applied the group-cell CSS, if you don't want this CSS, you can invoke the HtmlBasedComponent.setSclass(String) after the child added.

Since:
3.5.0
Author:
jumperchen
See Also:
Serialized Form

Nested Class Summary
protected  class Group.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
Group()
           
Group(java.lang.String label)
           
Group(java.lang.String label, java.lang.Object value)
           
 
Method Summary
 java.lang.Object clone()
          Clones the component.
 Groupfoot getGroupfoot()
          Returns the Groupfoot, if any.
 Groupfoot getGroupfootApi()
          Returns the Groupfoot, if any.
 int getGroupfootIndex()
          Returns the index of Groupfoot -1: no Groupfoot
 java.lang.String getImgTag()
          Returns the HTML IMG tag for the image part, or null if no image is assigned.
 int getItemCount()
          Returns the number of items.
 java.util.List getItems()
          Returns a list of all Row are grouped by this group.
 java.lang.String getLabel()
          Returns the value of the Label it contains, or null if no such cell.
 java.lang.String getOuterAttrs()
          Returns the exterior attributes for generating the enclosing HTML tag; never return null.
 int getVisibleItemCount()
          Returns the number of visible descendant Row.
 java.lang.String getZclass()
          Returns the ZK Cascading Style class(es) for this component.
 boolean isOpen()
          Returns whether this container is open.
protected  java.lang.Object newExtraCtrl()
          Used by AbstractComponent.getExtraCtrl() to create a client control.
 void onChildAdded(Component child)
          Default: does nothing.
 void onChildRemoved(Component child)
          Default: does nothing.
 void setLabel(java.lang.String label)
          Sets the value of the Label it contains.
 void setOpen(boolean open)
          Sets whether this container is open.
 
Methods inherited from class org.zkoss.zul.Row
beforeChildAdded, beforeParentChanged, getAlign, getChildAttrs, getDetailChild, getDetailChildApi, getGrid, getGridApi, getGroup, getGroupApi, getRealSclass, getRealStyle, getRealStyleFlags, getSclass, getSpans, getValign, getValue, insertBefore, isNowrap, onDrawNewChild, setAlign, setNowrap, setSclass, setSpans, setStyle, setValign, setValue, setVisible
 
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, getStyle, getTooltiptext, getTop, getWidth, getZindex, getZIndex, redraw, setClass, setDraggable, setDroppable, setFocus, setHeight, setLeft, setMoldSclass, 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, beforeChildRemoved, containsVariable, detach, disableClientUpdate, 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, onPageAttached, onPageDetached, 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.zul.api.Row
getAlign, getDetailChildApi, getGridApi, getGroupApi, getSpans, getValign, getValue, isNowrap, setAlign, setNowrap, setSpans, setValign, setValue
 
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, insertBefore, invalidate, isChildable, isInvalidated, isListenerAvailable, isVisible, redraw, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, setAttribute, setAttribute, setId, setMold, setPage, setPageBefore, setParent, setVariable, setVisible, unsetVariable
 

Constructor Detail

Group

public Group()

Group

public Group(java.lang.String label)

Group

public Group(java.lang.String label,
             java.lang.Object value)
Method Detail

getItems

public java.util.List getItems()
Returns a list of all Row are grouped by this group.

Specified by:
getItems in interface Group

getItemCount

public int getItemCount()
Returns the number of items.

Specified by:
getItemCount in interface Group

getVisibleItemCount

public int getVisibleItemCount()
Returns the number of visible descendant Row.

Specified by:
getVisibleItemCount in interface Group
Since:
3.5.1

getGroupfootIndex

public int getGroupfootIndex()
Returns the index of Groupfoot

-1: no Groupfoot

Specified by:
getGroupfootIndex in interface Group

getGroupfoot

public Groupfoot getGroupfoot()
Returns the Groupfoot, if any. Otherwise, null is returned.


getGroupfootApi

public Groupfoot getGroupfootApi()
Returns the Groupfoot, if any. Otherwise, null is returned.

Specified by:
getGroupfootApi in interface Group
Since:
3.5.2

isOpen

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

Default: true.

Specified by:
isOpen in interface Group

setOpen

public void setOpen(boolean open)
Sets whether this container is open.

Specified by:
setOpen in interface Group

getImgTag

public java.lang.String getImgTag()
Returns the HTML IMG tag for the image part, or null if no image is assigned.

Used only for component template, not for application developers.


getLabel

public java.lang.String getLabel()
Returns the value of the Label it contains, or null if no such cell.

Specified by:
getLabel in interface Group

setLabel

public void setLabel(java.lang.String label)
Sets the value of the Label it contains.

If it is not created, we automatically create it.

Specified by:
setLabel in interface Group

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 Row
See Also:
HtmlBasedComponent.getSclass(), HtmlBasedComponent.getRealSclass()

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 Row

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

onChildAdded

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

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

onChildRemoved

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

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

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 Row


Copyright &copy; 2005-2009 Potix Corporation. All Rights Reserved. SourceForge.net Logo