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 59 60 61 62 63 64 65 66 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.GWT.client.widgets.datatables; import org.litesoft.core.util.*; import com.google.gwt.event.logical.shared.*; import com.google.gwt.user.client.*; public class JoinedTablePair<T> implements TableDataReloadable { private final JoinedTableTop<T> mTopTable; private final JoinedTableBottom<T> mBottomTable; /** * @param pModel the data source * @param pDefinition the column definition */ public JoinedTablePair( ListTableModel<T> pModel, TableDefinitionPlus<T> pDefinition, SelectionHandler<T> pSelectionHandler ) { this( pModel, pDefinition, pSelectionHandler, null ); } /** * @param pModel the data source * @param pDefinition the column definition * @param pClickCommand {@link Command} to execute upon clicking a row, or <code>null</code> */ public JoinedTablePair( ListTableModel<T> pModel, TableDefinitionPlus<T> pDefinition, SelectionHandler<T> pSelectionHandler, TableClickCommand<T> pClickCommand ) { mTopTable = new JoinedTableTop<T>( pDefinition ); mBottomTable = new JoinedTableBottom<T>( pModel, pDefinition, pClickCommand ) { @Override protected void onLoad() { super.onLoad(); loadData(); } }; new JoinedTableController<T>( mTopTable, mBottomTable ); if ( pSelectionHandler != null ) { mBottomTable.addSelectionHandler( pSelectionHandler ); } } public JoinedTableTop<T> getTopTable() { return mTopTable; } public JoinedTableBottom<T> getBottomTable() { return mBottomTable; } @Override public void loadData() { mBottomTable.loadData(); } public ImmutableArrayList<T> getAllRows() { return mBottomTable.getAllRows(); } } |