package org.gwtoolbox.widget.client.panel.fieldset;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.user.client.ui.CheckBox;
import com.google.gwt.user.client.ui.Widget;
/**
* @author Uri Boness
*/
public class CheckboxCollapser extends AbstractCollapser {
private CheckBox checkBox;
public CheckboxCollapser() {
this(new CheckBox());
checkBox.setStylePrimaryName("CheckboxCollapser");
}
public CheckboxCollapser(final CheckBox checkBox) {
this.checkBox = checkBox;
checkBox.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
public void onValueChange(ValueChangeEvent<Boolean> event) {
notifyCollapse(!event.getValue());
}
});
}
public Widget getWidget() {
return checkBox;
}
public void doSetCollapse(boolean collapse) {
checkBox.setValue(!collapse);
}
public boolean isCollapse() {
return !checkBox.getValue();
}
}