diff options
author | Matti Hosio <mhosio@vaadin.com> | 2014-12-17 16:12:49 +0200 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2014-12-17 20:55:24 +0000 |
commit | 311f5a0a26d78eac19ce07373f37799cbb5e20f0 (patch) | |
tree | 5e5ced217427cc3631bd04fcd74361418cc4cd70 /server/src/com | |
parent | 87c559026ae0b756f0406f71ba8ea305cef4fb7e (diff) | |
download | vaadin-framework-311f5a0a26d78eac19ce07373f37799cbb5e20f0.tar.gz vaadin-framework-311f5a0a26d78eac19ce07373f37799cbb5e20f0.zip |
Declarative support for CheckBox (#7749)
Change-Id: Ia0608cd0827ab09d9b30993738acd45317778e55
Diffstat (limited to 'server/src/com')
-rw-r--r-- | server/src/com/vaadin/ui/CheckBox.java | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/server/src/com/vaadin/ui/CheckBox.java b/server/src/com/vaadin/ui/CheckBox.java index 7d9da30f29..e26e5c4750 100644 --- a/server/src/com/vaadin/ui/CheckBox.java +++ b/server/src/com/vaadin/ui/CheckBox.java @@ -16,6 +16,11 @@ package com.vaadin.ui; +import java.util.Collection; + +import org.jsoup.nodes.Attributes; +import org.jsoup.nodes.Element; + import com.vaadin.data.Property; import com.vaadin.event.FieldEvents.BlurEvent; import com.vaadin.event.FieldEvents.BlurListener; @@ -25,6 +30,8 @@ import com.vaadin.event.FieldEvents.FocusListener; import com.vaadin.shared.MouseEventDetails; import com.vaadin.shared.ui.checkbox.CheckBoxServerRpc; import com.vaadin.shared.ui.checkbox.CheckBoxState; +import com.vaadin.ui.declarative.DesignAttributeHandler; +import com.vaadin.ui.declarative.DesignContext; public class CheckBox extends AbstractField<Boolean> { @@ -203,4 +210,47 @@ public class CheckBox extends AbstractField<Boolean> { Boolean value = getValue(); return (null == value) ? false : value.booleanValue(); } + + /* + * (non-Javadoc) + * + * @see com.vaadin.ui.AbstractField#readDesign(org.jsoup.nodes.Element, + * com.vaadin.ui.declarative.DesignContext) + */ + @Override + public void readDesign(Element design, DesignContext designContext) { + super.readDesign(design, designContext); + if (design.hasAttr("checked")) { + this.setValue(DesignAttributeHandler.readAttribute("checked", + design.attributes(), Boolean.class)); + } + } + + /* + * (non-Javadoc) + * + * @see com.vaadin.ui.AbstractField#getCustomAttributes() + */ + @Override + protected Collection<String> getCustomAttributes() { + Collection<String> attributes = super.getCustomAttributes(); + attributes.add("checked"); + return attributes; + } + + /* + * (non-Javadoc) + * + * @see com.vaadin.ui.AbstractField#writeDesign(org.jsoup.nodes.Element, + * com.vaadin.ui.declarative.DesignContext) + */ + @Override + public void writeDesign(Element design, DesignContext designContext) { + super.writeDesign(design, designContext); + CheckBox def = (CheckBox) designContext.getDefaultInstance(this); + Attributes attr = design.attributes(); + DesignAttributeHandler.writeAttribute("checked", attr, getValue(), + def.getValue(), Boolean.class); + } + } |