EDU-290 Answer field doesn't allow to set cursor inside the area by direct clicking

This commit is contained in:
Liana Bakradze
2014-11-24 15:23:38 +03:00
parent c8db6f49b0
commit 1fbf559995
3 changed files with 8 additions and 12 deletions
@@ -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);
@@ -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);
}
}
@@ -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) {