Example usage for org.apache.wicket.markup.html.form ListMultipleChoice ListMultipleChoice

List of usage examples for org.apache.wicket.markup.html.form ListMultipleChoice ListMultipleChoice

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.form ListMultipleChoice ListMultipleChoice.

Prototype

@SuppressWarnings("unchecked")
public ListMultipleChoice(String id, IModel<? extends Collection<T>> model,
        IModel<? extends List<? extends T>> choices, IChoiceRenderer<? super T> renderer) 

Source Link

Usage

From source file:com.cubeia.games.poker.admin.wicket.pages.tournaments.configuration.TournamentConfigurationPanel.java

License:Open Source License

@SuppressWarnings({ "unchecked", "rawtypes" })
public TournamentConfigurationPanel(String id, Form<?> form,
        PropertyModel<TournamentConfiguration> propertyModel, boolean sitAndGo) {
    super(id, propertyModel);
    this.model = propertyModel;
    add(new RequiredTextField<String>("name", new PropertyModel(model, "name")));
    add(new RequiredTextField<Integer>("seatsPerTable", new PropertyModel(model, "seatsPerTable")));
    DropDownChoice<TimingProfile> timing = new DropDownChoice<TimingProfile>("timingType", model("timingType"),
            adminDAO.getTimingProfiles(), renderer("name"));
    timing.setRequired(true);/*from   w w w.j av a 2s  . c  o m*/
    add(timing);
    TextField<Integer> minPlayers = new TextField<Integer>("minPlayers",
            new PropertyModel(model, "minPlayers"));
    minPlayers.add(RangeValidator.minimum(2));
    add(minPlayers);
    TextField<Integer> maxPlayers = new TextField<Integer>("maxPlayers",
            new PropertyModel(model, "maxPlayers"));
    maxPlayers.add(RangeValidator.minimum(2));
    add(maxPlayers);
    add(new RequiredTextField<BigDecimal>("buyIn", new PropertyModel(model, "buyIn")));
    add(new RequiredTextField<BigDecimal>("fee", new PropertyModel(model, "fee")));
    add(new RequiredTextField<BigDecimal>("guaranteedPrizePool",
            new PropertyModel(model, "guaranteedPrizePool")));
    add(new CheckBox("payoutAsBonus", new PropertyModel(model, "payOutAsBonus")));
    add(new RequiredTextField<BigDecimal>("startingChips", new PropertyModel(model, "startingChips")));
    DropDownChoice<BetStrategyType> strategy = new DropDownChoice<BetStrategyType>("betStrategy",
            new PropertyModel(model, "betStrategy"), asList(BetStrategyType.values()), renderer("name"));
    strategy.setRequired(true);
    add(strategy);

    DropDownChoice<PokerVariant> variant = new DropDownChoice<PokerVariant>("variant",
            new PropertyModel(model, "variant"), asList(PokerVariant.values()), renderer("name"));
    variant.setRequired(true);
    add(variant);
    form.add(new TournamentPlayersValidator(minPlayers, maxPlayers));

    final List<OperatorDTO> operators = networkClient.getOperators();

    add(new ListMultipleChoice<Long>("operatorIds", model("operatorIds"), getOperatorIds(operators),
            new IChoiceRenderer<Long>() {

                @Override
                public Object getDisplayValue(Long id) {
                    return getOperatorName(operators, id);
                }

                @Override
                public String getIdValue(Long object, int index) {
                    return object.toString();
                }
            }));
    TextField<String> userRule = new TextField<String>("userRuleExpression",
            new PropertyModel(model, "userRuleExpression"));
    add(userRule);

    DropDownChoice<String> currency = new DropDownChoice<String>("currency", model("currency"),
            networkClient.getCurrencies(), new ChoiceRenderer<String>());
    currency.setRequired(true);
    add(currency);
    DropDownChoice<BlindsStructure> blindsStructure = new DropDownChoice<BlindsStructure>("blindsStructure",
            model("blindsStructure"), adminDAO.getBlindsStructures(), renderer("name"));
    blindsStructure.setRequired(true);
    add(blindsStructure);
    DropDownChoice<PayoutStructure> payoutStructure = new DropDownChoice<PayoutStructure>("payoutStructure",
            model("payoutStructure"), adminDAO.getPayoutStructures(), renderer("name"));
    payoutStructure.setRequired(true);
    add(payoutStructure);

    if (sitAndGo) {
        maxPlayers.setVisible(false);
    }

    TextArea<String> description = new TextArea<String>("description", new PropertyModel(model, "description"));
    description.add(StringValidator.maximumLength(1000));
    add(description);
}

From source file:com.gitblit.wicket.pages.LuceneSearchPage.java

License:Apache License

private void setup(PageParameters params) {
    setupPage("", "");

    // default values
    ArrayList<String> repositories = new ArrayList<String>();
    String query = "";
    boolean allRepos = false;

    int page = 1;
    int pageSize = app().settings().getInteger(Keys.web.itemsPerPage, 50);

    // display user-accessible selections
    UserModel user = GitBlitWebSession.get().getUser();
    List<String> availableRepositories = new ArrayList<String>();
    for (RepositoryModel model : app().repositories().getRepositoryModels(user)) {
        if (model.hasCommits && !ArrayUtils.isEmpty(model.indexedBranches)) {
            availableRepositories.add(model.name);
        }/*from   w w w . j  ava  2 s.  c o m*/
    }

    if (params != null) {
        String repository = WicketUtils.getRepositoryName(params);
        if (!StringUtils.isEmpty(repository)) {
            repositories.add(repository);
        }

        page = WicketUtils.getPage(params);

        if (!params.get("repositories").isEmpty()) {
            String value = params.get("repositories").toString("");
            List<String> list = StringUtils.getStringsFromValue(value);
            repositories.addAll(list);
        }

        allRepos = params.get("allrepos").toBoolean(false);
        if (allRepos) {
            repositories.addAll(availableRepositories);
        }

        if (!params.get("query").isEmpty()) {
            query = params.get("query").toString("");
        } else {
            String value = WicketUtils.getSearchString(params);
            String type = WicketUtils.getSearchType(params);
            com.gitblit.Constants.SearchType searchType = com.gitblit.Constants.SearchType.forName(type);
            if (!StringUtils.isEmpty(value)) {
                if (searchType == SearchType.COMMIT) {
                    query = "type:" + searchType.name().toLowerCase() + " AND \"" + value + "\"";
                } else {
                    query = searchType.name().toLowerCase() + ":\"" + value + "\"";
                }
            }
        }
    }

    boolean luceneEnabled = app().settings().getBoolean(Keys.web.allowLuceneIndexing, true);
    if (luceneEnabled) {
        if (availableRepositories.size() == 0) {
            info(getString("gb.noIndexedRepositoriesWarning"));
        }
    } else {
        error(getString("gb.luceneDisabled"));
    }

    // enforce user-accessible repository selections
    Set<String> uniqueRepositories = new LinkedHashSet<String>();
    for (String selectedRepository : repositories) {
        if (availableRepositories.contains(selectedRepository)) {
            uniqueRepositories.add(selectedRepository);
        }
    }
    ArrayList<String> searchRepositories = new ArrayList<String>(uniqueRepositories);

    // search form
    final Model<String> queryModel = new Model<String>(query);
    final Model<ArrayList<String>> repositoriesModel = new Model<ArrayList<String>>(searchRepositories);
    final Model<Boolean> allreposModel = new Model<Boolean>(allRepos);
    SessionlessForm<Void> form = new SessionlessForm<Void>("searchForm", getClass()) {

        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit() {
            String q = queryModel.getObject();
            if (StringUtils.isEmpty(q)) {
                error(getString("gb.undefinedQueryWarning"));
                return;
            }
            if (repositoriesModel.getObject().size() == 0 && !allreposModel.getObject()) {
                error(getString("gb.noSelectedRepositoriesWarning"));
                return;
            }
            PageParameters params = new PageParameters();
            params.add("repositories", StringUtils.flattenStrings(repositoriesModel.getObject()));
            params.add("query", queryModel.getObject());
            params.add("allrepos", allreposModel.getObject());
            LuceneSearchPage page = new LuceneSearchPage(params);
            setResponsePage(page);
        }
    };

    ListMultipleChoice<String> selections = new ListMultipleChoice<String>("repositories", repositoriesModel,
            availableRepositories, new StringChoiceRenderer());
    selections.setMaxRows(8);
    form.add(selections.setEnabled(luceneEnabled));
    form.add(new TextField<String>("query", queryModel).setEnabled(luceneEnabled));
    form.add(new CheckBox("allrepos", allreposModel));
    form.add(new ExternalLink("querySyntax", LUCENE_QUERY_SYNTAX_LINK));
    add(form.setEnabled(luceneEnabled));

    // execute search
    final List<SearchResult> results = new ArrayList<SearchResult>();
    if (!ArrayUtils.isEmpty(searchRepositories) && !StringUtils.isEmpty(query)) {
        results.addAll(app().repositories().search(query, page, pageSize, searchRepositories));
    }

    // results header
    if (results.size() == 0) {
        if (!ArrayUtils.isEmpty(searchRepositories) && !StringUtils.isEmpty(query)) {
            add(new Label("resultsHeader", query).setRenderBodyOnly(true));
            add(new Label("resultsCount", getString("gb.noHits")).setRenderBodyOnly(true));
        } else {
            add(new Label("resultsHeader").setVisible(false));
            add(new Label("resultsCount").setVisible(false));
        }
    } else {
        add(new Label("resultsHeader", query).setRenderBodyOnly(true));
        add(new Label("resultsCount",
                MessageFormat.format(getString("gb.queryResults"), results.get(0).hitId,
                        results.get(results.size() - 1).hitId, results.get(0).totalHits))
                                .setRenderBodyOnly(true));
    }

    // search results view
    ListDataProvider<SearchResult> resultsDp = new ListDataProvider<SearchResult>(results);
    final DataView<SearchResult> resultsView = new DataView<SearchResult>("searchResults", resultsDp) {
        private static final long serialVersionUID = 1L;

        @Override
        public void populateItem(final Item<SearchResult> item) {
            final SearchResult sr = item.getModelObject();
            switch (sr.type) {
            case commit: {
                Label icon = WicketUtils.newIcon("type", "icon-refresh");
                WicketUtils.setHtmlTooltip(icon, "commit");
                item.add(icon);
                item.add(new LinkPanel("summary", null, sr.summary, CommitPage.class,
                        WicketUtils.newObjectParameter(sr.repository, sr.commitId)));
                // show tags
                Fragment fragment = new Fragment("tags", "tagsPanel", LuceneSearchPage.this);
                List<String> tags = sr.tags;
                if (tags == null) {
                    tags = new ArrayList<String>();
                }
                ListDataProvider<String> tagsDp = new ListDataProvider<String>(tags);
                final DataView<String> tagsView = new DataView<String>("tag", tagsDp) {
                    private static final long serialVersionUID = 1L;

                    @Override
                    public void populateItem(final Item<String> item) {
                        String tag = item.getModelObject();
                        Component c = new LinkPanel("tagLink", null, tag, TagPage.class,
                                WicketUtils.newObjectParameter(sr.repository, Constants.R_TAGS + tag));
                        WicketUtils.setCssClass(c, "tagRef");
                        item.add(c);
                    }
                };
                fragment.add(tagsView);
                item.add(fragment);
                break;
            }
            case blob: {
                Label icon = WicketUtils.newIcon("type", "icon-file");
                WicketUtils.setHtmlTooltip(icon, "blob");
                item.add(icon);
                item.add(new LinkPanel("summary", null, sr.path, BlobPage.class,
                        WicketUtils.newPathParameter(sr.repository, sr.branch, sr.path)));
                item.add(new Label("tags").setVisible(false));
                break;
            }
            }
            item.add(new Label("fragment", sr.fragment).setEscapeModelStrings(false)
                    .setVisible(!StringUtils.isEmpty(sr.fragment)));
            item.add(new LinkPanel("repository", null, sr.repository, SummaryPage.class,
                    WicketUtils.newRepositoryParameter(sr.repository)));
            if (StringUtils.isEmpty(sr.branch)) {
                item.add(new Label("branch", "null"));
            } else {
                item.add(new LinkPanel("branch", "branch",
                        StringUtils.getRelativePath(Constants.R_HEADS, sr.branch), LogPage.class,
                        WicketUtils.newObjectParameter(sr.repository, sr.branch)));
            }
            item.add(new Label("author", sr.author));
            item.add(WicketUtils.createDatestampLabel("date", sr.date, getTimeZone(), getTimeUtils()));
        }
    };
    add(resultsView.setVisible(results.size() > 0));

    PageParameters pagerParams = new PageParameters();
    pagerParams.add("repositories", StringUtils.flattenStrings(repositoriesModel.getObject()));
    pagerParams.add("query", queryModel.getObject());

    boolean showPager = false;
    int totalPages = 0;
    if (results.size() > 0) {
        totalPages = (results.get(0).totalHits / pageSize) + (results.get(0).totalHits % pageSize > 0 ? 1 : 0);
        showPager = results.get(0).totalHits > pageSize;
    }

    add(new PagerPanel("topPager", page, totalPages, LuceneSearchPage.class, pagerParams)
            .setVisible(showPager));
    add(new PagerPanel("bottomPager", page, totalPages, LuceneSearchPage.class, pagerParams)
            .setVisible(showPager));
}

From source file:com.issuetracker.pages.component.workflow.WorkflowForm.java

public WorkflowForm(String id) {
    super(id);//from  w w  w .java2  s.c om

    Form<Workflow> workflowForm = new Form<Workflow>("workflowForm") {
        @Override
        protected void onSubmit() {
            if (workflowService.getWorkflowByName(workflow.getName()) != null) {
                error("Specified workflow is already added.");
            } else {
                workflowService.insert(workflow);
                for (Project project : selectedProjects) {
                    project.setWorkflow(workflow);
                    projectService.update(project);
                }
            }
            workflow = new Workflow();
            //this will clear the form
            selectedProjects = null;
        }
    };

    workflowForm.add(new RequiredTextField<>("name", new PropertyModel<String>(this, "workflow.name")));

    IModel<List<Project>> projectsModel = new AbstractReadOnlyModel<List<Project>>() {
        @Override
        public List<Project> getObject() {
            return projectService.getDisplayableProjects();
        }
    };

    final ListMultipleChoice<Project> projectMultipleChoise = new ListMultipleChoice<>("projectMultipleChoise",
            new PropertyModel<List<Project>>(this, "selectedProjects"), projectsModel,
            new ChoiceRenderer<Project>("name"));
    workflowForm.add(projectMultipleChoise);
    add(workflowForm);
}

From source file:com.premiumminds.wicket.crudifier.form.elements.CollectionControlGroup.java

License:Open Source License

@SuppressWarnings({ "unchecked", "serial" })
public CollectionControlGroup(String id, IModel<T> model) {
    super(id, model);

    IModel<List<T>> modelList = new LoadableDetachableModel<List<T>>() {
        private static final long serialVersionUID = 3674039468142186197L;

        @Override//from   ww  w. j av  a  2 s.  c  o  m
        protected List<T> load() {
            return (List<T>) entityProvider.load();
        }
    };

    multiChoice = new ListMultipleChoice("input", getModel(), modelList, new ChoiceRenderer()) {
        @Override
        public void error(IValidationError error) {
            MessageSource source = new MessageSource();
            Serializable message = error.getErrorMessage(source);

            super.error(message);
        }
    };
}

From source file:com.tysanclan.site.projectewok.pages.member.justice.StartTrialPage.java

License:Open Source License

/**
 * //from ww w.  j a va  2s.  c o m
 */
public StartTrialPage() {
    super("Report rules violation");

    Form<Trial> accuseForm = new Form<Trial>("accuse") {
        private static final long serialVersionUID = 1L;

        @SpringBean
        private LawEnforcementService lawEnforcementService;

        /**
         * @see org.apache.wicket.markup.html.form.Form#onSubmit()
         */
        @SuppressWarnings("unchecked")
        @Override
        protected void onSubmit() {
            DropDownChoice<User> accusedChoice = (DropDownChoice<User>) get("member");
            ListMultipleChoice<Regulation> regulationsChoice = (ListMultipleChoice<Regulation>) get(
                    "regulations");
            TextArea<String> motivationArea = (TextArea<String>) get("motivation");

            User accused = accusedChoice.getModelObject();
            Collection<Regulation> regulations = regulationsChoice.getModelObject();
            String motivation = motivationArea.getModelObject();

            Trial trial = lawEnforcementService.startTrial(getUser(), accused, motivation, regulations);

            if (trial == null) {
                error("Could not assign judge! That means there are not enough Truthsayers, Senators and no Chancellor, or all of them are on trial in this case");
            } else {
                setResponsePage(new OverviewPage());
            }
        }

    };

    List<User> users = userService.getMembers();

    users.remove(getUser());

    Collections.sort(users, new Comparator<User>() {
        /**
         * @see java.util.Comparator#compare(java.lang.Object,
         *      java.lang.Object)
         */
        @Override
        public int compare(User o1, User o2) {
            return o1.getUsername().compareToIgnoreCase(o2.getUsername());
        }
    });

    accuseForm.add(new DropDownChoice<User>("member", ModelMaker.wrap((User) null, true),
            ModelMaker.wrapChoices(users)).setRequired(true));

    accuseForm.add(new BBCodeTextArea("motivation", "").setRequired(true));

    accuseForm.add(new ListMultipleChoice<Regulation>("regulations",
            ModelMaker.wrapAsCollection(new LinkedList<Regulation>()),
            ModelMaker.wrapChoices(regulationDAO.findAll()), new IChoiceRenderer<Regulation>() {
                private static final long serialVersionUID = 1L;

                /**
                * @see org.apache.wicket.markup.html.form.IChoiceRenderer#getDisplayValue(java.lang.Object)
                */
                @Override
                public Object getDisplayValue(Regulation object) {
                    return object.getName();
                }

                @Override
                public String getIdValue(Regulation object, int index) {
                    return object.getId().toString();
                }
            }).setRequired(true));

    add(accuseForm);

}

From source file:com.userweave.pages.configuration.study.localization.AddLocalePage.java

License:Open Source License

public AddLocalePage(ModalWindow window, IModel studyModel) {
    super(window);

    setDefaultModel(studyModel);//from  w w w  .  j  av  a  2  s  . c  o  m

    ListMultipleChoice choices = new ListMultipleChoice("locales",
            new PropertyModel(AddLocalePage.this, "locales"), getAdditionalLocales(),
            new LocaleChoiceRenderer(getLocale()));

    choices.setMaxRows(5);

    addToForm(choices);

    addToForm(feedback = new FeedbackPanel("feedback"));
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.forms.wizard.AddExperimentEnvironmentForm.java

License:Apache License

private void addHardware() {

    ChoiceRenderer<Hardware> renderer = new ChoiceRenderer<Hardware>("title", "hardwareId");
    LoadableListModel<Hardware> choiceModel = new LoadableListModel<Hardware>() {

        private static final long serialVersionUID = 1L;

        @Override//from  w ww . j ava2  s . co  m
        protected List<Hardware> load() {

            Experiment experiment2 = model.getObject();
            ResearchGroup researchGroup = experiment2.getResearchGroup();

            if (researchGroup != null)
                return hardwareFacade.getRecordsByGroup(researchGroup.getResearchGroupId());
            else
                return Collections.EMPTY_LIST;
        }

    };
    ListMultipleChoice<Hardware> hardwareChoice = new ListMultipleChoice<Hardware>("hardwares",
            new PropertyModel<List<Hardware>>(model.getObject(), "hardwares"), choiceModel, renderer);
    hardwareChoice.setMaxRows(SELECT_ROWS);
    hardwareChoice.setLabel(ResourceUtils.getModel("label.hardware"));
    hardwareChoice.setRequired(true);

    final FeedbackPanel feedback = createFeedbackForComponent(hardwareChoice, "hardwareFeedback");
    add(hardwareChoice);
    add(feedback);
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.forms.wizard.AddExperimentEnvironmentForm.java

License:Apache License

private void addSoftware() {

    ChoiceRenderer<Software> renderer = new ChoiceRenderer<Software>("title", "softwareId");
    LoadableListModel<Software> choiceModel = new LoadableListModel<Software>() {

        private static final long serialVersionUID = 1L;

        @Override//from   w  ww  . j  a va2  s . co m
        protected List<Software> load() {

            Experiment experiment2 = model.getObject();
            ResearchGroup researchGroup = experiment2.getResearchGroup();

            if (researchGroup != null)
                return softwareFacade.getRecordsByGroup(researchGroup.getResearchGroupId());
            else
                return Collections.EMPTY_LIST;
        }

    };
    ListMultipleChoice<Software> swChoice = new ListMultipleChoice<Software>("softwares",
            new PropertyModel<List<Software>>(model.getObject(), "softwares"), choiceModel, renderer);
    swChoice.setMaxRows(SELECT_ROWS);
    swChoice.setLabel(ResourceUtils.getModel("label.software"));
    swChoice.setRequired(true);

    final FeedbackPanel feedback = createFeedbackForComponent(swChoice, "softwareFeedback");
    add(swChoice);
    add(feedback);
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.forms.wizard.AddExperimentEnvironmentForm.java

License:Apache License

private void addDisease() {

    ChoiceRenderer<Disease> renderer = new ChoiceRenderer<Disease>("title", "diseaseId");
    LoadableListModel<Disease> choiceModel = new LoadableListModel<Disease>() {

        private static final long serialVersionUID = 1L;

        @Override/*from www  .j  av  a 2s . c om*/
        protected List<Disease> load() {

            Experiment experiment2 = model.getObject();
            ResearchGroup researchGroup = experiment2.getResearchGroup();

            if (researchGroup != null)
                return diseaseFacade.getRecordsByGroup(researchGroup.getResearchGroupId());
            else
                return Collections.EMPTY_LIST;
        }

    };
    ListMultipleChoice<Disease> diseasesChoice = new ListMultipleChoice<Disease>("diseases",
            new PropertyModel<List<Disease>>(model.getObject(), "diseases"), choiceModel, renderer);
    diseasesChoice.setMaxRows(SELECT_ROWS);
    diseasesChoice.setLabel(ResourceUtils.getModel("label.disease"));

    add(diseasesChoice);
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.forms.wizard.AddExperimentEnvironmentForm.java

License:Apache License

private void addPharmaceutical() {

    ChoiceRenderer<Pharmaceutical> renderer = new ChoiceRenderer<Pharmaceutical>("title", "pharmaceuticalId");
    LoadableListModel<Pharmaceutical> choiceModel = new LoadableListModel<Pharmaceutical>() {

        private static final long serialVersionUID = 1L;

        @Override/*from   w  ww.ja  va  2 s. c  om*/
        protected List<Pharmaceutical> load() {

            Experiment experiment2 = model.getObject();
            ResearchGroup researchGroup = experiment2.getResearchGroup();

            if (researchGroup != null)
                return pharmaceuticalFacade.getRecordsByGroup(researchGroup.getResearchGroupId());
            else
                return Collections.EMPTY_LIST;
        }

    };
    ListMultipleChoice<Pharmaceutical> pharmaceuticalsChoice = new ListMultipleChoice<Pharmaceutical>(
            "pharmaceuticals", new PropertyModel<List<Pharmaceutical>>(model.getObject(), "pharmaceuticals"),
            choiceModel, renderer);
    pharmaceuticalsChoice.setMaxRows(SELECT_ROWS);
    pharmaceuticalsChoice.setLabel(ResourceUtils.getModel("label.pharmaceutical"));

    add(pharmaceuticalsChoice);
}