package de.elatexam.editor.components.panels.tasks;
import net.databinder.components.hib.DataForm;
import net.databinder.models.hib.HibernateObjectModel;
import org.apache.wicket.Component;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.CheckBox;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.panel.EmptyPanel;
import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.validation.validator.MinimumValidator;
import de.elatexam.editor.components.panels.tasks.taskblockspecifics.TaskblockSpecificConfigPanel;
import de.elatexam.model.ClozeTaskBlock;
import de.elatexam.model.ClozeTaskBlock.ClozeConfig;
import de.elatexam.model.McTaskBlock;
import de.elatexam.model.TaskBlock;
import de.elatexam.model.McTaskBlock.McConfig;
/**
* @author sdienst
*/
public class TaskBlockConfigPanel extends Panel {
private class TaskBlockConfigForm extends DataForm<TaskBlock> {
private FeedbackPanel feedback;
public TaskBlockConfigForm(final String id, final HibernateObjectModel<TaskBlock> model) {
super(id, model);
}
/* (non-Javadoc)
* @see org.apache.wicket.Component#onInitialize()
*/
@Override
protected void onInitialize() {
super.onInitialize();
add(feedback = new FeedbackPanel("feedback"));
feedback.setOutputMarkupId(true);
add(new TextField<Float>("config.pointsPerTask"));
add(new TextField<Integer>("config.noOfSelectedTasks").add(new MinimumValidator<Integer>(0)));
add(new CheckBox("config.preserveOrder"));
add(new TaskblockSpecificConfigPanel("specific", getModel()));
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 TaskBlockConfigPanel(final String id, final HibernateObjectModel<TaskBlock> model) {
super(id, model);
add(new TaskBlockConfigForm("categoryform", model));
}
}