summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Anisimov <denis@vaadin.com>2016-09-30 16:56:44 +0300
committerVaadin Code Review <review@vaadin.com>2016-10-05 09:10:52 +0000
commit4c2adcefb2dee1b296eef31a8d4944b1b89226e5 (patch)
treeceae53737cad719126b3522b6402041f133c39d0
parent2ae14ad9affca86448ac1003280b7852354d8a6b (diff)
downloadvaadin-framework-4c2adcefb2dee1b296eef31a8d4944b1b89226e5.tar.gz
vaadin-framework-4c2adcefb2dee1b296eef31a8d4944b1b89226e5.zip
Update documentation (+javadoc) references to obsolete OptionGroup #237.
Change-Id: Ie90e91f61a5795c90de3c690c3b6af80ec1448d9
-rw-r--r--documentation/components/chapter-components.asciidoc2
-rw-r--r--documentation/components/components-checkbox.asciidoc5
-rw-r--r--documentation/components/components-optiongroups.asciidoc (renamed from documentation/components/components-optiongroup.asciidoc)69
-rw-r--r--documentation/components/components-selection.asciidoc35
-rw-r--r--documentation/datamodel/datamodel-selection.asciidoc2
-rw-r--r--server/src/main/java/com/vaadin/ui/themes/ValoTheme.java10
6 files changed, 55 insertions, 68 deletions
diff --git a/documentation/components/chapter-components.asciidoc b/documentation/components/chapter-components.asciidoc
index b1a0c6cf9d..f54db8ac74 100644
--- a/documentation/components/chapter-components.asciidoc
+++ b/documentation/components/chapter-components.asciidoc
@@ -40,7 +40,7 @@ include::components-listselect.asciidoc[leveloffset=+2]
include::components-nativeselect.asciidoc[leveloffset=+2]
-include::components-optiongroup.asciidoc[leveloffset=+2]
+include::components-optiongroups.asciidoc[leveloffset=+2]
include::components-twincolselect.asciidoc[leveloffset=+2]
diff --git a/documentation/components/components-checkbox.asciidoc b/documentation/components/components-checkbox.asciidoc
index cf00fd1b61..186f4c5338 100644
--- a/documentation/components/components-checkbox.asciidoc
+++ b/documentation/components/components-checkbox.asciidoc
@@ -16,9 +16,8 @@ endif::web[]
checked or unchecked. The caption of the check box will be placed right of the
actual check box. Vaadin provides two ways to create check boxes: individual
check boxes with the [classname]#CheckBox# component described in this section
-and check box groups with the [classname]#OptionGroup# component in multiple
-selection mode, as described in
-<<dummy/../../../framework/components/components-optiongroup#components.optiongroup,"OptionGroup">>.
+and check box groups with the [classname]#CheckBoxGroup# component, as described in
+<<dummy/../../../framework/components/components-optiongroups#components.optiongroups,"CheckBoxGroup and RadioButtonGroup">>.
Clicking on a check box will change its state. The state is a [classname]#Boolean#
property that you can set with the [methodname]#setValue()# method and obtain with
diff --git a/documentation/components/components-optiongroup.asciidoc b/documentation/components/components-optiongroups.asciidoc
index f25e3dfe13..e6f6394fcd 100644
--- a/documentation/components/components-optiongroup.asciidoc
+++ b/documentation/components/components-optiongroups.asciidoc
@@ -1,85 +1,80 @@
---
-title: OptionGroup
+title: CheckBoxGroup and RadioButtonGroup
order: 19
layout: page
---
-[[components.optiongroup]]
-= [classname]#OptionGroup#
+[[components.optiongroups]]
+= [classname]#CheckBoxGroup# and [classname]#RadioButtonGroup#
ifdef::web[]
[.sampler]
image:{live-demo-image}[alt="Live Demo", link="http://demo.vaadin.com/sampler/#ui/data-input/multiple-value/option-group"]
endif::web[]
-[classname]#OptionGroup# is a selection component that allows selection from a
-group of radio buttons in single selection mode. In multiple selection mode, the
-items show up as check boxes. The common selection component features are
+[classname]#RadioButtonGroup# is a single selection component that allows
+selection from a group of radio buttons. [classname]#CheckBoxGroup# is a multi selection
+component where items displayed as check boxes. The common selection component features are
described in
<<dummy/../../../framework/components/components-selection#components.selection,"Selection Components">>.
-[[figure.components.optiongroup]]
-.Option Button Group in Single and Multiple Selection Mode
+[[figure.components.optiongroups]]
+.RadioButtonGroup and CheckBoxGroup
image::img/optiongroup-basic.png[width=45%, scaledwidth=70%]
-Option group is by default in single selection mode. Multiple selection is
-enabled with [methodname]#setMultiSelect()#.
-
-
[source, java]
----
// A single-select radio button group
-OptionGroup<String> single =
- new OptionGroup<>("Single Selection");
+RadioButtonGroup<String> single =
+ new RadioButtonGroup<>("Single Selection");
single.setItems("Single", "Sola", "Yksi");
// A multi-select check box group
-OptionGroup<String> multi =
- new OptionGroup<>("Multiple Selection");
-multi.setMultiSelect(true);
+CheckBoxGroup<String> multi =
+ new CheckBoxGroup<>("Multiple Selection");
multi.setItems("Many", "Muchos", "Monta");
----
-<<figure.components.optiongroup>> shows the [classname]#OptionGroup# in both
-single and multiple selection mode.
+<<figure.components.optiongroups>> shows the [classname]#RadioButtonGroup# and
+[classname]#CheckBoxGroup#.
You can also create check boxes individually using the [classname]#CheckBox#
class, as described in
<<dummy/../../../framework/components/components-checkbox#components.checkbox,"CheckBox">>.
-The advantages of the [classname]#OptionGroup# component are that as it
+The advantages of the [classname]#CheckBoxGroup# component are that as it
maintains the individual check box objects, you can get an array of the
currently selected items easily, and that you can easily change the appearance
-of a single component.
+of a single component and use it with a [classname]#Binder#.
ifdef::web[]
-[[components.optiongroup.disabling]]
+
+[[components.optiongroups.disabling]]
== Disabling Items
-You can disable individual items in an [classname]#OptionGroup# with
-[methodname]#setItemEnabled()#. The user can not select or deselect disabled
-items in multi-select mode, but in single-select mode the use can change the
+You can disable individual items in a [classname]#RadioButtonGroup# or a [classname]#CheckBoxGroup# with
+[methodname]#setItemEnabledProvider()#. The user can not select or deselect disabled
+items in a [classname]#CheckBoxGroup#, but in a [classname]#RadioButtonGroup# the user can change the
selection from a disabled to an enabled item. The selections can be changed
-programmatically regardless of whether an item is enabled or disabled. You can
-find out whether an item is enabled with [methodname]#isItemEnabled()#.
+programmatically regardless of whether an item is enabled or disabled.
[source, java]
----
-// Have an option group with some items
-OptionGroup<String> group = new OptionGroup<>("My Disabled Group");
+// Have a radio button group with some items
+RadioButtonGroup<String> group = new RadioButtonGroup<>("My Disabled Group");
group.setItems("One", "Two", "Three");
// Disable one item
-group.setItemEnabled("Two", false);
+group.setItemEnabledProvider( item-> !"Two".equals(item));
----
-[[figure.components.optiongroup.disabling]]
-.[classname]#OptionGroup# with a Disabled Item
+[[figure.components.optiongroups.disabling]]
+.[classname]#RadioButtonGroup# with a Disabled Item
image::img/optiongroup-disabling.png[width=25%, scaledwidth=50%]
Setting an item as disabled turns on the [literal]#++v-disabled++# style for it.
endif::web[]
-[[components.optiongroup.css]]
+[[components.optiongroups.css]]
== CSS Style Rules
@@ -100,7 +95,7 @@ regardless of the option type. Disabled items have additionally the
ifdef::web[]
-[[components.optiongroup.css.horizontal]]
+[[components.optiongroups.css.horizontal]]
=== Horizontal Layout
The options are normally laid out vertically. You can use horizontal layout by
@@ -131,10 +126,10 @@ undefined.
Use of the above rules requires setting a custom [literal]#++horizontal++# style
name for the component. The result is shown in
-<<figure.components.optiongroup.horizontal>>.
+<<figure.components.optiongroups.horizontal>>.
-[[figure.components.optiongroup.horizontal]]
-.Horizontal [classname]#OptionGroup#
+[[figure.components.optiongroups.horizontal]]
+.Horizontal [classname]#RadioButtonGroup#
image::img/optiongroup-horizontal.png[width=35%, scaledwidth=50%]
endif::web[]
diff --git a/documentation/components/components-selection.asciidoc b/documentation/components/components-selection.asciidoc
index 6078fd886e..a5ec2f086f 100644
--- a/documentation/components/components-selection.asciidoc
+++ b/documentation/components/components-selection.asciidoc
@@ -24,8 +24,11 @@ A vertical list box for selecting items in either single or multiple selection m
Provides selection using the native selection component of the browser, typically a drop-down list for single selection and a multi-line list in multiselect mode.
This uses the [literal]#++<select>++# element in HTML.
-[classname]#OptionGroup# (<<components-optiongroup#components.optiongroup,"OptionGroup">>)::
-Shows the items as a vertically arranged group of radio buttons in the single selection mode and of check boxes in multiple selection mode.
+[classname]#RadioButtonGroup# (<<components-optiongroups#components.optiongroups,"CheckBoxGroup and RadioButtonGroup">>)::
+Shows the items as a vertically arranged group of radio buttons in single selection mode.
+
+[classname]#CheckBoxGroup# (<<components-optiongroups#components.optiongroups,"CheckBoxGroup and RadioButtonGroup">>)::
+Shows the items as a vertically arranged group of check boxes in multiple selection mode.
[classname]#TwinColSelect# (<<components-twincolselect#components.twincolselect, "TwinColSelect">>)::
Shows two list boxes side by side where the user can select items from a list of available items and move them to a list of selected items using control buttons.
@@ -304,22 +307,15 @@ endif::web[]
[[components.selection.multiple]]
== Multiple Selection
-Some selection components, such as [classname]#OptionGroup# and
-[classname]#ListSelect# support a multiple selection mode, which you can enable
-with [methodname]#setSelectionMode(SelectionMode.MULTI)#.
-For [classname]#TwinColSelect#, which is especially intended for
-multiple selection, it is enabled by default.
-
+Some selection components, such as [classname]#CheckBoxGroup#,
+[classname]#ListSelect# and [classname]#TwinColSelect# are multiselect components,
+they extend [classname]#AbstractMultiSelect# class.
-[source, java]
-----
-myselect.setSelectionMode(SelectionMode.MULTI);
-----
-In multiple selection mode the [interfacename]#Select# value is a
-[classname]#Collection# of the items of the currently selected items.
-You can get and set the selection with the [methodname]#getSelected()# and
-[methodname]#setSelected()# methods as usual.
+Multiselect components use the [interfacename]#SelectionModel.Multi# selection model.
+This model allows to select multiple items.
+You can get and set the selection with the [methodname]#SelectionModel.getSelectedItems()# and
+[methodname]#SelectionModel.Multi.selectItems()# methods.
A change in the selection will trigger a [classname]#SelectionChange#, which
you can handle with a [classname]#SelectionChangeListener#. The
@@ -333,14 +329,11 @@ ListSelect<String> select = new ListSelect<>("My Selection");
select.setItems("Mercury", "Venus", "Earth",
"Mars", "Jupiter", "Saturn", "Uranus", "Neptune");
-// Multiple selection mode
-select.setSelectionMode(SelectionMode.MULTI);
-
// Feedback on value changes
-select.addSelectionChangeListener(event -> {
+select.addSelectionListener(event -> {
// Some feedback
layout.addComponent(new Label("Selected: " +
- event.getSelected()));
+ event.getNewSelection()));
}
});
diff --git a/documentation/datamodel/datamodel-selection.asciidoc b/documentation/datamodel/datamodel-selection.asciidoc
index 3d01bb92c1..b08ef85873 100644
--- a/documentation/datamodel/datamodel-selection.asciidoc
+++ b/documentation/datamodel/datamodel-selection.asciidoc
@@ -15,6 +15,6 @@ TODO
** Code example: Setting, getting and reacting to events from a NativeSelect
** Design question: Is nullSelectionAllowed a feature of each component or a feature of the selection model?
* Other listings can be configured to allow selecting one or many items. Depending on how it is configured, it uses a different selection model type for working with the selection.
-** Code example: OptionGroup in single / multi mode. Using different selection model types to access the selection.
+** Code example: CheckBoxGroup/RadioButtonGroup. Using different selection model types to access the selection.
** Code example: Using each selection model type with a Binder
////
diff --git a/server/src/main/java/com/vaadin/ui/themes/ValoTheme.java b/server/src/main/java/com/vaadin/ui/themes/ValoTheme.java
index c6b1260e93..a808996206 100644
--- a/server/src/main/java/com/vaadin/ui/themes/ValoTheme.java
+++ b/server/src/main/java/com/vaadin/ui/themes/ValoTheme.java
@@ -521,19 +521,19 @@ public class ValoTheme {
/***************************************************************************
*
- * OptionGroup styles
+ * RadioButtonGroup/CheckBoxGroup styles
*
**************************************************************************/
/**
- * Small size option group. Can be combined with any other OptionGroup
- * style.
+ * Small size option group. Can be combined with any other
+ * RadioButtonGroup/CheckBoxGroup style.
*/
public static final String OPTIONGROUP_SMALL = "small";
/**
- * Large size option group. Can be combined with any other OptionGroup
- * style.
+ * Large size option group. Can be combined with any other
+ * RadioButtonGroup/CheckBoxGroup style.
*/
public static final String OPTIONGROUP_LARGE = "large";