use of com.github.bordertech.wcomponents.WCheckBoxSelect in project wcomponents by BorderTech.
the class WCheckBoxSelectRenderer_Test method testOptGroupException.
@Test(expected = SystemException.class)
public void testOptGroupException() throws IOException, SAXException, XpathException {
OptionGroup optionGroup = new OptionGroup("Test", Arrays.asList(new String[] { "A", "B" }));
WCheckBoxSelect group = new WCheckBoxSelect(Arrays.asList(new Object[] { "X", optionGroup }));
assertSchemaMatch(group);
}
use of com.github.bordertech.wcomponents.WCheckBoxSelect in project wcomponents by BorderTech.
the class WCheckBoxSelectExample method addDisabledExamples.
/**
* Examples of disabled state. You should use {@link WSubordinateControl} to set and manage the disabled state
* unless there is no facility for the user to enable a control.
*/
private void addDisabledExamples() {
add(new WHeading(HeadingLevel.H2, "Disabled WCheckBoxSelect examples"));
WFieldLayout layout = new WFieldLayout();
add(layout);
WCheckBoxSelect select = new WCheckBoxSelect("australian_state");
select.setDisabled(true);
layout.addField("Disabled with no default selection", select);
add(new WHeading(HeadingLevel.H3, "Disabled with no selection and no frame"));
select = new WCheckBoxSelect("australian_state");
select.setDisabled(true);
select.setFrameless(true);
layout.addField("Disabled with no selection and no frame", select);
select = new SelectWithSingleSelected("australian_state");
select.setDisabled(true);
layout.addField("Disabled with one selection", select);
select = new SelectWithManySelected("australian_state");
select.setDisabled(true);
select.setButtonLayout(WCheckBoxSelect.LAYOUT_COLUMNS);
select.setButtonColumns(3);
layout.addField("Disabled with many selections and COLUMN layout", select);
}
use of com.github.bordertech.wcomponents.WCheckBoxSelect in project wcomponents by BorderTech.
the class WCheckBoxSelectExample method addAntiPatternExamples.
/**
* Examples of what not to do when using WCheckBoxSelect.
*/
private void addAntiPatternExamples() {
add(new WHeading(HeadingLevel.H2, "WCheckBoxSelect anti-pattern examples"));
add(new WMessageBox(WMessageBox.WARN, "These examples are purposely bad and should not be used as samples of how to use WComponents but samples of how NOT to use them."));
add(new WHeading(HeadingLevel.H3, "WCheckBoxSelect with submitOnChange"));
WFieldLayout layout = new WFieldLayout(WFieldLayout.LAYOUT_STACKED);
add(layout);
WCheckBoxSelect select = new WCheckBoxSelect("australian_state");
select.setSubmitOnChange(true);
layout.addField("Select a state or territory with auto save", select);
select = new WCheckBoxSelect("australian_state");
select.setSubmitOnChange(true);
layout.addField("Select a state or territory with auto save and hint", select).getLabel().setHint("This is a hint");
// Even compound controls need a label
add(new WHeading(HeadingLevel.H3, "WCheckBoxSelect with no labelling component"));
add(new ExplanatoryText("All input controls, even those which are complex and do not output labellable HTML elements, must be associated with" + " a WLabel or have a toolTip."));
add(new WCheckBoxSelect("australian_state"));
// Too many options anti-pattern
add(new WHeading(HeadingLevel.H3, "WCheckBoxSelect with too many options"));
add(new ExplanatoryText("Don't use a WCheckBoxSelect if you have more than a handful of options. A good rule of thumb is fewer than 10."));
select = new WCheckBoxSelect(new String[] { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" });
select.setButtonLayout(WCheckBoxSelect.LAYOUT_COLUMNS);
select.setButtonColumns(6);
select.setFrameless(true);
add(new WLabel("Select your country of birth", select));
add(select);
add(new WHeading(HeadingLevel.H3, "WCheckBoxSelect with no options."));
add(new ExplanatoryText("An interactive WCheckBoxSelect with no options is rather pointless."));
select = new WCheckBoxSelect();
add(new WLabel("WCheckBoxSelect with no options", select));
add(select);
}
use of com.github.bordertech.wcomponents.WCheckBoxSelect in project wcomponents by BorderTech.
the class WCheckBoxSelectExample method addExampleUsingLookupTable.
/**
* This example creates the WCheckBoxSelect using an a look up table. All other optional properties are in their default state.
* <p>Note for Framework devs: the unit tests for this Example are used to test the Selenium WebElement extension and this example is expected
* to be: the first WCheckBoxSelect in the example; and to be interactive; and to have the 9 options of the "australian_state" lookup table.
*/
private void addExampleUsingLookupTable() {
add(new WHeading(HeadingLevel.H3, "WCheckBoxSelect created using a lookup table"));
final WCheckBoxSelect select = new WCheckBoxSelect("australian_state");
final WTextField text = new WTextField();
text.setReadOnly(true);
text.setText(NO_SELECTION);
WButton update = new WButton("Select");
update.setAction(new Action() {
@Override
public void execute(final ActionEvent event) {
String output = select.getSelected().isEmpty() ? NO_SELECTION : "The selected states are: " + select.getSelected();
text.setText(output);
}
});
select.setDefaultSubmitButton(update);
add(new WLabel("Select a state or territory", select));
add(select);
add(update);
add(text);
add(new WAjaxControl(update, text));
}
use of com.github.bordertech.wcomponents.WCheckBoxSelect in project wcomponents by BorderTech.
the class WCheckBoxSelectExample method addSingleColumnSelectExample.
/**
* adds a WCheckBoxSelect with LAYOUT_COLUMN in 1 column simply by not setting the number of columns. This is
* superfluous as you should use LAYOUT_STACKED (the default) instead.
*/
private void addSingleColumnSelectExample() {
add(new WHeading(HeadingLevel.H3, "WCheckBoxSelect laid out in a single column"));
add(new ExplanatoryText("When layout is COLUMN, setting the layoutColumnCount property to one, or forgetting to set it at all (default is " + "one) is a little bit pointless."));
final WCheckBoxSelect select = new WCheckBoxSelect("australian_state");
select.setToolTip("Make a selection");
select.setButtonLayout(WCheckBoxSelect.LAYOUT_COLUMNS);
add(select);
}
Aggregations