litesoft
@ HEAD
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 |
/* * Copyright 2008 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.google.gwt.gen2.table.client; import com.google.gwt.gen2.table.client.SelectionGrid.*; import com.google.gwt.gen2.table.client.TableDefinition.*; /** * Allows bulk rendering of {@link SelectionGrid}s. * * @param <RowType> the data type of the row values */ public class SelectionGridBulkRenderer<RowType> extends GridBulkRenderer<RowType> { /** * A customized {@link SelectionGridBulkRenderer.BulkCellView} used by the * {@link SelectionGridBulkRenderer}. * * @param <RowType> the data type of the row values */ protected static class SelectionBulkCellView<RowType> extends BulkCellView<RowType> { private TableBulkRenderer<RowType> bulkRenderer = null; /** * Construct a new {@link SelectionGridBulkRenderer.SelectionBulkCellView}. * * @param bulkRenderer the renderer */ public SelectionBulkCellView( TableBulkRenderer<RowType> bulkRenderer ) { super( bulkRenderer ); this.bulkRenderer = bulkRenderer; } @Override protected void renderRowValue( RowType rowValue, ColumnDefinition columnDef ) { // Add the input column if ( getCellIndex() == 0 ) { SelectionPolicy selectionPolicy = ((SelectionGrid) bulkRenderer.getTable()).getSelectionPolicy(); if ( selectionPolicy.hasInputColumn() ) { getStringBuffer().append( "<td align='CENTER'>" ); getStringBuffer().append( ((SelectionGrid) bulkRenderer.getTable()).getInputHtml( selectionPolicy ) ); getStringBuffer().append( "</td>" ); } } // Render the actual cell super.renderRowValue( rowValue, columnDef ); } } /** * Construct a new {@link SelectionGridBulkRenderer}. * * @param grid {@link SelectionGrid} to be be bulk rendered * @param tableDef the table definition that should be used during rendering */ public SelectionGridBulkRenderer( SelectionGrid grid, TableDefinition<RowType> tableDef ) { super( grid, tableDef ); } /** * Construct a new {@link SelectionGridBulkRenderer}. * * @param grid {@link SelectionGrid} to be be bulk rendered * @param sourceTableDef the external source of the table definition */ public SelectionGridBulkRenderer( SelectionGrid grid, HasTableDefinition<RowType> sourceTableDef ) { super( grid, sourceTableDef ); } @Override protected AbstractRowView<RowType> createRowView( final RenderingOptions options ) { BulkCellView<RowType> cellView = new SelectionBulkCellView<RowType>( this ); return new BulkRowView<RowType>( cellView, this, options ); } } |