litesoft
@ 151
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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt package org.litesoft.GWT.client.widgets.datatables; import java.util.*; import org.litesoft.GWT.client.event.*; import org.litesoft.GWT.client.widgets.*; import org.litesoft.core.util.*; import com.google.gwt.event.logical.shared.*; import com.google.gwt.event.shared.*; import com.google.gwt.gen2.table.client.*; import com.google.gwt.user.client.*; import com.google.gwt.user.client.ui.*; /** * TODO: size * TODO: min height? */ public class RegularTable<T> extends SizeableSimplePanel implements HasSelectionHandlers<T>, TableDataReloadable { protected final Table<T> mTable; /** * @param pModel the data source * @param pDefinition the column definition */ public RegularTable( ListTableModel<T> pModel, TableDefinitionPlus<T> pDefinition ) { this( pModel, pDefinition, null ); } /** * @param pModel the data source * @param pDefinition the column definition * @param pRowClickCommand {@link Command} to execute upon clicking a row, or <code>null</code> */ public RegularTable( ListTableModel<T> pModel, TableDefinitionPlus<T> pDefinition, TableClickCommand<T> pRowClickCommand ) { mTable = new Table<T>( pModel, pDefinition, pRowClickCommand ); mTable.setWidth( "100%" ); mTable.setHeight( "100%" ); setWidget( mTable ); stretchable(); mTable.addSelectionHandler( new SelectionDelegator<T>( this ) ); } protected TableModel<T> getModel() { return mTable.getModel(); } public ImmutableArrayList<T> getAllRows() { return mTable.getAllRows(); } public RowSelectionPolicy getSelectionPolicy() { return mTable.getSelectionPolicy(); } public void setSelectionPolicy( RowSelectionPolicy pSelectionPolicy ) { mTable.setSelectionPolicy( pSelectionPolicy ); } public void deselectAll() { mTable.deselectAll(); } public void selectAll() { mTable.selectAll(); } public boolean selectRow( T pPossibleRowValue ) { return mTable.selectRow( pPossibleRowValue ); } public Set<T> getSelectedValues() { return mTable.getSelectedValues(); } @Override public HandlerRegistration addSelectionHandler( SelectionHandler<T> pHandler ) { return addHandler( pHandler, SelectionEvent.getType() ); } public boolean isScrollVertically() { return mTable.isScrollVertically(); } public void setScrollVertically( boolean pScrollVertically ) { mTable.setScrollVertically( pScrollVertically ); } public TableRowCountCallback getRowCountCallback() { return mTable.getRowCountCallback(); } public void setRowCountCallback( TableRowCountCallback pRowCountCallback ) { mTable.setRowCountCallback( pRowCountCallback ); } public boolean isHeaderVisible() { return mTable.isHeaderVisible(); } public void setHeaderVisible( boolean pVisible ) { mTable.setHeaderVisible( pVisible ); } public Widget getEmptyTableWidget() { return mTable.getEmptyTableWidget(); } public void setEmptyTableWidget( Widget pEmptyTableWidget ) { mTable.setEmptyTableWidget( pEmptyTableWidget ); } @Override public void loadData() { mTable.loadData(); } } |