diff options
Diffstat (limited to 'python/edu/learn-python/src/com/jetbrains/python/edu/StudyState.java')
-rw-r--r-- | python/edu/learn-python/src/com/jetbrains/python/edu/StudyState.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/python/edu/learn-python/src/com/jetbrains/python/edu/StudyState.java b/python/edu/learn-python/src/com/jetbrains/python/edu/StudyState.java new file mode 100644 index 000000000000..96dc3d906472 --- /dev/null +++ b/python/edu/learn-python/src/com/jetbrains/python/edu/StudyState.java @@ -0,0 +1,52 @@ +package com.jetbrains.python.edu; + +import com.intellij.openapi.editor.Editor; +import com.intellij.openapi.fileEditor.FileDocumentManager; +import com.intellij.openapi.vfs.VirtualFile; +import com.jetbrains.python.edu.course.Task; +import com.jetbrains.python.edu.course.TaskFile; +import com.jetbrains.python.edu.editor.StudyEditor; + +public class StudyState { + private final StudyEditor myStudyEditor; + private final Editor myEditor; + private final TaskFile myTaskFile; + private final VirtualFile myVirtualFile; + private final Task myTask; + private final VirtualFile myTaskDir; + + public StudyState(final StudyEditor studyEditor) { + myStudyEditor = studyEditor; + myEditor = studyEditor != null ? studyEditor.getEditor() : null; + myTaskFile = studyEditor != null ? studyEditor.getTaskFile() : null; + myVirtualFile = myEditor != null ? FileDocumentManager.getInstance().getFile(myEditor.getDocument()) : null; + myTaskDir = myVirtualFile != null ? myVirtualFile.getParent() : null; + myTask = myTaskFile != null ? myTaskFile.getTask() : null; + } + + public Editor getEditor() { + return myEditor; + } + + public TaskFile getTaskFile() { + return myTaskFile; + } + + public VirtualFile getVirtualFile() { + return myVirtualFile; + } + + public Task getTask() { + return myTask; + } + + public VirtualFile getTaskDir() { + return myTaskDir; + } + + public boolean isValid() { + return myStudyEditor != null && myEditor != null && + myTaskFile != null && myVirtualFile != null && + myTask != null && myTaskDir != null; + } +} |