};
String header = isTestFile ? "test" : "task file";
int activeSubtaskIndex = task.getActiveSubtaskIndex() + 1;
- panel.setText("This is " + header + " for " + EduNames.SUBTASK + " " + activeSubtaskIndex + "/" + task.getSubtaskNum());
+ int subtaskSize = task.getLastSubtaskIndex() + 1;
+ panel.setText("This is " + header + " for " + EduNames.SUBTASK + " " + activeSubtaskIndex + "/" + subtaskSize);
panel.createActionLabel(SWITCH_SUBTASK, () -> {
ArrayList<Integer> values = new ArrayList<>();
- for (int i = 0; i < task.getSubtaskNum(); i++) {
+ for (int i = 0; i <= task.getLastSubtaskIndex(); i++) {
values.add(i);
}
values.add(ADD_SUBTASK_ID);
if (selectedValue.equals(SELECT)) {
StudySubtaskUtils.switchStep(myProject, myTask, mySubtaskIndex);
} else {
- if (mySubtaskIndex != myTask.getSubtaskNum() - 1) {
+ if (mySubtaskIndex != myTask.getLastSubtaskIndex()) {
//TODO: implement
} else {
//TODO: delete last subtask
return;
}
createTestsForNewSubtask(project, task);
- int num = task.getSubtaskNum();
+ int num = task.getLastSubtaskIndex() + 1;
createTaskDescriptionFile(project, taskDir, num);
- task.setSubtaskNum(num + 1);
+ task.setLastSubtaskIndex(num);
StudySubtaskUtils.switchStep(project, task, num);
}
});
}
else {
- boolean hasMoreSubtasks = myTask.hasSubtasks() && myTask.getActiveSubtaskIndex() != myTask.getSubtaskNum() - 1;
+ boolean hasMoreSubtasks = myTask.hasSubtasks() && myTask.getActiveSubtaskIndex() != myTask.getLastSubtaskIndex();
int visibleSubtaskIndex = myTask.getActiveSubtaskIndex() + 1;
ApplicationManager.getApplication().invokeLater(() -> {
- String resultMessage = !hasMoreSubtasks ? message : "Subtask " + visibleSubtaskIndex + "/" + myTask.getSubtaskNum() + " solved";
+ int subtaskSize = myTask.getLastSubtaskIndex() + 1;
+ String resultMessage = !hasMoreSubtasks ? message : "Subtask " + visibleSubtaskIndex + "/" +
+ subtaskSize + " solved";
StudyCheckUtils.showTestResultPopUp(resultMessage, MessageType.INFO.getPopupBackground(), myProject);
if (hasMoreSubtasks) {
int nextSubtaskIndex = myTask.getActiveSubtaskIndex() + 1;
@Expose @SerializedName("update_date") private Date myUpdateDate;
private int myActiveSubtaskIndex = 0;
- @Expose private int mySubtaskNum = 1;
+ @Expose private int myLastSubtaskIndex = 0;
public Task() {}
placeholder.setStatus(status);
}
}
- if (status == StudyStatus.Solved && hasSubtasks() && getActiveSubtaskIndex() != getSubtaskNum() - 1) {
+ if (status == StudyStatus.Solved && hasSubtasks() && getActiveSubtaskIndex() != getLastSubtaskIndex()) {
return;
}
myStatus = status;
myActiveSubtaskIndex = activeSubtaskIndex;
}
- public int getSubtaskNum() {
- return mySubtaskNum;
+ public int getLastSubtaskIndex() {
+ return myLastSubtaskIndex;
}
- public void setSubtaskNum(int subtaskNum) {
- mySubtaskNum = subtaskNum;
+ public void setLastSubtaskIndex(int lastSubtaskIndex) {
+ myLastSubtaskIndex = lastSubtaskIndex;
}
public boolean hasSubtasks() {
- return mySubtaskNum > 1;
+ return myLastSubtaskIndex > 0;
}
}
private String getSubtaskInfo() {
int index = myTask.getActiveSubtaskIndex() + 1;
- return EduNames.SUBTASK + " " + index + "/" + myTask.getSubtaskNum();
+ int subtasksNum = myTask.getLastSubtaskIndex() + 1;
+ return EduNames.SUBTASK + " " + index + "/" + subtasksNum;
}
@Override
return;
}
- int prevSubtaskIndex = task.getSubtaskNum() - 1;
+ int prevSubtaskIndex = task.getLastSubtaskIndex();
String name = prevSubtaskIndex == 0 ? EduNames.TESTS_FILE : getSubtaskTestsFileName(prevSubtaskIndex);
VirtualFile testsFile = taskDir.findChild(name);
if (testsFile == null) {