org.zkoss.zkex.zul
Class LayoutRegion

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.zkex.zul.LayoutRegion
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, HtmlBasedComponent, Component, Scope, ComponentCtrl, LayoutRegion, XulElement
Direct Known Subclasses:
Center, East, North, South, West

public abstract class LayoutRegion
extends XulElement
implements LayoutRegion

This class represents a region in a layout manager.

Events:
onOpen, onSize.

Since:
3.0.0
Author:
jumperchen
See Also:
Serialized Form

Nested Class Summary
protected  class LayoutRegion.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
LayoutRegion()
           
 
Method Summary
protected  void addSclass(java.lang.String cls)
           
 void beforeChildAdded(Component child, Component refChild)
          Default: does nothing.
 void beforeParentChanged(Component parent)
          Default: does nothing.
 java.lang.String getBorder()
          Returns the border.
 java.lang.String getCmargins()
          Returns the collapsed margins, which is a list of numbers separated by comma.
 java.lang.String getMargins()
          Returns the margins, which is a list of numbers separated by comma.
 int getMaxsize()
          Returns the maximum size of the resizing element.
 int getMinsize()
          Returns the minimum size of the resizing element.
 java.lang.String getOuterAttrs()
          Returns the exterior attributes for generating the enclosing HTML tag; never return null.
abstract  java.lang.String getPosition()
          Returns this regions position (north/south/east/west/center).
protected  java.lang.String getRealSclass()
          Returns the real style class that will be generated to the client (when HtmlBasedComponent.getOuterAttrs() is called).
abstract  java.lang.String getSize()
          Returns the size of this region.
 java.lang.String getTitle()
          Returns the title.
 java.lang.String getZclass()
          Returns the ZK Cascading Style class(es) for this component.
protected  boolean hasSclass(java.lang.String cls)
           
 void invalidate()
          Invalidates this component by setting the dirty flag such that it will be redraw the whole content later.
 boolean isAutoscroll()
          Returns whether enable overflow scrolling.
 boolean isCollapsible()
          Returns whether set the initial display to collapse.
 boolean isFlex()
          Returns whether to grow and shrink vertical/horizontal to fit their given space, so called flexibility.
 boolean isOpen()
          Returns whether it is opne (i.e., not collapsed.
 boolean isSplittable()
          Returns whether enable the split functionality.
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.
protected  void removeSclass(java.lang.String cls)
           
 void setAutoscroll(boolean autoscroll)
          Sets whether enable overflow scrolling.
 void setBorder(java.lang.String border)
          Sets the border (either none or normal).
 void setCmargins(java.lang.String cmargins)
          Sets the collapsed margins for the element "0,1,2,3" that direction is "top,left,right,bottom"
 void setCollapsible(boolean collapsible)
          Sets whether set the initial display to collapse.
 void setFlex(boolean flex)
          Sets whether to grow and shrink vertical/horizontal to fit their given space, so called flexibility.
 void setMargins(java.lang.String margins)
          Sets margins for the element "0,1,2,3" that direction is "top,left,right,bottom"
 void setMaxsize(int maxsize)
          Sets the maximum size of the resizing element.
 void setMinsize(int minsize)
          Sets the minimum size of the resizing element.
 void setOpen(boolean open)
          Opens or collapses the splitter.
abstract  void setSize(java.lang.String size)
          Sets the size of this region.
 void setSplittable(boolean splittable)
          Sets whether enable the split functionality.
 void setTitle(java.lang.String title)
          Sets the title.
 
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, beforeChildRemoved, clone, 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, 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, clone, 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, setVisible, unsetVariable
 

Constructor Detail

LayoutRegion

public LayoutRegion()
Method Detail

getTitle

public java.lang.String getTitle()
Returns the title.

Default: null.

Specified by:
getTitle in interface LayoutRegion
Since:
3.5.0

setTitle

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

Specified by:
setTitle in interface LayoutRegion
Since:
3.5.0

getBorder

public java.lang.String getBorder()
Returns the border.

The border actually controls what CSS class to use: If border is null, it implies "none".

If you also specify the CSS class (HtmlBasedComponent.setClass(java.lang.String)), it overwrites whatever border you specify here.

Default: "normal".

Specified by:
getBorder in interface LayoutRegion

setBorder

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

Specified by:
setBorder in interface LayoutRegion
Parameters:
border - the border. If null or "0", "none" is assumed.

isSplittable

public boolean isSplittable()
Returns whether enable the split functionality.

Default: false.

Specified by:
isSplittable in interface LayoutRegion

setSplittable

public void setSplittable(boolean splittable)
Sets whether enable the split functionality.

Specified by:
setSplittable in interface LayoutRegion

setMaxsize

public void setMaxsize(int maxsize)
Sets the maximum size of the resizing element.

Specified by:
setMaxsize in interface LayoutRegion

getMaxsize

public int getMaxsize()
Returns the maximum size of the resizing element.

Default: 2000.

Specified by:
getMaxsize in interface LayoutRegion

setMinsize

public void setMinsize(int minsize)
Sets the minimum size of the resizing element.

Specified by:
setMinsize in interface LayoutRegion

getMinsize

public int getMinsize()
Returns the minimum size of the resizing element.

Default: 0.

Specified by:
getMinsize in interface LayoutRegion

isFlex

public final boolean isFlex()
Returns whether to grow and shrink vertical/horizontal to fit their given space, so called flexibility.

Default: false.


setFlex

public void setFlex(boolean flex)
Sets whether to grow and shrink vertical/horizontal to fit their given space, so called flexibility.

Specified by:
setFlex in interface LayoutRegion

getMargins

public java.lang.String getMargins()
Returns the margins, which is a list of numbers separated by comma.

Default: "0,0,0,0".

Specified by:
getMargins in interface LayoutRegion

setMargins

public void setMargins(java.lang.String margins)
Sets margins for the element "0,1,2,3" that direction is "top,left,right,bottom"

Specified by:
setMargins in interface LayoutRegion

getCmargins

public java.lang.String getCmargins()
Returns the collapsed margins, which is a list of numbers separated by comma.

Default: "5,5,5,5".

Specified by:
getCmargins in interface LayoutRegion
Since:
3.5.0

setCmargins

public void setCmargins(java.lang.String cmargins)
Sets the collapsed margins for the element "0,1,2,3" that direction is "top,left,right,bottom"

Specified by:
setCmargins in interface LayoutRegion
Since:
3.5.0

isCollapsible

public boolean isCollapsible()
Returns whether set the initial display to collapse.

Default: false.

Specified by:
isCollapsible in interface LayoutRegion

setCollapsible

public void setCollapsible(boolean collapsible)
Sets whether set the initial display to collapse.

It only applied when getTitle() is not null. (since 3.5.0)

Specified by:
setCollapsible in interface LayoutRegion

isAutoscroll

public boolean isAutoscroll()
Returns whether enable overflow scrolling.

Default: false.

Specified by:
isAutoscroll in interface LayoutRegion

setAutoscroll

public void setAutoscroll(boolean autoscroll)
Sets whether enable overflow scrolling.

Specified by:
setAutoscroll in interface LayoutRegion

isOpen

public boolean isOpen()
Returns whether it is opne (i.e., not collapsed. Meaningful only if isCollapsible() is not false.

Default: true.

Specified by:
isOpen in interface LayoutRegion

setOpen

public void setOpen(boolean open)
Opens or collapses the splitter. Meaningful only if isCollapsible() is not false.

Specified by:
setOpen in interface LayoutRegion

getPosition

public abstract java.lang.String getPosition()
Returns this regions position (north/south/east/west/center).

Specified by:
getPosition in interface LayoutRegion
See Also:
Borderlayout.NORTH, Borderlayout.SOUTH, Borderlayout.EAST, Borderlayout.WEST, Borderlayout.CENTER

setSize

public abstract void setSize(java.lang.String size)
Sets the size of this region. This method is shortcut for HtmlBasedComponent.setHeight(String) and HtmlBasedComponent.setWidth(String). If this region is North or South, this method will invoke HtmlBasedComponent.setHeight(String). If this region is West or East, this method will invoke HtmlBasedComponent.setWidth(String). Otherwise it will throw a UnsupportedOperationException.

Specified by:
setSize in interface LayoutRegion

getSize

public abstract java.lang.String getSize()
Returns the size of this region. This method is shortcut for HtmlBasedComponent.getHeight() and HtmlBasedComponent.getWidth(). If this region is North or South, this method will invoke HtmlBasedComponent.getHeight(). If this region is West or East, this method will invoke HtmlBasedComponent.getWidth(). Otherwise it will throw a UnsupportedOperationException.

Specified by:
getSize in interface LayoutRegion

addSclass

protected void addSclass(java.lang.String cls)

hasSclass

protected boolean hasSclass(java.lang.String cls)

removeSclass

protected void removeSclass(java.lang.String cls)

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

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

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)

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)

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)

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

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 XulElement

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