org.zkoss.zul
Class Columns

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

public class Columns
extends HeadersElement
implements Columns

Defines the columns of a grid. Each child of a columns element should be a Column element.

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

Author:
tomyeh
See Also:
Serialized Form

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
_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
Columns()
           
 
Method Summary
 void beforeChildAdded(Component child, Component refChild)
          Default: does nothing.
 void beforeParentChanged(Component parent)
          Default: does nothing.
 java.lang.Object clone()
          Clones the component.
 Grid getGrid()
          Returns the grid that it belongs to.
 Grid getGridApi()
          Returns the grid that it belongs to.
 java.lang.String getMenupopup()
          Returns the ID of the Menupopup (Menupopup) that should appear when the user clicks on the element.
 java.lang.String getOuterAttrs()
          Returns the exterior attributes for generating the enclosing HTML tag; never return null.
 java.lang.Object getValue()
          Returns the value.
 java.lang.String getZclass()
          Returns the ZK Cascading Style class(es) for this component.
 void invalidate()
          Invalidates this component by setting the dirty flag such that it will be redraw the whole content later.
 boolean isColumnsgroup()
          Returns whether to enable grouping of columns with the header context menu.
 boolean isColumnshide()
          Returns whether to enable hiding of columns with the header context menu.
 void onChildAdded(Component child)
          Default: does nothing.
 void onChildRemoved(Component child)
          Default: does nothing.
 void onInitLater(Event event)
          Handles a private event, onInitLater.
 void onPageAttached(Page newpage, Page oldpage)
          Default: handles special event listeners.
 void setColumnsgroup(boolean columnsgroup)
          Sets whether to enable grouping of columns with the header context menu.
 void setColumnshide(boolean columnshide)
          Sets whether to enable hiding of columns with the header context menu.
 void setMenupopup(java.lang.String mpop)
          Sets the ID of the menupopup (Menupopup) that should appear when the user clicks on the element of each column.
 void setPopup(Menupopup mpop)
          Sets the UUID of the popup menu that should appear when the user clicks on the element.
 void setPopupApi(Menupopup mpopApi)
          Sets the UUID of the popup menu that should appear when the user clicks on the element.
 void setValue(java.lang.Object value)
          Sets the value.
 boolean setVisible(boolean visible)
          Sets whether this component is visible.
 
Methods inherited from class org.zkoss.zul.impl.HeadersElement
isSizable, setSizable
 
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, getRealStyle, getRealStyleFlags, getSclass, getStyle, getTooltiptext, getTop, getWidth, getZindex, getZIndex, newExtraCtrl, 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, 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, insertBefore, isAsapRequired, isChildable, isInvalidated, isListenerAvailable, isVisible, newChildren, onDrawNewChild, 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.impl.api.HeadersElement
isSizable, setSizable
 
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, isChildable, isInvalidated, isListenerAvailable, isVisible, redraw, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, setAttribute, setAttribute, setId, setMold, setPage, setPageBefore, setParent, setVariable, unsetVariable
 

Constructor Detail

Columns

public Columns()
Method Detail

getGrid

public Grid getGrid()
Returns the grid that it belongs to.

It is the same as AbstractComponent.getParent().


getGridApi

public Grid getGridApi()
Returns the grid that it belongs to.

It is the same as AbstractComponent.getParent().

Specified by:
getGridApi in interface Columns
Since:
3.5.2

setColumnshide

public void setColumnshide(boolean columnshide)
Sets whether to enable hiding of columns with the header context menu.

Note that it is only applied when getMenupopup() is auto.

Specified by:
setColumnshide in interface Columns
Since:
3.5.0

isColumnshide

public boolean isColumnshide()
Returns whether to enable hiding of columns with the header context menu.

Default: true.

Specified by:
isColumnshide in interface Columns
Since:
3.5.0

setColumnsgroup

public void setColumnsgroup(boolean columnsgroup)
Sets whether to enable grouping of columns with the header context menu.

Note that it is only applied when getMenupopup() is auto.

Specified by:
setColumnsgroup in interface Columns
Since:
3.5.0

isColumnsgroup

public boolean isColumnsgroup()
Returns whether to enable grouping of columns with the header context menu.

Default: true.

Specified by:
isColumnsgroup in interface Columns
Since:
3.5.0

getMenupopup

public java.lang.String getMenupopup()
Returns the ID of the Menupopup (Menupopup) that should appear when the user clicks on the element.

Default: none (a default menupoppup).

Specified by:
getMenupopup in interface Columns
Since:
3.5.0

setMenupopup

public void setMenupopup(java.lang.String mpop)
Sets the ID of the menupopup (Menupopup) that should appear when the user clicks on the element of each column.

An onOpen event is sent to the popup menu if it is going to appear. Therefore, developers can manipulate it dynamically (perhaps based on OpenEvent.getReference) by listening to the onOpen event.

Note: To simplify the use, it ignores the ID space when locating the component at the client. In other words, it searches for the first component with the specified ID, no matter it is in the same ID space or not.

If there are two components with the same ID (of course, in different ID spaces), you can specify the UUID with the following format:
uuid(comp_uuid)

Specified by:
setMenupopup in interface Columns
Parameters:
mpop - an ID of the menupopup component, "none", or "auto". "none" is assumed by default, "auto" means the menupopup component is created automatically.
Since:
3.5.0
See Also:
setMenupopup(String)

invalidate

public void invalidate()
Description copied from interface: Component
Invalidates this component by setting the dirty flag such that it will be redraw the whole content later.

It can be called only in the request-processing and event-processing phases; excluding the redrawing phase.

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

setPopup

public void setPopup(Menupopup mpop)
Sets the UUID of the popup menu that should appear when the user clicks on the element.

Note: it actually invokes setMenupopup("uuid(" + menupop.getUuid() + ")")

Since:
3.5.0
See Also:
setMenupopup(String)

setPopupApi

public void setPopupApi(Menupopup mpopApi)
Sets the UUID of the popup menu that should appear when the user clicks on the element.

Note: it actually invokes setMenupopup("uuid(" + menupop.getUuid() + ")")

Specified by:
setPopupApi in interface Columns
Since:
3.5.2
See Also:
setMenupopup(String)

getValue

public java.lang.Object getValue()
Returns the value.

Default: null.

Note: the value is application dependent, you can place whatever value you want.

Since:
3.6.0

setValue

public void setValue(java.lang.Object value)
Sets the value.

Parameters:
value - the value.

Note: the value is application dependent, you can place whatever value you want.

Since:
3.6.0

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

beforeParentChanged

public void beforeParentChanged(Component parent)
Description copied from class: AbstractComponent
Default: does nothing.

Specified by:
beforeParentChanged in interface ComponentCtrl
Overrides:
beforeParentChanged in class AbstractComponent
Parameters:
parent - the new parent. If null, it means detachment.
See Also:
ComponentCtrl.beforeParentChanged(org.zkoss.zk.ui.Component)

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 HeadersElement

setVisible

public boolean setVisible(boolean visible)
Description copied from interface: Component
Sets whether this component is visible.

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

beforeChildAdded

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

Specified by:
beforeChildAdded in interface ComponentCtrl
Overrides:
beforeChildAdded in class AbstractComponent
Parameters:
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.
See Also:
ComponentCtrl.beforeChildAdded(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)

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 AbstractComponent
See Also:
ComponentCtrl.onChildRemoved(org.zkoss.zk.ui.Component)

onPageAttached

public void onPageAttached(Page newpage,
                           Page oldpage)
Description copied from class: AbstractComponent
Default: handles special event listeners.

Specified by:
onPageAttached in interface ComponentCtrl
Overrides:
onPageAttached in class AbstractComponent
Parameters:
newpage - the new page (never null).
oldpage - the previous page, if any, or null if it didn't belong to any page.
See Also:
ComponentCtrl.onPageAttached(org.zkoss.zk.ui.Page, org.zkoss.zk.ui.Page)

onInitLater

public void onInitLater(Event event)
Handles a private event, onInitLater. It is used only for implementation, and you rarely need to invoke it explicitly.

Since:
3.5.0

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 &copy; 2005-2009 Potix Corporation. All Rights Reserved. SourceForge.net Logo