litesoft
@ 948
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 |
/* * 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; /** * Cell editors provide a mechanism to edit cells. * * @param <ColType> the data type of the column */ public interface CellEditor<ColType> { /** * Callback for {@link CellEditor}. The callback will be used when the user * finishes editing the cell. * * @param <ColType> the data type of the column */ public static interface Callback<ColType> { /** * Use this callback to return a new row value to the table. * * @param cellEditInfo information about the source of the edit request * @param cellValue the new value to associated with the cell */ void onComplete( CellEditInfo cellEditInfo, ColType cellValue ); /** * Use this callback to cancel the edit request. * * @param cellEditInfo information about the source of the edit request */ void onCancel( CellEditInfo cellEditInfo ); } /** * The information about the cell to edit. */ public static class CellEditInfo { /** * The cell index. */ private int cellIndex; /** * The row index. */ private int rowIndex; /** * The table that triggered the editor. */ private HTMLTable table; /** * Construct a new {@link CellEditInfo}. * * @param table the table that opened the editor * @param rowIndex the row index * @param cellIndex the cell index */ public CellEditInfo( HTMLTable table, int rowIndex, int cellIndex ) { this.table = table; this.rowIndex = rowIndex; this.cellIndex = cellIndex; } /** * @return the cell index */ public int getCellIndex() { return cellIndex; } /** * @return the row index */ public int getRowIndex() { return rowIndex; } /** * @return the table that opened the editor */ public HTMLTable getTable() { return table; } } /** * Handle a request to edit a cell. * * @param cellEditInfo information about the source of the edit request * @param cellValue the value in the cell to edit * @param callback callback used when editing is complete */ void editCell( CellEditInfo cellEditInfo, ColType cellValue, Callback<ColType> callback ); } |