mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
EDU-290 Answer field doesn't allow to set cursor inside the area by direct clicking
This commit is contained in:
+1
-2
@@ -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);
|
||||
|
||||
+3
-3
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user