Subversion Repository Public Repository

litesoft

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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
package org.litesoft.GWT.client.widgets.datatables;

import java.util.*;

import org.litesoft.GWT.client.event.*;
import org.litesoft.GWT.client.widgets.SizeableSimplePanel;
import org.litesoft.core.util.*;

import com.google.gwt.event.logical.shared.*;
import com.google.gwt.event.shared.*;
import com.google.gwt.gen2.table.client.*;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.ui.*;

/**
 * TODO: size
 * TODO: min height?
 */
public class RegularTable<T> extends SizeableSimplePanel implements HasSelectionHandlers<T>, TableDataReloadable
{
    protected final Table<T> mTable;

    /**
     * @param pModel the data source
     * @param pDefinition the column definition
     */
    public RegularTable(ListTableModel<T> pModel, TableDefinitionPlus<T> pDefinition)
    {
        this(pModel, pDefinition, null);
    }

    /**
     * @param pModel the data source
     * @param pDefinition the column definition
     * @param pRowClickCommand {@link Command} to execute upon clicking a row, or <code>null</code>
     */
    public RegularTable(ListTableModel<T> pModel, TableDefinitionPlus<T> pDefinition, TableClickCommand<T> pRowClickCommand)
    {
        mTable = new Table<T>(pModel, pDefinition, pRowClickCommand);
        mTable.setWidth("100%");
        mTable.setHeight("100%");
        setWidget(mTable);
        stretchable();
        mTable.addSelectionHandler(new SelectionDelegator<T>(this));
    }

    protected TableModel<T> getModel()
    {
        return mTable.getModel();
    }

    public ImmutableArrayList<T> getAllRows()
    {
        return mTable.getAllRows();
    }

    public RowSelectionPolicy getSelectionPolicy()
    {
        return mTable.getSelectionPolicy();
    }

    public void setSelectionPolicy(RowSelectionPolicy pSelectionPolicy)
    {
        mTable.setSelectionPolicy(pSelectionPolicy);
    }

    public void deselectAll()
    {
        mTable.deselectAll();
    }

    public void selectAll()
    {
        mTable.selectAll();
    }

    public boolean selectRow( T pPossibleRowValue )
    {
        return mTable.selectRow( pPossibleRowValue );
    }

    public Set<T> getSelectedValues()
    {
        return mTable.getSelectedValues();
    }

    public HandlerRegistration addSelectionHandler(SelectionHandler<T> pHandler)
    {
        return addHandler(pHandler, SelectionEvent.getType());
    }
    
    public boolean isScrollVertically()
    {
        return mTable.isScrollVertically();
    }
    
    public void setScrollVertically(boolean pScrollVertically)
    {
        mTable.setScrollVertically(pScrollVertically);
    }
    
    public TableRowCountCallback getRowCountCallback()
    {
        return mTable.getRowCountCallback();
    }
    
    public void setRowCountCallback(TableRowCountCallback pRowCountCallback)
    {
        mTable.setRowCountCallback(pRowCountCallback);
    }

    public boolean isHeaderVisible()
    {
        return mTable.isHeaderVisible();
    }

    public void setHeaderVisible(boolean pVisible)
    {
        mTable.setHeaderVisible(pVisible);
    }

    public Widget getEmptyTableWidget()
    {
        return mTable.getEmptyTableWidget();
    }

    public void setEmptyTableWidget(Widget pEmptyTableWidget)
    {
        mTable.setEmptyTableWidget(pEmptyTableWidget);
    }

    public void loadData()
    {
        mTable.loadData();
    }
}

Commits for litesoft/trunk/Java/GWT/Client/src/org/litesoft/GWT/client/widgets/datatables/RegularTable.java

Diff revisions: vs.
Revision Author Commited Message
2 GeorgeS picture GeorgeS Sun 07 Feb, 2010 12:50:58 +0000