package edu.vserver.exercises.math.essentials.layout;
import fi.utu.ville.exercises.layout.AssignmentProgressBar;
import fi.utu.ville.exercises.layout.PhasedAssignmentController.Step;
/**
* Light logic wrapper around {@link AssignmentProgressBar} to keep compatibility with MathLayout
*
* @author nipehe
*
*/
public class MathAssignmentProgressBar extends AssignmentProgressBar {
private int currentStep;
public MathAssignmentProgressBar(int steps, boolean isShowCorrect) {
super(getSteps(steps), isShowCorrect);
currentStep = 0;
setCurrent(currentStep);
}
private static Step[] getSteps(int count) {
Step[] steps = new Step[count];
for (int i = 0; i < count; i++) {
steps[i] = new Step();
}
return steps;
}
public void setCurrentStepCorrect(boolean correct) {
steps[currentStep].getStep().answered = true;
steps[currentStep].getStep().correct = correct;
}
public void nextStep() {
setCurrent(++currentStep);
}
public void previousStep() {
setCurrent(--currentStep);
}
public void nextStep(boolean currentStepCorrect) {
setCurrentStepCorrect(currentStepCorrect);
nextStep();
}
public void reset() {
currentStep = 0;
for (int i = 0; i < steps.length; i++) {
steps[i].getStep().answered = false;
steps[i].getStep().correct = false;
}
setCurrent(currentStep);
}
}