import java.awt.*;
import java.text.SimpleDateFormat;
import java.util.Calendar;
+import java.util.Collections;
public class CCShowPreview extends DumbAwareAction {
public static final String SHOW_PREVIEW = "Show Preview";
}
});
for (AnswerPlaceholder answerPlaceholder : taskFile.getActivePlaceholders()) {
- answerPlaceholder.setUseLength(true);
+ Integer minIndex = Collections.min(answerPlaceholder.getSubtaskInfos().keySet());
+ answerPlaceholder.setUseLength(minIndex >= answerPlaceholder.getActiveSubtaskIndex());
EduAnswerPlaceholderPainter.drawAnswerPlaceholder(createdEditor, answerPlaceholder, JBColor.BLUE);
}
JPanel header = new JPanel();
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.VirtualFileManager;
import com.intellij.psi.PsiDirectory;
+import com.intellij.util.containers.ContainerUtil;
import com.jetbrains.edu.learning.StudyUtils;
import com.jetbrains.edu.learning.courseFormat.*;
import org.jetbrains.annotations.NonNls;
studentDocument.addDocumentListener(listener);
for (AnswerPlaceholder placeholder : taskFile.getActivePlaceholders()) {
+ Set<Integer> indexes = placeholder.getSubtaskInfos().keySet();
+ int activeSubtaskIndex = task.getActiveSubtaskIndex();
+ if (Collections.min(indexes) < activeSubtaskIndex) {
+ Integer max = Collections.max(ContainerUtil.filter(indexes, i -> i < activeSubtaskIndex));
+ String possibleAnswer = placeholder.getSubtaskInfos().get(max).getPossibleAnswer();
+ replaceAnswerPlaceholder(project, studentDocument, placeholder, placeholder.getRealLength(), possibleAnswer);
+ continue;
+ }
replaceAnswerPlaceholder(project, studentDocument, placeholder, placeholder.getRealLength(), placeholder.getTaskText());
}
studentDocument.removeDocumentListener(listener);