Search in sources :

Example 6 with WRadioButtonSelect

use of com.github.bordertech.wcomponents.WRadioButtonSelect in project wcomponents by BorderTech.

the class WRadioButtonSelectExample method makeFramelessExample.

/**
 * Make a simple editable example without a frame.
 */
private void makeFramelessExample() {
    add(new WHeading(HeadingLevel.H3, "WRadioButtonSelect without its frame"));
    add(new ExplanatoryText("When a WRadioButtonSelect is frameless it loses some of its coherence, especially when its WLabel is hidden or " + "replaced by a toolTip. Using a frameless WRadioButtonSelect is useful within an existing WFieldLayout as it can provide a more " + "consistent user interface but only if it has a relatively small number of options."));
    final WRadioButtonSelect select = new SelectWithSelection("australian_state");
    select.setFrameless(true);
    add(new WLabel("Frameless with default selection", select));
    add(select);
}
Also used : ExplanatoryText(com.github.bordertech.wcomponents.examples.common.ExplanatoryText) WRadioButtonSelect(com.github.bordertech.wcomponents.WRadioButtonSelect) WHeading(com.github.bordertech.wcomponents.WHeading) WLabel(com.github.bordertech.wcomponents.WLabel)

Example 7 with WRadioButtonSelect

use of com.github.bordertech.wcomponents.WRadioButtonSelect in project wcomponents by BorderTech.

the class WRadioButtonSelectExample method addInsideAFieldLayoutExample.

/**
 * When a WRadioButtonSelect is added to a WFieldLayout the legend is moved. The first CheckBoxSelect has a frame,
 * the second doesn't
 */
private void addInsideAFieldLayoutExample() {
    add(new WHeading(HeadingLevel.H3, "WRadioButtonSelect inside a WFieldLayout"));
    add(new ExplanatoryText("When a WRadioButtonSelect is inside a WField its label is exposed in a way which appears and behaves like a regular HTML label." + " This allows WRadioButtonSelects to be used in a layout with simple form controls (such as WTextField) and produce a consistent" + " and predicatable interface.\n" + "The third example in this set uses a null label and a toolTip to hide the labelling element. This can lead to user confusion and" + " is not recommended."));
    // Note: the wrapper WPanel here is to work around a bug in validation. See https://github.com/BorderTech/wcomponents/issues/1370
    final WPanel wrapper = new WPanel();
    add(wrapper);
    final WMessages messages = new WMessages();
    wrapper.add(messages);
    WFieldLayout layout = new WFieldLayout();
    layout.setLabelWidth(25);
    wrapper.add(layout);
    WButton resetThisBit = new WButton("Reset this bit");
    resetThisBit.setCancel(true);
    resetThisBit.setAjaxTarget(wrapper);
    resetThisBit.setAction(new Action() {

        @Override
        public void execute(final ActionEvent event) {
            wrapper.reset();
        }
    });
    layout.addField(resetThisBit);
    String[] options = new String[] { "Dog", "Cat", "Bird", "Turtle" };
    WRadioButtonSelect select = new WRadioButtonSelect(options);
    layout.addField("Select an animal", select);
    String[] options2 = new String[] { "Parrot", "Galah", "Cockatoo", "Lyre" };
    select = new WRadioButtonSelect(options2);
    select.setMandatory(true);
    layout.addField("You must select a bird", select);
    select.setFrameless(true);
    // a tooltip can be used as a label stand-in even in a WField
    String[] options3 = new String[] { "Carrot", "Beet", "Brocolli", "Bacon - the perfect vegetable" };
    select = new WRadioButtonSelect(options3);
    // if you absolutely do not want a WLabel in a WField then it has to be added using null cast to a WLabel.
    layout.addField((WLabel) null, select);
    select.setToolTip("Veggies");
    WButton btnValidate = new WButton("validate");
    btnValidate.setAction(new ValidatingAction(messages.getValidationErrors(), layout) {

        @Override
        public void executeOnValid(final ActionEvent event) {
        // do nothing
        }
    });
    layout.addField(btnValidate);
    wrapper.add(new WAjaxControl(btnValidate, wrapper));
}
Also used : ValidatingAction(com.github.bordertech.wcomponents.validation.ValidatingAction) Action(com.github.bordertech.wcomponents.Action) WAjaxControl(com.github.bordertech.wcomponents.WAjaxControl) ActionEvent(com.github.bordertech.wcomponents.ActionEvent) ValidatingAction(com.github.bordertech.wcomponents.validation.ValidatingAction) WPanel(com.github.bordertech.wcomponents.WPanel) ExplanatoryText(com.github.bordertech.wcomponents.examples.common.ExplanatoryText) WButton(com.github.bordertech.wcomponents.WButton) WHeading(com.github.bordertech.wcomponents.WHeading) WMessages(com.github.bordertech.wcomponents.WMessages) WFieldLayout(com.github.bordertech.wcomponents.WFieldLayout) WRadioButtonSelect(com.github.bordertech.wcomponents.WRadioButtonSelect)

Example 8 with WRadioButtonSelect

use of com.github.bordertech.wcomponents.WRadioButtonSelect in project wcomponents by BorderTech.

the class WRadioButtonSelectExample method addReadOnlyExamples.

/**
 * Examples of readonly states. When in a read only state only the selected option is output. Since a
 * WRadioButtonSeelct can only have 0 or 1 selected option the LAYOUT and FRAME are ignored.
 */
private void addReadOnlyExamples() {
    add(new WHeading(HeadingLevel.H3, "Read-only WRadioButtonSelect examples"));
    add(new ExplanatoryText("These examples all use the same list of options: the states and territories list from the editable examples above. " + "When the readOnly state is specified only that option which is selected is output.\n" + "Since no more than one option is able to be selected the layout and frame settings are ignored in the read only state."));
    WFieldLayout layout = new WFieldLayout();
    add(layout);
    WRadioButtonSelect select = new WRadioButtonSelect("australian_state");
    select.setReadOnly(true);
    layout.addField("Read only with no selection", select);
    select = new SelectWithSelection("australian_state");
    select.setReadOnly(true);
    layout.addField("Read only with selection", select);
}
Also used : WFieldLayout(com.github.bordertech.wcomponents.WFieldLayout) ExplanatoryText(com.github.bordertech.wcomponents.examples.common.ExplanatoryText) WRadioButtonSelect(com.github.bordertech.wcomponents.WRadioButtonSelect) WHeading(com.github.bordertech.wcomponents.WHeading)

Example 9 with WRadioButtonSelect

use of com.github.bordertech.wcomponents.WRadioButtonSelect in project wcomponents by BorderTech.

the class WRadioButtonSelectExample method addFlatSelectExample.

/*
	 * WRadioButtonSelect layout options
	 * These examples show the various ways to lay out the options in a WRadioButtonSelect
	 * NOTE: the default (if no buttonLayout is set) is LAYOUT_STACKED
	 */
/**
 * adds a WRadioButtonSelect with LAYOUT_FLAT.
 */
private void addFlatSelectExample() {
    add(new WHeading(HeadingLevel.H3, "WRadioButtonSelect with flat layout"));
    add(new ExplanatoryText("Setting the layout to FLAT will make the radio buttons be rendered in a horizontal line. They will wrap when they" + " reach the edge of the parent container."));
    final WRadioButtonSelect select = new WRadioButtonSelect("australian_state");
    select.setButtonLayout(WRadioButtonSelect.LAYOUT_FLAT);
    add(new WLabel("Flat selection", select));
    add(select);
}
Also used : ExplanatoryText(com.github.bordertech.wcomponents.examples.common.ExplanatoryText) WRadioButtonSelect(com.github.bordertech.wcomponents.WRadioButtonSelect) WHeading(com.github.bordertech.wcomponents.WHeading) WLabel(com.github.bordertech.wcomponents.WLabel)

Example 10 with WRadioButtonSelect

use of com.github.bordertech.wcomponents.WRadioButtonSelect in project wcomponents by BorderTech.

the class WLabelRenderer_Test method testWhatForGroup5.

@Test
public void testWhatForGroup5() throws IOException, SAXException, XpathException {
    WRadioButtonSelect comp = new WRadioButtonSelect();
    WLabel label = new WLabel("label", comp);
    assertSchemaMatch(label);
    assertXpathEvaluatesTo("group", "//ui:label/@what", label);
}
Also used : WRadioButtonSelect(com.github.bordertech.wcomponents.WRadioButtonSelect) WLabel(com.github.bordertech.wcomponents.WLabel) Test(org.junit.Test)

Aggregations

WRadioButtonSelect (com.github.bordertech.wcomponents.WRadioButtonSelect)21 WHeading (com.github.bordertech.wcomponents.WHeading)10 WLabel (com.github.bordertech.wcomponents.WLabel)8 ExplanatoryText (com.github.bordertech.wcomponents.examples.common.ExplanatoryText)8 Test (org.junit.Test)8 WFieldLayout (com.github.bordertech.wcomponents.WFieldLayout)7 WTextField (com.github.bordertech.wcomponents.WTextField)5 Action (com.github.bordertech.wcomponents.Action)4 ActionEvent (com.github.bordertech.wcomponents.ActionEvent)4 ValidatingAction (com.github.bordertech.wcomponents.validation.ValidatingAction)4 WAjaxControl (com.github.bordertech.wcomponents.WAjaxControl)3 WButton (com.github.bordertech.wcomponents.WButton)3 WPanel (com.github.bordertech.wcomponents.WPanel)3 OptionGroup (com.github.bordertech.wcomponents.OptionGroup)2 WCheckBox (com.github.bordertech.wcomponents.WCheckBox)2 SystemException (com.github.bordertech.wcomponents.util.SystemException)2 RadioButtonGroup (com.github.bordertech.wcomponents.RadioButtonGroup)1 WCheckBoxSelect (com.github.bordertech.wcomponents.WCheckBoxSelect)1 WContainer (com.github.bordertech.wcomponents.WContainer)1 WDateField (com.github.bordertech.wcomponents.WDateField)1