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
package org.litesoft.GWT.client.widgets.datatables;

import com.google.gwt.gen2.table.client.SelectionGrid.*;
import com.google.gwt.user.client.ui.*;

public class RowSelectionPolicy
{
    static enum Type {None, Single, Multi, CheckBox, Radio} 
    
    public static final RowSelectionPolicy NONE = new RowSelectionPolicy();
    public static final RowSelectionPolicy SINGLE = new RowSelectionPolicy(Type.Single, SelectionPolicy.ONE_ROW);
    public static final RowSelectionPolicy MULTI = new RowSelectionPolicy(Type.Multi, SelectionPolicy.MULTI_ROW);
    public static final Column CHECKBOX = new Column(Type.CheckBox, SelectionPolicy.CHECKBOX, null);
    public static final Column RADIO = new Column(Type.Radio, SelectionPolicy.RADIO, null);
    
    private final Type mType;
    private final SelectionPolicy mSelectionPolicy;
    private final boolean mSelectionEnabled;
    
    /**
     * Special constructor for selection=none
     */
    private RowSelectionPolicy()
    {
        this(Type.None, null, false);
    }
    
    private RowSelectionPolicy(Type pType, SelectionPolicy pSelectionPolicy)
    {
        this(pType, pSelectionPolicy, true);
    }
    
    private RowSelectionPolicy(Type pType, SelectionPolicy pSelectionPolicy, boolean pSelectionEnabled)
    {
        mType = pType;
        mSelectionPolicy = pSelectionPolicy;
        mSelectionEnabled = pSelectionEnabled;
    }
    
    protected Type getType()
    {
        return mType;
    }
    
    boolean isSelectionEnabled()
    {
        return mSelectionEnabled;
    }
    
    SelectionPolicy getSelectionPolicy()
    {
        return mSelectionPolicy;
    }
    
    @Override
    public String toString()
    {
        return mType.name();
    }
    
    public static class Column extends RowSelectionPolicy
    {
        private final Widget mColLabel;
        
        private Column(Type pType, SelectionPolicy pSelectionPolicy, Widget pColLabel)
        {
            super(pType, pSelectionPolicy);
            mColLabel = pColLabel;
        }
        
        Widget getColLabel()
        {
            return mColLabel;
        }

        public Column withLabel(String pColLabel)
        {
            return withLabel((pColLabel != null) ? new Label(pColLabel) : null);
        }
        
        public Column withLabel(Widget pColLabel)
        {
            return new Column(getType(), getSelectionPolicy(), pColLabel);
        }
    }
}

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

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