Class MeshElement

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, org.zkoss.zk.ui.Component, org.zkoss.zk.ui.ext.Scope, org.zkoss.zk.ui.sys.ComponentCtrl, Paginated
    Direct Known Subclasses:
    Grid, Listbox, Tree

    public abstract class MeshElement
    extends XulElement
    implements Paginated
    The fundamental class for mesh elements such as Grid, Listbox, and Tree.
    Since:
    5.0.6
    Author:
    henrichen
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected static class  MeshElement.InternalPaging  
      • Nested classes/interfaces inherited from class org.zkoss.zk.ui.HtmlBasedComponent

        org.zkoss.zk.ui.HtmlBasedComponent.ExtraCtrl
      • Nested classes/interfaces inherited from class org.zkoss.zk.ui.AbstractComponent

        org.zkoss.zk.ui.AbstractComponent.Children, org.zkoss.zk.ui.AbstractComponent.ForwardInfo, org.zkoss.zk.ui.AbstractComponent.TargetInfo
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String CSS_FLEX_AUTO_DISABLED_COUNT  
      • 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_CLONED, 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
      MeshElement()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected void checkBeforeSetRows()
      Internal check if there is any use of vflex and height before setRows
      boolean evalCSSFlex()  
      int getActivePage()
      Returns the active page (starting from 0).
      int getPageCount()
      Returns the number of pages.
      int getPageSize()
      Returns the page size, a.k.a., the number rows per page.
      java.lang.String getPagingPosition()
      Returns how to position the paging of mesh element at the client screen.
      java.lang.String getSpan()
      Return column span hint of this component.
      protected abstract boolean isAutohidePaging()  
      boolean isAutopaging()
      Returns whether the auto-paging facility is turned on when mold is "paging".
      boolean isPagingDisabled()
      Returns whether the Paging component of this component is disabled.
      boolean isSizedByContent()
      Returns whether sizing grid/listbox/tree column width by its content.
      boolean isSpan()
      Returns whether distributes remaining empty space of this component to ANY column.
      protected abstract Paginal pgi()
      Returns the instance of the @{link Paginal}
      protected void renderProperties​(org.zkoss.zk.ui.sys.ContentRenderer renderer)  
      void setActivePage​(int pg)
      Sets the active page (starting from 0).
      void setAutopaging​(boolean autopaging)
      Sets whether the auto-paging facility is turned on when mold is "paging".
      void setPageSize​(int pgsz)
      Sets the page size, a.k.a., the number rows per page.
      void setPagingDisabled​(boolean pagingDisabled)
      Sets whether to disable the Paging component of this component
      void setPagingPosition​(java.lang.String pagingPosition)
      Sets how to position the paging of mesh element at the client screen.
      void setSizedByContent​(boolean byContent)
      Sets whether sizing grid/listbox/tree column width by its content; it equals set hflex="min" on each column.
      void setSpan​(boolean span)
      Sets whether distributes remaining empty space of this component to ALL columns proportionally.
      void setSpan​(java.lang.String span)
      Sets column span hint of this component.
      • Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent

        addSclass, focus, getAction, getClientAction, getDraggable, getDroppable, getExtraCtrl, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTabindexInteger, getTooltiptext, getTop, getVflex, getWidth, getZclass, getZindex, getZIndex, removeSclass, removeSclass, service, 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, beforeChildAdded, 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, insertBefore, invalidate, isChildable, isDisabledHostChanged, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildAdded, 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
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • CSS_FLEX_AUTO_DISABLED_COUNT

        public static final java.lang.String CSS_FLEX_AUTO_DISABLED_COUNT
        See Also:
        Constant Field Values
    • Constructor Detail

      • MeshElement

        public MeshElement()
    • Method Detail

      • getSpan

        public java.lang.String getSpan()
        Return column span hint of this component.

        Default: null

        Returns:
        column span hint of this component.
        Since:
        5.0.6
        See Also:
        setSpan(java.lang.String)
      • setSpan

        public void setSpan​(java.lang.String span)
        Sets column span hint of this component.

        String number span indicates how this component distributes remaining empty space to the specified column(0-based). "0" means distribute remaining empty space to the 1st column; "1" means distribute remaining empty space to the 2nd column, etc.. The spanning column will grow to fit the extra remaining space.

        Special span hint with "true" means span ALL columns proportionally per their original widths while null or "false" means NOT spanning any column.

        Default: null. That is, NOT span any column.

        Note span is meaningful only if there is remaining empty space for columns.

        Parameters:
        span - the column span hint.
        Since:
        5.0.6
        See Also:
        getSpan(), setSpan(boolean)
      • setSpan

        public void setSpan​(boolean span)
        Sets whether distributes remaining empty space of this component to ALL columns proportionally.

        Default: false. That is, NOT span any column.

        Note span is meaningful only if there is remaining empty space for columns.

        Parameters:
        span - whether to span the width of ALL columns to occupy the whole mesh element(grid/listbox/tree).
        Since:
        5.0.5
      • isSpan

        public boolean isSpan()
        Returns whether distributes remaining empty space of this component to ANY column.

        Default: false.

        Returns:
        whether distributes remaining empty space of this component to ANY column.
        Since:
        5.0.5
        See Also:
        getSpan(), setSpan(boolean), setSpan(String)
      • setSizedByContent

        public void setSizedByContent​(boolean byContent)
        Sets whether sizing grid/listbox/tree column width by its content; it equals set hflex="min" on each column.

        Default: false.

        Parameters:
        byContent -
        Since:
        5.0.0
      • isSizedByContent

        public boolean isSizedByContent()
        Returns whether sizing grid/listbox/tree column width by its content. Default is false.
        Since:
        5.0.0
        See Also:
        setSizedByContent(boolean)
      • setAutopaging

        public void setAutopaging​(boolean autopaging)
        Sets whether the auto-paging facility is turned on when mold is "paging". If it is set to true, the setPageSize(int) is ignored; rather, the page size is automatically determined by the height of the Listbox dynamically. Note: Due to performance concern, Autopaging functionality does not support Detail components.
        Parameters:
        autopaging - true to turn on the auto-paging facility.
        Since:
        5.0.2
      • isAutopaging

        public boolean isAutopaging()
        Returns whether the auto-paging facility is turned on when mold is "paging". If it is set to true, the setPageSize(int) is ignored; rather, the page size is automatically determined by the height of the Listbox dynamically.
        Returns:
        whether the "autopaging" facility is turned on.
        Since:
        5.0.2
      • setPagingPosition

        public void setPagingPosition​(java.lang.String pagingPosition)
        Sets how to position the paging of mesh element at the client screen. It is meaningless if the mold is not in "paging".
        Parameters:
        pagingPosition - how to position. It can only be "bottom" (the default), or "top", or "both".
        Since:
        3.0.4
      • isAutohidePaging

        protected abstract boolean isAutohidePaging()
      • getPagingPosition

        public java.lang.String getPagingPosition()
        Returns how to position the paging of mesh element at the client screen. It is meaningless if the mold is not in "paging".
        Specified by:
        getPagingPosition in interface Paginated
        Since:
        3.0.4
      • pgi

        protected abstract Paginal pgi()
        Returns the instance of the @{link Paginal}
      • getPageSize

        public int getPageSize()
        Returns the page size, a.k.a., the number rows per page.
        Throws:
        java.lang.IllegalStateException - if pgi() returns null, i.e., mold is not "paging" and no external controller is specified.
      • setPageSize

        public void setPageSize​(int pgsz)
                         throws org.zkoss.zk.ui.WrongValueException
        Sets the page size, a.k.a., the number rows per page.
        Throws:
        java.lang.IllegalStateException - if pgi() returns null, i.e., mold is not "paging" and no external controller is specified.
        org.zkoss.zk.ui.WrongValueException
      • getPageCount

        public int getPageCount()
        Returns the number of pages. Note: there is at least one page even no item at all.
        Since:
        3.0.4
      • getActivePage

        public int getActivePage()
        Returns the active page (starting from 0).
        Since:
        3.0.4
      • setActivePage

        public void setActivePage​(int pg)
                           throws org.zkoss.zk.ui.WrongValueException
        Sets the active page (starting from 0).
        Throws:
        org.zkoss.zk.ui.WrongValueException
        Since:
        3.0.4
      • isPagingDisabled

        public boolean isPagingDisabled()
        Description copied from interface: Paginated
        Returns whether the Paging component of this component is disabled.

        Default: false.

        Specified by:
        isPagingDisabled in interface Paginated
        Returns:
        whether the paging component of this component is disabled
        Since:
        8.0.3
      • setPagingDisabled

        public void setPagingDisabled​(boolean pagingDisabled)
        Sets whether to disable the Paging component of this component
        Specified by:
        setPagingDisabled in interface Paginated
        Parameters:
        pagingDisabled -
        Since:
        8.0.3
      • checkBeforeSetRows

        protected void checkBeforeSetRows()
                                   throws org.zkoss.zk.ui.UiException
        Internal check if there is any use of vflex and height before setRows
        Throws:
        org.zkoss.zk.ui.UiException
      • renderProperties

        protected void renderProperties​(org.zkoss.zk.ui.sys.ContentRenderer renderer)
                                 throws java.io.IOException
        Overrides:
        renderProperties in class XulElement
        Throws:
        java.io.IOException
      • evalCSSFlex

        public boolean evalCSSFlex()
        Overrides:
        evalCSSFlex in class org.zkoss.zk.ui.HtmlBasedComponent