Class GoldenLayout
- java.lang.Object
-
- org.zkoss.zk.ui.AbstractComponent
-
- org.zkoss.zk.ui.HtmlBasedComponent
-
- org.zkoss.zul.impl.XulElement
-
- org.zkoss.zkmax.zul.GoldenLayout
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,Component
,Scope
,ComponentCtrl
public class GoldenLayout extends XulElement
A docker type layout component.GoldenPanel
is the only child that could be added to.- Since:
- 8.6.0
- 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, AbstractComponent.ForwardInfo, AbstractComponent.TargetInfo
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
REGION_EAST
static java.lang.String
REGION_NORTH
static java.lang.String
REGION_SOUTH
static java.lang.String
REGION_STACK
static java.lang.String
REGION_WEST
static java.lang.String
TARGET_ROOT
-
Fields inherited from class org.zkoss.zk.ui.HtmlBasedComponent
_zclass
-
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
AFTER_CHILD_ADDED, AFTER_CHILD_REMOVED, AFTER_PAGE_ATTACHED, AFTER_PAGE_DETACHED, AFTER_PARENT_CHANGED, CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE
-
-
Constructor Summary
Constructors Constructor Description GoldenLayout()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addPanel(GoldenPanel goldenPanel, int col, int row, java.lang.String region)
Adds an GoldenPanel to the region of the GoldenPanel at the specified location.void
addPanel(GoldenPanel goldenPanel, java.lang.String area, java.lang.String region)
Adds an GoldenPanel to the region of the specified area GoldenPanel.void
addPanel(GoldenPanel goldenPanel, GoldenPanel targetGoldenPanel, java.lang.String region)
Adds an GoldenPanel to the region of the specified area GoldenPanel.void
addPanelToRoot(GoldenPanel goldenPanel, java.lang.String region)
Adds an GoldenPanel to the region of the GoldenLayout.void
beforeChildAdded(Component child, Component refChild)
Default: does nothing.void
deletePanels(java.lang.String area)
Deletes the GoldenPanels of this name.java.lang.String
getAreas()
Gets the current areas template as String.protected java.util.List<java.util.List<java.lang.String>>
getAreasMatrix()
java.util.Set<java.lang.String>
getAreasNames()
java.lang.Integer
getColumnsSize()
java.lang.String
getOrient()
protected GoldenPanel
getPanel(int col, int row)
protected GoldenPanel
getPanel(java.lang.String area)
java.util.List<GoldenPanel>
getPanels(int col, int row)
Get the panels on the specified location.java.util.List<GoldenPanel>
getPanels(java.lang.String area)
Get the GoldenPanels of the specified area name.java.lang.Integer
getRowsSize()
boolean
insertBefore(Component newChild, Component refChild)
Inserts a child before the reference child.void
movePanel(GoldenPanel goldenPanel, int col, int row, java.lang.String region)
Moves an existing goldenpanel child of this goldenlayout to a specific location by col and row indexes.void
movePanel(GoldenPanel goldenPanel, java.lang.String area, java.lang.String region)
Moves an existing goldenpanel child of this goldenlayout to a specific region of an area.void
movePanel(GoldenPanel goldenPanel, GoldenPanel targetGoldenPanel, java.lang.String region)
Moves an existing goldenpanel child of this goldenlayout to a specific region of an area.void
movePanelToRoot(GoldenPanel goldenPanel, java.lang.String region)
Moves an GoldenPanel to the region of the GoldenLayout.void
onChildAdded(Component child)
Default: handles special event listeners.void
onCreate(Event evt)
Internal use onlyprotected 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
setAreas(java.lang.String areas)
Sets a matrix-like areas template, supports only on initial rendering.void
setOrient(java.lang.String orient)
Sets the initial dividing orientation.protected java.lang.String
updateInitialMatrix(GoldenPanel dropTarget, java.lang.String region, java.lang.String area)
-
Methods inherited from class org.zkoss.zul.impl.XulElement
clone, getContext, getCtrlKeys, getPopup, getPropertyAccess, getTooltip, setContext, setContext, setContextAttributes, setCtrlKeys, setPopup, setPopup, setPopupAttributes, setTooltip, setTooltip, setTooltipAttributes
-
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
addSclass, evalCSSFlex, focus, getAction, getClientAction, getDraggable, getDroppable, getExtraCtrl, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTabindexInteger, getTooltiptext, getTop, getVflex, getWidth, getZclass, getZindex, getZIndex, removeSclass, removeSclass, setAction, setClass, setClientAction, setDraggable, setDroppable, setFocus, setHeight, setHeight0, setHeightDirectly, setHflex, setHflex0, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTabindex, setTabindex, setTooltiptext, setTop, setTopDirectly, setVflex, setVflex0, setVflexDirectly, setWidth, setWidth0, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly
-
Methods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addCallback, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildRemoved, beforeParentChanged, destroyIndexCacheMap, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, disableHostChanged, enableBindingAnnotation, enableHostChanged, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getCallback, getChildren, getClientAttribute, getClientDataAttribute, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getForwards, getId, getIndexCacheMap, getLastChild, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRedrawCallback, getRoot, getShadowFellowIfAny, getShadowRoots, getShadowVariable, getShadowVariable, getShadowVariable0, getSpaceOwner, getSpecialRendererOutput, getStubonly, getSubBindingAnnotationCount, getTemplate, getTemplateNames, getUuid, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasBindingAnnotation, hasFellow, hasFellow, hasSubBindingAnnotation, initIndexCacheMap, invalidate, isChildable, isDisabledHostChanged, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildRemoved, onPageAttached, onPageDetached, onParentChanged, onWrongValue, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeCallback, removeChild, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, renderPropertiesOnly, replace, response, response, response, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setClientAttribute, setClientDataAttribute, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setStubonly, setStubonly, setSubBindingAnnotationCount, setTemplate, setVisible, setVisibleDirectly, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
-
-
-
-
Field Detail
-
REGION_NORTH
public static final java.lang.String REGION_NORTH
- See Also:
- Constant Field Values
-
REGION_SOUTH
public static final java.lang.String REGION_SOUTH
- See Also:
- Constant Field Values
-
REGION_EAST
public static final java.lang.String REGION_EAST
- See Also:
- Constant Field Values
-
REGION_WEST
public static final java.lang.String REGION_WEST
- See Also:
- Constant Field Values
-
REGION_STACK
public static final java.lang.String REGION_STACK
- See Also:
- Constant Field Values
-
TARGET_ROOT
public static final java.lang.String TARGET_ROOT
- See Also:
- Constant Field Values
-
-
Method Detail
-
getAreas
public java.lang.String getAreas()
Gets the current areas template as String.- Returns:
- the current areas template as String.
-
setAreas
public void setAreas(java.lang.String areas)
Sets a matrix-like areas template, supports only on initial rendering. Notice that areas is only supported for the initial rendering.- Parameters:
areas
- the template of the goldenlayout.
-
getOrient
public java.lang.String getOrient()
- Returns:
- the layout dividing orientation.
-
setOrient
public void setOrient(java.lang.String orient)
Sets the initial dividing orientation. vertical: divides to rows to layout vertically first- Parameters:
orient
- "vertical" or "horizontal"
-
getAreasNames
public java.util.Set<java.lang.String> getAreasNames()
- Returns:
- the current used areas template names.
-
getColumnsSize
public java.lang.Integer getColumnsSize()
- Returns:
- the size of columns of the areas.
-
getRowsSize
public java.lang.Integer getRowsSize()
- Returns:
- the size of the rows of the areas.
-
getPanels
public java.util.List<GoldenPanel> getPanels(int col, int row)
Get the panels on the specified location.- Parameters:
col
- the index of column of areasrow
- the index of row of areas- Returns:
- the GoldenPanels that is on this location. Note that if the index is larger than the maximum index, it will be set to the maximum index.
-
getPanels
public java.util.List<GoldenPanel> getPanels(java.lang.String area)
Get the GoldenPanels of the specified area name.- Parameters:
area
- of the GoldenPanels- Returns:
- GoldenPanels that has the specified name.
-
getPanel
protected GoldenPanel getPanel(int col, int row)
-
getPanel
protected GoldenPanel getPanel(java.lang.String area)
-
deletePanels
public void deletePanels(java.lang.String area)
Deletes the GoldenPanels of this name.- Parameters:
area
- of the panels to delete.
-
addPanel
public void addPanel(GoldenPanel goldenPanel, int col, int row, java.lang.String region)
Adds an GoldenPanel to the region of the GoldenPanel at the specified location. col = -1, or row = -1 means add to the region of the whole GoldenLayout. If no GoldenPanel found at the specified location, will append to the specified region of the whole GoldenLayout. If no region specified, or region not found, will append to region east.- Parameters:
goldenPanel
- the GoldenPanel that will be added.col
- the index of column of areasrow
- the index of row of areasregion
- north, south, east, west, stack
-
addPanel
public void addPanel(GoldenPanel goldenPanel, java.lang.String area, java.lang.String region)
Adds an GoldenPanel to the region of the specified area GoldenPanel. If no GoldenPanel found with the specified area argument, will append to the specified region of the whole GoldenLayout. If no region specified, or region not found, will append to region east.- Parameters:
goldenPanel
- the GoldenPanel that will be added.area
- the area name that will be moved to.region
- north, south, east, west, stack
-
addPanel
public void addPanel(GoldenPanel goldenPanel, GoldenPanel targetGoldenPanel, java.lang.String region)
Adds an GoldenPanel to the region of the specified area GoldenPanel. If no region specified, or region not found, will append to region east.- Parameters:
goldenPanel
- the GoldenPanel that will be added.targetGoldenPanel
- the target GoldenPanel to be dropped to.region
- north, south, east, west, stack
-
addPanelToRoot
public void addPanelToRoot(GoldenPanel goldenPanel, java.lang.String region)
Adds an GoldenPanel to the region of the GoldenLayout. This adds the GoldenPanel to the specified region of the whole GoldenLayout.- Parameters:
goldenPanel
- the GoldenPanel that will be added.region
- north, south, east, west
-
movePanel
public void movePanel(GoldenPanel goldenPanel, int col, int row, java.lang.String region)
Moves an existing goldenpanel child of this goldenlayout to a specific location by col and row indexes. If no GoldenPanel found at the specified location, will move to the specified region of the whole GoldenLayout. If no region specified, or region not found, will move to region east.- Parameters:
goldenPanel
- the GoldenPanel that will be moved.col
- the col index of the location.row
- the row index of the location.region
- north, south, east, west, stack
-
movePanel
public void movePanel(GoldenPanel goldenPanel, java.lang.String area, java.lang.String region)
Moves an existing goldenpanel child of this goldenlayout to a specific region of an area. If no GoldenPanel found with the specified area argument, will move to the specified region of the whole GoldenLayout. If no region specified, or region not found, will move to region east.- Parameters:
goldenPanel
- the GoldenPanel that will be moved.area
- the area name that will be moved to.region
- north, south, east, west, stack
-
movePanel
public void movePanel(GoldenPanel goldenPanel, GoldenPanel targetGoldenPanel, java.lang.String region)
Moves an existing goldenpanel child of this goldenlayout to a specific region of an area. If no region specified, or region not found, will move to region east.- Parameters:
goldenPanel
- the GoldenPanel that will be moved.targetGoldenPanel
- the target GoldenPanel to be dropped to.region
- north, south, east, west, stack
-
movePanelToRoot
public void movePanelToRoot(GoldenPanel goldenPanel, java.lang.String region)
Moves an GoldenPanel to the region of the GoldenLayout. This moves the GoldenPanel to the specified region of the whole GoldenLayout.- Parameters:
goldenPanel
-region
-
-
getAreasMatrix
protected java.util.List<java.util.List<java.lang.String>> getAreasMatrix()
-
beforeChildAdded
public void beforeChildAdded(Component child, Component refChild)
Description copied from class:AbstractComponent
Default: does nothing.- Specified by:
beforeChildAdded
in interfaceComponentCtrl
- Overrides:
beforeChildAdded
in classAbstractComponent
- 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: handles special event listeners.- Specified by:
onChildAdded
in interfaceComponentCtrl
- Overrides:
onChildAdded
in classAbstractComponent
- See Also:
ComponentCtrl.onChildAdded(org.zkoss.zk.ui.Component)
-
insertBefore
public boolean insertBefore(Component newChild, Component refChild)
Description copied from interface:Component
Inserts a child before the reference child.You could use
Component.setParent(org.zkoss.zk.ui.Component)
orComponent.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 backComponent.insertBefore(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)
and/orComponent.removeChild(org.zkoss.zk.ui.Component)
, whileComponent.insertBefore(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)
andComponent.removeChild(org.zkoss.zk.ui.Component)
always calls backComponent.setParent(org.zkoss.zk.ui.Component)
, if the parent is changed. Thus, you don't need to override bothComponent.insertBefore(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)
andComponent.setParent(org.zkoss.zk.ui.Component)
, if you want to customize the behavior.If you would like to monitor if a component is attached or detached from a page, you could register a desktop listener implementing
UiLifeCycle
.- Specified by:
insertBefore
in interfaceComponent
- Overrides:
insertBefore
in classAbstractComponent
- Parameters:
newChild
- 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.- Returns:
- true if newChild is added successfully or moved; false if it already has the specified child and the order doesn't change.
-
onCreate
public void onCreate(Event evt)
Internal use only- Since:
- 8.6.0
-
renderProperties
protected void renderProperties(ContentRenderer renderer) throws java.io.IOException
Description copied from class:HtmlBasedComponent
Renders the content of this component, excluding the enclosing tags and children.- Overrides:
renderProperties
in classXulElement
- Throws:
java.io.IOException
-
service
public void service(AuRequest request, boolean everError)
Description copied from class:HtmlBasedComponent
Processes an AU request.Default: it handles onClick, onDoubleClick, onRightClick onMove, onSize, onZIndex.
- Specified by:
service
in interfaceComponentCtrl
- Overrides:
service
in classHtmlBasedComponent
everError
- whether any error ever occurred before processing this request.- See Also:
AbstractComponent.setAuService(org.zkoss.zk.au.AuService)
-
updateInitialMatrix
protected java.lang.String updateInitialMatrix(GoldenPanel dropTarget, java.lang.String region, java.lang.String area)
-
-