package de.elatexam.editor.components.panels.tasks; import net.databinder.components.hib.DataForm; import net.databinder.models.hib.HibernateObjectModel; import org.apache.wicket.markup.html.form.Button; import org.apache.wicket.markup.html.form.CheckBox; import org.apache.wicket.markup.html.form.TextArea; import org.apache.wicket.markup.html.form.TextField; import org.apache.wicket.markup.html.panel.FeedbackPanel; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.model.PropertyModel; import org.apache.wicket.validation.validator.MinimumValidator; import wicket.contrib.tinymce.TinyMceBehavior; import de.elatexam.editor.components.panels.tasks.correctionmode.CorrectionModePanel; import de.elatexam.model.ComplexTaskDef; /** * @author sdienst */ public class ComplexTaskdefPanel extends Panel { private class ComplexTaskDefForm extends DataForm<ComplexTaskDef> { private FeedbackPanel feedback; public ComplexTaskDefForm(final String id) { super(id, ComplexTaskDef.class); init(); } public ComplexTaskDefForm(final String id, final HibernateObjectModel<ComplexTaskDef> hibernateObjectModel) { super(id, hibernateObjectModel); init(); } private void init() { add(feedback = new FeedbackPanel("feedback")); feedback.setOutputMarkupId(true); // add(new TextField<String>("id")); add(new TextField<String>("title").setRequired(true)); add(new TextArea<String>("description").setRequired(true).add(new TinyMceBehavior(SubtaskDefInputPanel.createFullFeatureset()))); add(new TextArea<String>("startText")); add(new CheckBox("showHandlingHintsBeforeStart")); add(new TextField<Integer>("config.time")); add(new TextField<Integer>("config.tries")); add(new TextField<Integer>("config.tasksPerPage").add(new MinimumValidator<Integer>(1))); add(new TextField<Integer>("config.kindnessExtensionTime")); add(new CorrectionModePanel("correctionMode", new PropertyModel<ComplexTaskDef.Config.CorrectionMode>(getModel(), "config.correctionMode"))); add(new Button("saveButton") { @Override public void onSubmit() { super.onSubmit(); info("Gespeichert!"); } }); add(new org.apache.wicket.markup.html.form.Button("cancelButton") { @Override public void onSubmit() { clearPersistentObject(); } }.setDefaultFormProcessing(false)); } } public ComplexTaskdefPanel(final String id) { super(id); add(new ComplexTaskDefForm(id)); } public ComplexTaskdefPanel(final String id, final HibernateObjectModel<ComplexTaskDef> model) { super(id, model); add(new ComplexTaskDefForm("complexTaskDefForm", model)); } }