2 * Copyright 2010 Electronic Business Systems Ltd.
4 * This file is part of GSS.
6 * GSS is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * GSS is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with GSS. If not, see <http://www.gnu.org/licenses/>.
19 package gr.ebs.gss.client;
21 import com.google.gwt.user.client.DOM;
22 import com.google.gwt.user.client.Element;
23 import com.google.gwt.user.client.Event;
24 import com.google.gwt.user.client.ui.Grid;
25 import com.google.gwt.user.client.ui.HTML;
26 import com.google.gwt.user.client.ui.Widget;
33 public class FileTable extends Grid{
40 // TODO Auto-generated constructor stub
47 public FileTable(int rows, int columns) {
49 // TODO Auto-generated constructor stub
52 public int getRowForEvent2(Event event) {
53 Element td = getEventTargetCell(event);
57 Element tr = DOM.getParent(td);
58 Element body = DOM.getParent(tr);
59 int row = DOM.getChildIndex(body, tr);
63 public static void copyRow(FileTable sourceTable, FileTable targetTable, int sourceRow, int targetRow) {
64 targetTable.insertRow(targetRow);
65 for (int col = 0; col < sourceTable.getCellCount(sourceRow); col++) {
66 HTML html = new HTML(sourceTable.getHTML(sourceRow, col));
67 targetTable.setWidget(targetRow, col, html);
69 copyRowStyle(sourceTable, targetTable, sourceRow, targetRow);
72 private static void copyRowStyle(FileTable sourceTable, FileTable targetTable, int sourceRow, int targetRow) {
73 String rowStyle = sourceTable.getRowFormatter().getStyleName(sourceRow);
74 targetTable.getRowFormatter().setStyleName(targetRow, rowStyle);
77 public static int getWidgetRow(Widget widget, FileTable table) {
78 for (int row = 0; row < table.getRowCount(); row++)
79 for (int col = 0; col < table.getCellCount(row); col++) {
80 Widget w = table.getWidget(row, col);
84 throw new RuntimeException("Unable to determine widget row");