Add LGPL v3 licence notices.
[online-glom:gwt-glom.git] / src / main / java / org / glom / web / client / LayoutList.java
1 /*
2  * Copyright (C) 2010, 2011 Openismus GmbH
3  *
4  * This file is part of GWT-Glom.
5  *
6  * GWT-Glom is free software: you can redistribute it and/or modify it
7  * under the terms of the GNU Lesser General Public License as published by the
8  * Free Software Foundation, either version 3 of the License, or (at your
9  * option) any later version.
10  *
11  * GWT-Glom is distributed in the hope that it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
14  * for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public License
17  * along with GWT-Glom.  If not, see <http://www.gnu.org/licenses/>.
18  */
19
20 package org.glom.web.client;
21
22 import com.google.gwt.user.cellview.client.CellTable;
23 import com.google.gwt.user.cellview.client.SimplePager;
24 import com.google.gwt.user.cellview.client.TextColumn;
25 import com.google.gwt.user.client.ui.Composite;
26 import com.google.gwt.user.client.ui.VerticalPanel;
27
28 public class LayoutList extends Composite {
29
30         private CellTable<String[]> table = null;
31
32         public LayoutList(String[] headers) {
33                 table = new CellTable<String[]>();
34                 LayoutListDataProvider dataProvider = new LayoutListDataProvider();
35                 dataProvider.addDataDisplay(table);
36
37                 // TODO wire up the pager
38                 SimplePager pager = new SimplePager(SimplePager.TextLocation.CENTER);
39                 pager.setDisplay(table);
40
41                 // a panel to hold our widgets
42                 VerticalPanel panel = new VerticalPanel();
43                 panel.add(table);
44                 panel.add(pager);
45
46                 for (int i = 0; i < headers.length; i++) {
47                         // create a new column
48                         final int j = new Integer(i);
49                         TextColumn<String[]> column = new TextColumn<String[]>() {
50                                 @Override
51                                 public String getValue(String[] object) {
52                                         return object[j];
53                                 }
54                         };
55
56                         // add the column to the list
57                         table.addColumn(column, headers[i]);
58
59                 }
60
61                 table.setRowCount(0);
62
63                 // take care of the necessary stuff required for composite widgets
64                 initWidget(panel);
65                 setStyleName("glom-ListLayoutTable");
66         }
67
68 }