package org.openbakery.racecontrol.plugin.tracker.web;
import java.util.ArrayList;
import java.util.EnumSet;
import org.openbakery.jinsim.Car;
import org.openbakery.jinsim.Track;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.markup.html.form.CheckBoxMultipleChoice;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.ListChoice;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.model.PropertyModel;
import org.openbakery.racecontrol.plugin.tracker.data.TrackerSettings;
import org.openbakery.racecontrol.web.RaceControlPage;
import org.openbakery.racecontrol.web.RaceControlProtectedPage;
import org.openbakery.racecontrol.web.bean.Visibility;
import org.openbakery.racecontrol.web.page.common.RedirectLink;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TrackerSettingsPage extends RaceControlProtectedPage {
private Logger log = LoggerFactory.getLogger(TrackerSettingsPage.class);
public TrackerSettingsPage(PageParameters parameters) {
super(parameters);
Form<TrackerSettings> form = new Form<TrackerSettings>("form");
add(form);
TrackerSettings trackerSettings = getSession().getServiceLocator().getSettingsService().getTrackerSettings();
form.add(new CheckBoxMultipleChoice("cars", new PropertyModel(trackerSettings, "cars"), new ArrayList<Car>(EnumSet.allOf(Car.class))));
form.add(new ListChoice("track", new PropertyModel(trackerSettings, "track"), new ArrayList<Track>(EnumSet.allOf(Track.class))));
form.add(new TextField("numberLaps", new PropertyModel(trackerSettings, "numberLaps")));
form.add(new RedirectLink("cancel", TrackerPage.class));
form.add(new SaveButton(getSession()));
}
@Override
public String getPageTitle() {
return "Settings";
}
@Override
public Visibility getVisibility() {
return Visibility.AUTHENTICATED;
}
}