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 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.GWT.forms.client.nonpublic; import org.litesoft.ui.def.nonpublic.support.*; public class TwoDimensionalHorizontalPeerDeterminer extends HorizontalPeerDeterminer { private int mCurRow = 0; private int mCurCol = 0; private int mColumns; private int[] mPeersPerRow; public TwoDimensionalHorizontalPeerDeterminer( UiLayoutTwoDimensionalDef pUiDef ) { super( pUiDef, false ); ComponentGrid grid = pUiDef.getComponentGrid(); mColumns = grid.getColumns(); int zRows = grid.getRows(); mPeersPerRow = new int[zRows]; // all ZERO for ( int row = 0; row < zRows; row++ ) { for ( int col = 0; col < mColumns; col++ ) { if ( !grid.getCell( row, col ).isEffectivelyEmpty() ) { mPeersPerRow[row]++; } } } } public Object next() { if ( hasNext() ) { mHorizontalPeers = (mPeersPerRow[mCurRow] > 1); if ( ++mCurCol >= mColumns ) { mCurRow++; mCurCol = 0; } } return super.next(); } } |