EDU-290 Answer field doesn't allow to set cursor inside the area by direct clicking appcode/140.717
authorLiana Bakradze <liana.bakradze@jetbrains.com>
Mon, 24 Nov 2014 12:23:38 +0000 (15:23 +0300)
committerLiana Bakradze <liana.bakradze@jetbrains.com>
Mon, 24 Nov 2014 12:23:38 +0000 (15:23 +0300)
python/edu/learn-python/src/com/jetbrains/python/edu/StudyEditorFactoryListener.java
python/edu/learn-python/src/com/jetbrains/python/edu/actions/StudyWindowNavigationAction.java
python/edu/learn-python/src/com/jetbrains/python/edu/course/TaskFile.java

index fb3fc5f3c6f199965b0be7ace2c86c576f8e6180..70612a70eddc19e90b2ce1ede56d3ea4dfbdcb3e 100644 (file)
@@ -17,7 +17,6 @@ import com.intellij.openapi.editor.event.EditorMouseEvent;
 import com.intellij.openapi.fileEditor.FileDocumentManager;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.vfs.VirtualFile;
-import com.jetbrains.python.edu.course.StudyStatus;
 import com.jetbrains.python.edu.course.TaskFile;
 import com.jetbrains.python.edu.course.TaskWindow;
 import com.jetbrains.python.edu.editor.StudyEditor;
@@ -46,7 +45,7 @@ class StudyEditorFactoryListener implements EditorFactoryListener {
       TaskWindow taskWindow = myTaskFile.getTaskWindow(editor.getDocument(), pos);
       if (taskWindow != null) {
         myTaskFile.setSelectedTaskWindow(taskWindow);
-        taskWindow.draw(editor, taskWindow.getStatus() != StudyStatus.Solved, true);
+        taskWindow.draw(editor, false, false);
       }
       else {
         myTaskFile.drawAllWindows(editor);
index 8c6b902215558eed93cb1f4946f892b5e026dbf9..e401fcee021f2e07ae2c1d211e0c95428fad6183 100644 (file)
@@ -39,7 +39,7 @@ abstract public class StudyWindowNavigationAction extends DumbAwareAction {
             if (nextTaskWindow == null) {
               return;
             }
-            nextTaskWindow.draw(selectedEditor, true, true);
+            selectedTaskFile.navigateToTaskWindow(selectedEditor, nextTaskWindow);
             selectedTaskFile.setSelectedTaskWindow(nextTaskWindow);
             }
           }
@@ -50,7 +50,7 @@ abstract public class StudyWindowNavigationAction extends DumbAwareAction {
   protected abstract TaskWindow getNextTaskWindow(@NotNull final TaskWindow window);
 
   @Override
-  public void actionPerformed(AnActionEvent e) {
+  public void actionPerformed(@NotNull AnActionEvent e) {
     Project project = e.getProject();
     if (project == null) {
       return;
@@ -59,7 +59,7 @@ abstract public class StudyWindowNavigationAction extends DumbAwareAction {
   }
 
   @Override
-  public void update(AnActionEvent e) {
+  public void update(@NotNull AnActionEvent e) {
     StudyUtils.updateAction(e);
   }
 }
index e9281e957855cc507e60dee2ac8f455285e8a9c1..7ca1c4c0766ea2671fd13198d092c47bfb7e246e 100644 (file)
@@ -192,16 +192,13 @@ public class TaskFile implements Stateful {
     }
   }
 
-  private void navigateToTaskWindow(@NotNull final Editor editor, @NotNull final TaskWindow firstTaskWindow) {
-    if (!firstTaskWindow.isValid(editor.getDocument())) {
+  public void navigateToTaskWindow(@NotNull final Editor editor, @NotNull final TaskWindow taskWindow) {
+    if (!taskWindow.isValid(editor.getDocument())) {
       return;
     }
-    mySelectedTaskWindow = firstTaskWindow;
-    LogicalPosition taskWindowStart = new LogicalPosition(firstTaskWindow.getLine(), firstTaskWindow.getStart());
+    mySelectedTaskWindow = taskWindow;
+    LogicalPosition taskWindowStart = new LogicalPosition(taskWindow.getLine(), taskWindow.getStart());
     editor.getCaretModel().moveToLogicalPosition(taskWindowStart);
-    int startOffset = firstTaskWindow.getRealStartOffset(editor.getDocument());
-    int endOffset = startOffset + firstTaskWindow.getLength();
-    editor.getSelectionModel().setSelection(startOffset, endOffset);
   }
 
   public void navigateToFirstFailedTaskWindow(@NotNull final Editor editor) {