use status from subtask info
authorLiana.Bakradze <liana.bakradze@jetbrains.com>
Fri, 30 Sep 2016 14:47:07 +0000 (17:47 +0300)
committerliana.bakradze <liana.bakradze@jetbrains.com>
Thu, 17 Nov 2016 14:08:23 +0000 (17:08 +0300)
python/educational-core/student/src/com/jetbrains/edu/learning/courseFormat/AnswerPlaceholder.java

index 2436ab4c5c03f79dc08ca25ced121c0ada0a0a56..e9990b2c3249e00339b2154b29d713daff32f10c 100644 (file)
@@ -28,7 +28,6 @@ public class AnswerPlaceholder {
 
   private int myIndex = -1;
   private MyInitialState myInitialState;
-  private StudyStatus myStatus = StudyStatus.Unchecked;
   private boolean mySelected = false;
   private boolean myUseLength = true;
 
@@ -39,12 +38,13 @@ public class AnswerPlaceholder {
   }
 
   public void initAnswerPlaceholder(final TaskFile file, boolean isRestarted) {
+    setTaskFile(file);
     if (!isRestarted) {
       setInitialState(new MyInitialState(myOffset, length));
-      myStatus = file.getTask().getStatus();
+      for (AnswerPlaceholderSubtaskInfo info : getSubtaskInfos().values()) {
+        info.setStatus(file.getTask().getStatus());
+      }
     }
-
-    setTaskFile(file);
   }
 
   public int getIndex() {
@@ -117,11 +117,12 @@ public class AnswerPlaceholder {
   }
 
   public StudyStatus getStatus() {
-    return myStatus;
+    AnswerPlaceholderSubtaskInfo info = getActiveSubtaskInfo();
+    return info != null ? info.getStatus() : StudyStatus.Unchecked;
   }
 
   public void setStatus(StudyStatus status) {
-    myStatus = status;
+    getActiveSubtaskInfo().setStatus(status);
   }
 
   public boolean getSelected() {