Example usage for org.apache.wicket.extensions.markup.html.form.select SelectOption add

List of usage examples for org.apache.wicket.extensions.markup.html.form.select SelectOption add

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.markup.html.form.select SelectOption add.

Prototype

public MarkupContainer add(final Component... children) 

Source Link

Document

Adds the child component(s) to this container.

Usage

From source file:com.evolveum.midpoint.web.component.menu.top.LocalePanel.java

License:Apache License

public LocalePanel(String id) {
    super(id);// w  w w .j ava  2s.  com

    setRenderBodyOnly(true);

    final IModel<LocaleDescriptor> model = new Model(getSelectedLocaleDescriptor());
    Select<LocaleDescriptor> select = new Select<LocaleDescriptor>(ID_SELECT, model);
    select.add(new AjaxFormComponentUpdatingBehavior("onchange") {

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            changeLocale(target, model.getObject());
        }
    });
    select.setOutputMarkupId(true);
    add(select);
    SelectOptions<LocaleDescriptor> options = new SelectOptions<LocaleDescriptor>(ID_OPTIONS, AVAILABLE_LOCALES,
            new IOptionRenderer<LocaleDescriptor>() {

                @Override
                public String getDisplayValue(LocaleDescriptor object) {
                    return object.getName();
                }

                @Override
                public IModel<LocaleDescriptor> getModel(LocaleDescriptor value) {
                    return new Model<LocaleDescriptor>(value);
                }
            }) {

        @Override
        protected SelectOption newOption(String text, IModel<LocaleDescriptor> model) {
            SelectOption option = super.newOption("&nbsp;" + text, model);
            option.add(new AttributeModifier("data-icon", "flag-" + model.getObject().getFlag()));

            return option;
        }
    };
    select.add(options);
}