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
package com.temp.client.foundation.widget.input.support;

import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.user.client.ui.CheckBox;
import com.temp.client.foundation.widget.input.fieldsupport.InputWidgetValueAdapter;
import com.temp.client.foundation.widget.input.support.events.NonDomChangeEvent;
import com.temp.shared.utils.ObjectUtils;
import com.temp.shared.utils.Validate;

public class CheckBoxBaseValueAdapter implements InputWidgetValueAdapter<Boolean> {

    private final CheckBox inputWidget;

    private final NonDomChangeEvent changeEvent = new NonDomChangeEvent(this);

    public CheckBoxBaseValueAdapter(CheckBox inputWidget) {
        Validate.notNull("inputWidget", this.inputWidget = inputWidget);
    }

    @Override
    public HandlerRegistration addChangeHandler(final ChangeHandler handler) {
        return inputWidget.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
            @Override
            public void onValueChange(ValueChangeEvent<Boolean> booleanValueChangeEvent) {
                changeEvent.dispatch(handler);
            }
        });
    }

    @Override
    public Boolean getValue() {
        return inputWidget.getValue();
    }

    @Override
    public void setValue(Boolean value) {
        inputWidget.setValue(ObjectUtils.deNull(value, Boolean.FALSE));
    }
}

Commits for litesoft/trunk/GWT_Sandbox/FormEngine/src/com/temp/client/foundation/widget/input/support/CheckBoxBaseValueAdapter.java

Diff revisions: vs.
Revision Author Commited Message
630 GeorgeS picture GeorgeS Tue 17 Apr, 2012 20:22:17 +0000