litesoft
@ 947
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.ui.def.nonpublic.support; import org.litesoft.ui.def.*; public abstract class AbstractUiChildrenHelperTwoDimensional extends AbstractUiChildrenHelper { public AbstractUiChildrenHelperTwoDimensional( UiLayoutTwoDimensionalDef pOwner ) { super( pOwner, 3 ); } public boolean acceptableChild( UiDef pChild ) { return (pChild instanceof UiGridLayoutableDef); } public Object getAcceptableChildClass() { return UiGridLayoutableDef.class; } public void customValidateChildren() { int columns = getColumns(); customValidateMinimumChildren( columns + 1 ); ComponentGrid grid = getComponentGrid(); // Validates on construction if ( grid.getColumns() != columns ) { childrenChanged(); getComponentGrid(); // Validates on construction } } private int getColumns() { return ((UiLayoutTwoDimensionalDef) mOwner).getColumns(); } protected void childrenChanged() { super.childrenChanged(); mCachedGrid = null; } private transient ComponentGrid mCachedGrid = null; public ComponentGrid getComponentGrid() { if ( mCachedGrid == null ) { mCachedGrid = new ComponentGrid( getColumns(), getChildren() ); } return mCachedGrid; } } |