litesoft
@ 939
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 |
/* * Copyright 2009 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.property; import java.util.*; /** * Base class that allows for headers or footers on a column. The 0th index * should always refer to the row closest to the data table. */ class HeaderPropertyBase extends ColumnProperty { private int headerCount; private Map<Integer, Object> headers = new HashMap<Integer, Object>(); private boolean isDynamic; /** * If the headers are dymanic, they will be re-rendered on every page load. * Set this to true if your headers depend on the data. * * @return true if the headers are dynamic. */ public boolean isDynamic() { return isDynamic; } /** * Set whether or not the headers are dynamically generated and should be * refreshed on every page load. * * @param isDynamic true if the headers are dynamic */ public void setDynamic( boolean isDynamic ) { this.isDynamic = isDynamic; } /** * Get the header at the given row index. * * @param row the row index from the bottom * * @return the header for the given row */ Object getHeader( int row ) { return headers.get( new Integer( row ) ); } /** * Get the header at the given row and column index. Override this method if * your header includes dynamic content that depends on the column index. * * @param row the row index from the bottom * @param column the column index at runtime * * @return the header for the given row */ Object getHeader( int row, int column ) { return getHeader( row ); } /** * @return get the number of headers above the column */ int getHeaderCount() { return headerCount; } /** * Remove the header above this column for the specified row. * * @param row the row index from the bottom */ void removeHeader( int row ) { headers.remove( new Integer( row ) ); } /** * Set the header above this column. The row index starts with the bottom row, * which is reverse of a normal table. The headerCount will automatically be * increased to accommodate the row. * * @param row the row index from the bottom * @param header the header */ void setHeader( int row, Object header ) { headers.put( new Integer( row ), header ); headerCount = Math.max( headerCount, row + 1 ); } /** * Set the number of headers above the column. * * @param headerCount the number of headers */ void setHeaderCount( int headerCount ) { this.headerCount = headerCount; } } |