From fce54fadd289bb7453824799ee85bc477b185741 Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Sat, 14 Feb 2015 19:17:56 +0300 Subject: [PATCH] renamed taswk windows to answer placeholders --- .../resources/META-INF/plugin.xml | 4 ++-- .../edu/coursecreator/CCDocumentListener.java | 20 ++++++++-------- .../CCEditorFactoryListener.java | 6 ++--- .../edu/coursecreator/CCProjectService.java | 2 +- .../actions/CCAddAnswerPlaceholder.java | 10 ++++---- ...on.java => CCAnswerPlaceholderAction.java} | 8 +++---- .../actions/CCCreateCourseArchive.java | 8 +++---- ...ow.java => CCDeleteAnswerPlaceholder.java} | 8 +++---- ...va => CCShowAnswerPlaceholderDetails.java} | 10 ++++---- ...a => CCCreateAnswerPlaceholderDialog.java} | 24 ++++++++++--------- ...rm => CCCreateAnswerPlaceholderPanel.form} | 4 ++-- ...va => CCCreateAnswerPlaceholderPanel.java} | 18 +++++++------- .../edu/learning/StudyDocumentListener.java | 18 +++++++------- .../edu/learning/StudyTaskManager.java | 2 +- .../jetbrains/edu/learning/StudyUtils.java | 4 ++-- .../learning/actions/StudyCheckAction.java | 20 ++++++++-------- .../actions/StudyRefreshTaskFileAction.java | 6 ++--- .../actions/StudyWindowNavigationAction.java | 2 +- .../editor/StudyEditorFactoryListener.java | 2 +- .../learning/navigation/StudyNavigator.java | 16 ++++++------- ...=> EduAnswerPlaceholderDeleteHandler.java} | 4 ++-- 21 files changed, 99 insertions(+), 97 deletions(-) rename python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/{CCTaskWindowAction.java => CCAnswerPlaceholderAction.java} (91%) rename python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/{CCDeleteTaskWindow.java => CCDeleteAnswerPlaceholder.java} (82%) rename python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/{CCShowTaskWindowDetails.java => CCShowAnswerPlaceholderDetails.java} (77%) rename python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/{CreateTaskWindowDialog.java => CCCreateAnswerPlaceholderDialog.java} (65%) rename python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/{CreateTaskWindowPanel.form => CCCreateAnswerPlaceholderPanel.form} (97%) rename python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/{CreateTaskWindowPanel.java => CCCreateAnswerPlaceholderPanel.java} (73%) rename python/educational/src/com/jetbrains/edu/{EduTaskWindowDeleteHandler.java => EduAnswerPlaceholderDeleteHandler.java} (77%) diff --git a/python/educational/course-creator/resources/META-INF/plugin.xml b/python/educational/course-creator/resources/META-INF/plugin.xml index 200574534a05..8e7935ce8336 100644 --- a/python/educational/course-creator/resources/META-INF/plugin.xml +++ b/python/educational/course-creator/resources/META-INF/plugin.xml @@ -58,10 +58,10 @@ - + - + diff --git a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCDocumentListener.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCDocumentListener.java index c03a099026a4..f05199320fc1 100644 --- a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCDocumentListener.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCDocumentListener.java @@ -17,7 +17,7 @@ import java.util.List; */ public abstract class CCDocumentListener extends DocumentAdapter { private final TaskFile myTaskFile; - private final List myTaskWindows = new ArrayList(); + private final List myAnswerPlaceholders = new ArrayList(); public CCDocumentListener(TaskFile taskFile) { @@ -30,12 +30,12 @@ public abstract class CCDocumentListener extends DocumentAdapter { @Override public void beforeDocumentChange(DocumentEvent e) { Document document = e.getDocument(); - myTaskWindows.clear(); + myAnswerPlaceholders.clear(); for (AnswerPlaceholder answerPlaceholder : myTaskFile.getAnswerPlaceholders()) { int twStart = answerPlaceholder.getRealStartOffset(document); int length = useLength() ? answerPlaceholder.getLength() : answerPlaceholder.getPossibleAnswerLength(); int twEnd = twStart + length; - myTaskWindows.add(new TaskWindowWrapper(answerPlaceholder, twStart, twEnd)); + myAnswerPlaceholders.add(new AnswerPlaceholedrWrapper(answerPlaceholder, twStart, twEnd)); } } @@ -46,16 +46,16 @@ public abstract class CCDocumentListener extends DocumentAdapter { Document document = e.getDocument(); int offset = e.getOffset(); int change = event.getNewLength() - event.getOldLength(); - for (TaskWindowWrapper taskWindowWrapper : myTaskWindows) { - int twStart = taskWindowWrapper.getTwStart(); + for (AnswerPlaceholedrWrapper answerPlaceholedrWrapper : myAnswerPlaceholders) { + int twStart = answerPlaceholedrWrapper.getTwStart(); if (twStart > offset) { twStart += change; } - int twEnd = taskWindowWrapper.getTwEnd(); + int twEnd = answerPlaceholedrWrapper.getTwEnd(); if (twEnd >= offset) { twEnd += change; } - AnswerPlaceholder answerPlaceholder = taskWindowWrapper.getAnswerPlaceholder(); + AnswerPlaceholder answerPlaceholder = answerPlaceholedrWrapper.getAnswerPlaceholder(); int line = document.getLineNumber(twStart); int start = twStart - document.getLineStartOffset(line); int length = twEnd - twStart; @@ -64,7 +64,7 @@ public abstract class CCDocumentListener extends DocumentAdapter { if (useLength()) { answerPlaceholder.setLength(length); } else { - answerPlaceholder.setPossibleAnswer(document.getText(TextRange.create(start, start + length ))); + answerPlaceholder.setPossibleAnswer(document.getText(TextRange.create(start, start + length))); } } } @@ -72,12 +72,12 @@ public abstract class CCDocumentListener extends DocumentAdapter { protected abstract boolean useLength(); - private static class TaskWindowWrapper { + private static class AnswerPlaceholedrWrapper { public AnswerPlaceholder myAnswerPlaceholder; public int myTwStart; public int myTwEnd; - public TaskWindowWrapper(AnswerPlaceholder answerPlaceholder, int twStart, int twEnd) { + public AnswerPlaceholedrWrapper(AnswerPlaceholder answerPlaceholder, int twStart, int twEnd) { myAnswerPlaceholder = answerPlaceholder; myTwStart = twStart; myTwEnd = twEnd; diff --git a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCEditorFactoryListener.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCEditorFactoryListener.java index e32072273bc5..008eb177b7da 100644 --- a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCEditorFactoryListener.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCEditorFactoryListener.java @@ -9,9 +9,9 @@ import com.intellij.openapi.editor.event.EditorFactoryListener; import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; +import com.jetbrains.edu.EduAnswerPlaceholderDeleteHandler; import com.jetbrains.edu.EduAnswerPlaceholderPainter; import com.jetbrains.edu.EduNames; -import com.jetbrains.edu.EduTaskWindowDeleteHandler; import com.jetbrains.edu.courseFormat.Course; import com.jetbrains.edu.courseFormat.TaskFile; import org.jetbrains.annotations.NotNull; @@ -47,8 +47,8 @@ public class CCEditorFactoryListener implements EditorFactoryListener { CCProjectService.addDocumentListener(editor.getDocument(), listener); editor.getDocument().addDocumentListener(listener); EditorActionManager.getInstance() - .setReadonlyFragmentModificationHandler(editor.getDocument(), new EduTaskWindowDeleteHandler(editor)); - service.drawTaskWindows(virtualFile, editor); + .setReadonlyFragmentModificationHandler(editor.getDocument(), new EduAnswerPlaceholderDeleteHandler(editor)); + service.drawAnswerPlaceholders(virtualFile, editor); editor.getColorsScheme().setColor(EditorColors.READONLY_FRAGMENT_BACKGROUND_COLOR, null); EduAnswerPlaceholderPainter.createGuardedBlocks(editor, taskFile, false); } diff --git a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCProjectService.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCProjectService.java index 4b64f6162144..32b617ca83ac 100644 --- a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCProjectService.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCProjectService.java @@ -133,7 +133,7 @@ public class CCProjectService implements PersistentStateComponent answerPlaceholders = taskFile.getAnswerPlaceholders(); for (AnswerPlaceholder existingAnswerPlaceholder : answerPlaceholders) { int twStart = existingAnswerPlaceholder.getRealStartOffset(document); @@ -75,7 +75,7 @@ public class CCAddAnswerPlaceholder extends DumbAwareAction { if (taskFile == null) { return; } - if (areTaskWindowsIntersect(taskFile, document, start, end)) { + if (arePlaceholdersIntersect(taskFile, document, start, end)) { return; } final AnswerPlaceholder answerPlaceholder = new AnswerPlaceholder(); @@ -83,7 +83,7 @@ public class CCAddAnswerPlaceholder extends DumbAwareAction { answerPlaceholder.setStart(realStart); answerPlaceholder.setPossibleAnswer(model.getSelectedText()); - CreateTaskWindowDialog dlg = new CreateTaskWindowDialog(project, answerPlaceholder, lesson.getIndex(), + CCCreateAnswerPlaceholderDialog dlg = new CCCreateAnswerPlaceholderDialog(project, answerPlaceholder, lesson.getIndex(), task.getIndex(), file.getVirtualFile().getNameWithoutExtension(), taskFile.getAnswerPlaceholders().size() + 1); dlg.show(); @@ -150,7 +150,7 @@ public class CCAddAnswerPlaceholder extends DumbAwareAction { presentation.setEnabled(false); return; } - if (areTaskWindowsIntersect(taskFile, editor.getDocument(), start, end)) { + if (arePlaceholdersIntersect(taskFile, editor.getDocument(), start, end)) { presentation.setVisible(false); presentation.setEnabled(false); return; diff --git a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCTaskWindowAction.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCAnswerPlaceholderAction.java similarity index 91% rename from python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCTaskWindowAction.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCAnswerPlaceholderAction.java index a01c56a2c1a8..cee7038371e5 100644 --- a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCTaskWindowAction.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCAnswerPlaceholderAction.java @@ -16,9 +16,9 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; -abstract public class CCTaskWindowAction extends DumbAwareAction { +abstract public class CCAnswerPlaceholderAction extends DumbAwareAction { - protected CCTaskWindowAction(@Nullable String text, @Nullable String description, @Nullable Icon icon) { + protected CCAnswerPlaceholderAction(@Nullable String text, @Nullable String description, @Nullable Icon icon) { super(text, description, icon); } @@ -65,10 +65,10 @@ abstract public class CCTaskWindowAction extends DumbAwareAction { if (state == null) { return; } - performTaskWindowAction(state); + performAnswerPlaceholderAction(state); } - protected abstract void performTaskWindowAction(@NotNull final CCState state); + protected abstract void performAnswerPlaceholderAction(@NotNull final CCState state); protected static class CCState { private TaskFile myTaskFile; diff --git a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCCreateCourseArchive.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCCreateCourseArchive.java index 0bb5d8fa0bab..acd5c96ee68c 100644 --- a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCCreateCourseArchive.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCCreateCourseArchive.java @@ -154,7 +154,7 @@ public class CCCreateCourseArchive extends DumbAwareAction { Collections.sort(taskFile.getAnswerPlaceholders(), new AnswerPlaceholderComparator()); for (int i = taskFile.getAnswerPlaceholders().size() - 1; i >= 0; i--) { final AnswerPlaceholder answerPlaceholder = taskFile.getAnswerPlaceholders().get(i); - replaceTaskWindow(project, document, answerPlaceholder); + replaceAnswerPlaceholder(project, document, answerPlaceholder); } CommandProcessor.getInstance().executeCommand(project, new Runnable() { @Override @@ -170,9 +170,9 @@ public class CCCreateCourseArchive extends DumbAwareAction { document.removeDocumentListener(listener); } - private static void replaceTaskWindow(@NotNull final Project project, - @NotNull final Document document, - @NotNull final AnswerPlaceholder answerPlaceholder) { + private static void replaceAnswerPlaceholder(@NotNull final Project project, + @NotNull final Document document, + @NotNull final AnswerPlaceholder answerPlaceholder) { final String taskText = answerPlaceholder.getTaskText(); final int lineStartOffset = document.getLineStartOffset(answerPlaceholder.getLine()); final int offset = lineStartOffset + answerPlaceholder.getStart(); diff --git a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCDeleteTaskWindow.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCDeleteAnswerPlaceholder.java similarity index 82% rename from python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCDeleteTaskWindow.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCDeleteAnswerPlaceholder.java index e111a3feb973..21dc1385c1a0 100644 --- a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCDeleteTaskWindow.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCDeleteAnswerPlaceholder.java @@ -13,14 +13,14 @@ import org.jetbrains.annotations.NotNull; import java.util.List; -public class CCDeleteTaskWindow extends CCTaskWindowAction { +public class CCDeleteAnswerPlaceholder extends CCAnswerPlaceholderAction { - public CCDeleteTaskWindow() { + public CCDeleteAnswerPlaceholder() { super("Delete Answer Placeholder","Delete answer placeholder", null); } @Override - protected void performTaskWindowAction(@NotNull CCState state) { + protected void performAnswerPlaceholderAction(@NotNull CCState state) { Project project = state.getProject(); PsiFile psiFile = state.getFile(); final Document document = PsiDocumentManager.getInstance(project).getDocument(psiFile); @@ -32,7 +32,7 @@ public class CCDeleteTaskWindow extends CCTaskWindowAction { answerPlaceholders.remove(answerPlaceholder); final Editor editor = state.getEditor(); editor.getMarkupModel().removeAllHighlighters(); - CCProjectService.getInstance(project).drawTaskWindows(psiFile.getVirtualFile(), editor); + CCProjectService.getInstance(project).drawAnswerPlaceholders(psiFile.getVirtualFile(), editor); EduAnswerPlaceholderPainter.createGuardedBlocks(editor, taskFile, false); } } diff --git a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCShowTaskWindowDetails.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCShowAnswerPlaceholderDetails.java similarity index 77% rename from python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCShowTaskWindowDetails.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCShowAnswerPlaceholderDetails.java index b4c955091d05..d030811460ca 100644 --- a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCShowTaskWindowDetails.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCShowAnswerPlaceholderDetails.java @@ -8,17 +8,17 @@ import com.jetbrains.edu.courseFormat.Lesson; import com.jetbrains.edu.courseFormat.Task; import com.jetbrains.edu.courseFormat.TaskFile; import com.jetbrains.edu.coursecreator.CCProjectService; -import com.jetbrains.edu.coursecreator.ui.CreateTaskWindowDialog; +import com.jetbrains.edu.coursecreator.ui.CCCreateAnswerPlaceholderDialog; import org.jetbrains.annotations.NotNull; -public class CCShowTaskWindowDetails extends CCTaskWindowAction { +public class CCShowAnswerPlaceholderDetails extends CCAnswerPlaceholderAction { - public CCShowTaskWindowDetails() { + public CCShowAnswerPlaceholderDetails() { super("Edit Answer Placeholder", "Edit answer placeholder", null); } @Override - protected void performTaskWindowAction(@NotNull CCState state) { + protected void performAnswerPlaceholderAction(@NotNull CCState state) { final Project project = state.getProject(); final CCProjectService service = CCProjectService.getInstance(project); PsiFile file = state.getFile(); @@ -29,7 +29,7 @@ public class CCShowTaskWindowDetails extends CCTaskWindowAction { final Task task = service.getTask(taskDir.getVirtualFile().getPath()); final TaskFile taskFile = state.getTaskFile(); AnswerPlaceholder answerPlaceholder = state.getAnswerPlaceholder(); - CreateTaskWindowDialog dlg = new CreateTaskWindowDialog(project, answerPlaceholder, lesson.getIndex(), task.getIndex(), + CCCreateAnswerPlaceholderDialog dlg = new CCCreateAnswerPlaceholderDialog(project, answerPlaceholder, lesson.getIndex(), task.getIndex(), file.getVirtualFile().getNameWithoutExtension(), taskFile.getAnswerPlaceholders().size() + 1); dlg.setTitle("Edit Answer Placeholder"); diff --git a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateTaskWindowDialog.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CCCreateAnswerPlaceholderDialog.java similarity index 65% rename from python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateTaskWindowDialog.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CCCreateAnswerPlaceholderDialog.java index 306c14a8b887..aef30163da65 100644 --- a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateTaskWindowDialog.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CCCreateAnswerPlaceholderDialog.java @@ -11,31 +11,33 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; -public class CreateTaskWindowDialog extends DialogWrapper { +public class CCCreateAnswerPlaceholderDialog extends DialogWrapper { private static final String ourTitle = "Add Answer Placeholder"; private final AnswerPlaceholder myAnswerPlaceholder; - private final CreateTaskWindowPanel myPanel; + private final CCCreateAnswerPlaceholderPanel myPanel; private final Project myProject; public Project getProject() { return myProject; } - public CreateTaskWindowDialog(@NotNull final Project project, @NotNull final AnswerPlaceholder answerPlaceholder, int lessonIndex, - int taskIndex, String taskFileName, int taskWindowIndex) { + public CCCreateAnswerPlaceholderDialog(@NotNull final Project project, + @NotNull final AnswerPlaceholder answerPlaceholder, + int lessonIndex, int taskIndex, String taskFileName, + int answerPlaceholderIndex) { super(project, true); setTitle(ourTitle); myAnswerPlaceholder = answerPlaceholder; - myPanel = new CreateTaskWindowPanel(this); - String generatedHintName = EduNames.LESSON + lessonIndex + EduNames.TASK + taskIndex + taskFileName + "_" + taskWindowIndex; + myPanel = new CCCreateAnswerPlaceholderPanel(this); + String generatedHintName = EduNames.LESSON + lessonIndex + EduNames.TASK + taskIndex + taskFileName + "_" + answerPlaceholderIndex; myPanel.setGeneratedHintName(generatedHintName); if (answerPlaceholder.getHint() != null) { setHintText(answerPlaceholder); } myProject = project; - String taskWindowTaskText = answerPlaceholder.getTaskText(); - myPanel.setTaskWindowText(taskWindowTaskText != null ? taskWindowTaskText : ""); + String answerPlaceholderTaskText = answerPlaceholder.getTaskText(); + myPanel.setAnswerPlaceholderText(answerPlaceholderTaskText != null ? answerPlaceholderTaskText : ""); String hintName = answerPlaceholder.getHint(); myPanel.setHintText(hintName != null ? hintName : ""); init(); @@ -52,9 +54,9 @@ public class CreateTaskWindowDialog extends DialogWrapper { @Override protected void doOKAction() { - String taskWindowText = myPanel.getAnswerPlaceholderText(); - myAnswerPlaceholder.setTaskText(StringUtil.notNullize(taskWindowText)); - myAnswerPlaceholder.setLength(StringUtil.notNullize(taskWindowText).length()); + String answerPlaceholderText = myPanel.getAnswerPlaceholderText(); + myAnswerPlaceholder.setTaskText(StringUtil.notNullize(answerPlaceholderText)); + myAnswerPlaceholder.setLength(StringUtil.notNullize(answerPlaceholderText).length()); myAnswerPlaceholder.setHint(myPanel.getHintText()); super.doOKAction(); } diff --git a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateTaskWindowPanel.form b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CCCreateAnswerPlaceholderPanel.form similarity index 97% rename from python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateTaskWindowPanel.form rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CCCreateAnswerPlaceholderPanel.form index 4de02982ef9a..41ee5454c672 100644 --- a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateTaskWindowPanel.form +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CCCreateAnswerPlaceholderPanel.form @@ -1,5 +1,5 @@ -
+ @@ -58,7 +58,7 @@ - + diff --git a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateTaskWindowPanel.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CCCreateAnswerPlaceholderPanel.java similarity index 73% rename from python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateTaskWindowPanel.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CCCreateAnswerPlaceholderPanel.java index 5bfda1b3a044..9d418cc06340 100644 --- a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateTaskWindowPanel.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CCCreateAnswerPlaceholderPanel.java @@ -5,17 +5,17 @@ import java.awt.*; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; -public class CreateTaskWindowPanel extends JPanel { +public class CCCreateAnswerPlaceholderPanel extends JPanel { - private final CreateTaskWindowDialog myDialog; + private final CCCreateAnswerPlaceholderDialog myDialog; private JPanel myPanel; private JTextArea myHintText; private JCheckBox myCreateHintCheckBox; private JLabel myHintTextLabel; - private JTextField myTaskWindowText; + private JTextField myAnswerPlaceholderText; private String myGeneratedHintName = ""; - public CreateTaskWindowPanel(CreateTaskWindowDialog dialog) { + public CCCreateAnswerPlaceholderPanel(CCCreateAnswerPlaceholderDialog dialog) { super(new BorderLayout()); add(myPanel, BorderLayout.CENTER); myDialog = dialog; @@ -32,7 +32,7 @@ public class CreateTaskWindowPanel extends JPanel { } }); - myTaskWindowText.grabFocus(); + myAnswerPlaceholderText.grabFocus(); } private void enableHint(boolean isEnable) { @@ -40,8 +40,8 @@ public class CreateTaskWindowPanel extends JPanel { myHintTextLabel.setEnabled(isEnable); } - public void setTaskWindowText(String taskWindowText) { - myTaskWindowText.setText(taskWindowText); + public void setAnswerPlaceholderText(String answerPlaceholderText) { + myAnswerPlaceholderText.setText(answerPlaceholderText); } public void setHintText(String hintText) { @@ -49,7 +49,7 @@ public class CreateTaskWindowPanel extends JPanel { } public String getAnswerPlaceholderText() { - return myTaskWindowText.getText(); + return myAnswerPlaceholderText.getText(); } public String getHintText() { @@ -69,6 +69,6 @@ public class CreateTaskWindowPanel extends JPanel { } public JComponent getPreferredFocusedComponent() { - return myTaskWindowText; + return myAnswerPlaceholderText; } } diff --git a/python/educational/interactive-learning/src/com/jetbrains/edu/learning/StudyDocumentListener.java b/python/educational/interactive-learning/src/com/jetbrains/edu/learning/StudyDocumentListener.java index aec45ce130ab..36d48e261df1 100644 --- a/python/educational/interactive-learning/src/com/jetbrains/edu/learning/StudyDocumentListener.java +++ b/python/educational/interactive-learning/src/com/jetbrains/edu/learning/StudyDocumentListener.java @@ -18,7 +18,7 @@ import java.util.List; */ public class StudyDocumentListener extends DocumentAdapter { private final TaskFile myTaskFile; - private List myTaskWindows = new ArrayList(); + private List myAnswerPlaceholders = new ArrayList(); public StudyDocumentListener(@NotNull final TaskFile taskFile) { myTaskFile = taskFile; @@ -34,11 +34,11 @@ public class StudyDocumentListener extends DocumentAdapter { } myTaskFile.setHighlightErrors(true); final Document document = e.getDocument(); - myTaskWindows.clear(); + myAnswerPlaceholders.clear(); for (AnswerPlaceholder answerPlaceholder : myTaskFile.getAnswerPlaceholders()) { int twStart = answerPlaceholder.getRealStartOffset(document); int twEnd = twStart + answerPlaceholder.getLength(); - myTaskWindows.add(new TaskWindowWrapper(answerPlaceholder, twStart, twEnd)); + myAnswerPlaceholders.add(new AnswerPlaceholderWrapper(answerPlaceholder, twStart, twEnd)); } } @@ -52,16 +52,16 @@ public class StudyDocumentListener extends DocumentAdapter { final Document document = e.getDocument(); int offset = e.getOffset(); int change = event.getNewLength() - event.getOldLength(); - for (TaskWindowWrapper taskWindowWrapper : myTaskWindows) { - int twStart = taskWindowWrapper.getTwStart(); + for (AnswerPlaceholderWrapper answerPlaceholderWrapper : myAnswerPlaceholders) { + int twStart = answerPlaceholderWrapper.getTwStart(); if (twStart > offset) { twStart += change; } - int twEnd = taskWindowWrapper.getTwEnd(); + int twEnd = answerPlaceholderWrapper.getTwEnd(); if (twEnd >= offset) { twEnd += change; } - final AnswerPlaceholder answerPlaceholder = taskWindowWrapper.getAnswerPlaceholder(); + final AnswerPlaceholder answerPlaceholder = answerPlaceholderWrapper.getAnswerPlaceholder(); int line = document.getLineNumber(twStart); int start = twStart - document.getLineStartOffset(line); int length = twEnd - twStart; @@ -72,12 +72,12 @@ public class StudyDocumentListener extends DocumentAdapter { } } - private static class TaskWindowWrapper { + private static class AnswerPlaceholderWrapper { public AnswerPlaceholder myAnswerPlaceholder; public int myTwStart; public int myTwEnd; - public TaskWindowWrapper(AnswerPlaceholder answerPlaceholder, int twStart, int twEnd) { + public AnswerPlaceholderWrapper(AnswerPlaceholder answerPlaceholder, int twStart, int twEnd) { myAnswerPlaceholder = answerPlaceholder; myTwStart = twStart; myTwEnd = twEnd; diff --git a/python/educational/interactive-learning/src/com/jetbrains/edu/learning/StudyTaskManager.java b/python/educational/interactive-learning/src/com/jetbrains/edu/learning/StudyTaskManager.java index 558e7c0dbeb5..549a6b7d2fff 100644 --- a/python/educational/interactive-learning/src/com/jetbrains/edu/learning/StudyTaskManager.java +++ b/python/educational/interactive-learning/src/com/jetbrains/edu/learning/StudyTaskManager.java @@ -159,7 +159,7 @@ public class StudyTaskManager implements PersistentStateComponent 0 && getStatus(taskFile) == StudyStatus.Failed; } @Nullable diff --git a/python/educational/interactive-learning/src/com/jetbrains/edu/learning/StudyUtils.java b/python/educational/interactive-learning/src/com/jetbrains/edu/learning/StudyUtils.java index 303c299f3ff7..deba5cd605f0 100644 --- a/python/educational/interactive-learning/src/com/jetbrains/edu/learning/StudyUtils.java +++ b/python/educational/interactive-learning/src/com/jetbrains/edu/learning/StudyUtils.java @@ -27,9 +27,9 @@ import com.intellij.openapi.vfs.VirtualFileManager; import com.intellij.openapi.wm.ToolWindowManager; import com.intellij.ui.JBColor; import com.intellij.util.ui.UIUtil; +import com.jetbrains.edu.EduAnswerPlaceholderDeleteHandler; import com.jetbrains.edu.EduAnswerPlaceholderPainter; import com.jetbrains.edu.EduNames; -import com.jetbrains.edu.EduTaskWindowDeleteHandler; import com.jetbrains.edu.EduUtils; import com.jetbrains.edu.courseFormat.*; import com.jetbrains.edu.learning.editor.StudyEditor; @@ -292,7 +292,7 @@ public class StudyUtils { } final Document document = editor.getDocument(); EditorActionManager.getInstance() - .setReadonlyFragmentModificationHandler(document, new EduTaskWindowDeleteHandler(editor)); + .setReadonlyFragmentModificationHandler(document, new EduAnswerPlaceholderDeleteHandler(editor)); EduAnswerPlaceholderPainter.createGuardedBlocks(editor, taskFile, true); editor.getColorsScheme().setColor(EditorColors.READONLY_FRAGMENT_BACKGROUND_COLOR, null); } diff --git a/python/educational/interactive-learning/src/com/jetbrains/edu/learning/actions/StudyCheckAction.java b/python/educational/interactive-learning/src/com/jetbrains/edu/learning/actions/StudyCheckAction.java index 912f65387b62..3ce9725c14d2 100644 --- a/python/educational/interactive-learning/src/com/jetbrains/edu/learning/actions/StudyCheckAction.java +++ b/python/educational/interactive-learning/src/com/jetbrains/edu/learning/actions/StudyCheckAction.java @@ -90,7 +90,7 @@ public class StudyCheckAction extends DumbAwareAction { } } - private static void drawAllTaskWindows(@NotNull final Project project, @NotNull final Task task, @NotNull final VirtualFile taskDir) { + private static void drawAllPlaceholders(@NotNull final Project project, @NotNull final Task task, @NotNull final VirtualFile taskDir) { for (Map.Entry entry : task.getTaskFiles().entrySet()) { String name = entry.getKey(); TaskFile taskFile = entry.getValue(); @@ -198,7 +198,7 @@ public class StudyCheckAction extends DumbAwareAction { @Override public void onSuccess() { StudyUtils.updateStudyToolWindow(project); - drawAllTaskWindows(project, task, taskDir); + drawAllPlaceholders(project, task, taskDir); ProjectView.getInstance(project).refresh(); deleteWindowDescriptions(task, taskDir); selectedEditor.getCheckButton().setEnabled(true); @@ -261,7 +261,7 @@ public class StudyCheckAction extends DumbAwareAction { }); } showTestResultPopUp(failedMessage, MessageType.ERROR.getPopupBackground(), project); - navigateToFailedTaskWindow(studyState, task, taskDir, project); + navigateToFailedPlaceholder(studyState, task, taskDir, project); } }); } @@ -269,20 +269,20 @@ public class StudyCheckAction extends DumbAwareAction { }; } - private static void navigateToFailedTaskWindow(@NotNull final StudyState studyState, - @NotNull final Task task, - @NotNull final VirtualFile taskDir, - @NotNull final Project project) { + private static void navigateToFailedPlaceholder(@NotNull final StudyState studyState, + @NotNull final Task task, + @NotNull final VirtualFile taskDir, + @NotNull final Project project) { TaskFile selectedTaskFile = studyState.getTaskFile(); Editor editor = studyState.getEditor(); TaskFile taskFileToNavigate = selectedTaskFile; VirtualFile fileToNavigate = studyState.getVirtualFile(); final StudyTaskManager taskManager = StudyTaskManager.getInstance(project); - if (!taskManager.hasFailedTaskWindows(selectedTaskFile)) { + if (!taskManager.hasFailedAnswerPlaceholders(selectedTaskFile)) { for (Map.Entry entry : task.getTaskFiles().entrySet()) { String name = entry.getKey(); TaskFile taskFile = entry.getValue(); - if (taskManager.hasFailedTaskWindows(taskFile)) { + if (taskManager.hasFailedAnswerPlaceholders(taskFile)) { taskFileToNavigate = taskFile; VirtualFile virtualFile = taskDir.findChild(name); if (virtualFile == null) { @@ -309,7 +309,7 @@ public class StudyCheckAction extends DumbAwareAction { } }); - StudyNavigator.navigateToFirstFailedTaskWindow(editor, taskFileToNavigate); + StudyNavigator.navigateToFirstFailedAnswerPlaceholder(editor, taskFileToNavigate); } private void runSmartTestProcess(@NotNull final VirtualFile taskDir, diff --git a/python/educational/interactive-learning/src/com/jetbrains/edu/learning/actions/StudyRefreshTaskFileAction.java b/python/educational/interactive-learning/src/com/jetbrains/edu/learning/actions/StudyRefreshTaskFileAction.java index 459a3ed3a587..882634161936 100644 --- a/python/educational/interactive-learning/src/com/jetbrains/edu/learning/actions/StudyRefreshTaskFileAction.java +++ b/python/educational/interactive-learning/src/com/jetbrains/edu/learning/actions/StudyRefreshTaskFileAction.java @@ -80,7 +80,7 @@ public class StudyRefreshTaskFileAction extends DumbAwareAction { } }); - StudyNavigator.navigateToFirstTaskWindow(editor, taskFile); + StudyNavigator.navigateToFirstAnswerPlaceholder(editor, taskFile); showBalloon(project, "You can start again now", MessageType.INFO); } @@ -91,7 +91,7 @@ public class StudyRefreshTaskFileAction extends DumbAwareAction { if (!resetDocument(project, document, taskFile, name)) { return false; } - resetTaskWindows(taskFile, project); + resetAnswerPlaceholders(taskFile, project); ProjectView.getInstance(project).refresh(); StudyUtils.updateStudyToolWindow(project); return true; @@ -107,7 +107,7 @@ public class StudyRefreshTaskFileAction extends DumbAwareAction { Disposer.register(project, balloon); } - private static void resetTaskWindows(TaskFile selectedTaskFile, Project project) { + private static void resetAnswerPlaceholders(TaskFile selectedTaskFile, Project project) { final StudyTaskManager taskManager = StudyTaskManager.getInstance(project); for (AnswerPlaceholder answerPlaceholder : selectedTaskFile.getAnswerPlaceholders()) { answerPlaceholder.reset(); diff --git a/python/educational/interactive-learning/src/com/jetbrains/edu/learning/actions/StudyWindowNavigationAction.java b/python/educational/interactive-learning/src/com/jetbrains/edu/learning/actions/StudyWindowNavigationAction.java index 6b4f060f5bcf..6a00f0e22122 100644 --- a/python/educational/interactive-learning/src/com/jetbrains/edu/learning/actions/StudyWindowNavigationAction.java +++ b/python/educational/interactive-learning/src/com/jetbrains/edu/learning/actions/StudyWindowNavigationAction.java @@ -38,7 +38,7 @@ abstract public class StudyWindowNavigationAction extends DumbAwareAction { if (nextAnswerPlaceholder == null) { return; } - StudyNavigator.navigateToTaskWindow(selectedEditor, nextAnswerPlaceholder, selectedTaskFile); + StudyNavigator.navigateToAnswerPlaceholder(selectedEditor, nextAnswerPlaceholder, selectedTaskFile); selectedTaskFile.setSelectedAnswerPlaceholder(nextAnswerPlaceholder); } } diff --git a/python/educational/interactive-learning/src/com/jetbrains/edu/learning/editor/StudyEditorFactoryListener.java b/python/educational/interactive-learning/src/com/jetbrains/edu/learning/editor/StudyEditorFactoryListener.java index cc9952c37616..c2146ef69426 100644 --- a/python/educational/interactive-learning/src/com/jetbrains/edu/learning/editor/StudyEditorFactoryListener.java +++ b/python/educational/interactive-learning/src/com/jetbrains/edu/learning/editor/StudyEditorFactoryListener.java @@ -77,7 +77,7 @@ public class StudyEditorFactoryListener implements EditorFactoryListener { if (openedFile != null) { final TaskFile taskFile = StudyUtils.getTaskFile(project, openedFile); if (taskFile != null) { - StudyNavigator.navigateToFirstTaskWindow(editor, taskFile); + StudyNavigator.navigateToFirstAnswerPlaceholder(editor, taskFile); editor.addEditorMouseListener(new WindowSelectionListener(taskFile)); StudyEditor.addDocumentListener(document, new StudyDocumentListener(taskFile)); WolfTheProblemSolver.getInstance(project).clearProblems(openedFile); diff --git a/python/educational/interactive-learning/src/com/jetbrains/edu/learning/navigation/StudyNavigator.java b/python/educational/interactive-learning/src/com/jetbrains/edu/learning/navigation/StudyNavigator.java index 5f32c39445cd..2dd0ae1453d5 100644 --- a/python/educational/interactive-learning/src/com/jetbrains/edu/learning/navigation/StudyNavigator.java +++ b/python/educational/interactive-learning/src/com/jetbrains/edu/learning/navigation/StudyNavigator.java @@ -60,7 +60,7 @@ public class StudyNavigator { return lesson.getCourse().getLessons().get(lesson.getIndex() - 1); } - public static void navigateToFirstFailedTaskWindow(@NotNull final Editor editor, @NotNull final TaskFile taskFile) { + public static void navigateToFirstFailedAnswerPlaceholder(@NotNull final Editor editor, @NotNull final TaskFile taskFile) { final Project project = editor.getProject(); if (project == null) return; for (AnswerPlaceholder answerPlaceholder : taskFile.getAnswerPlaceholders()) { @@ -68,26 +68,26 @@ public class StudyNavigator { if (status != StudyStatus.Failed) { continue; } - navigateToTaskWindow(editor, answerPlaceholder, taskFile); + navigateToAnswerPlaceholder(editor, answerPlaceholder, taskFile); break; } } - public static void navigateToTaskWindow(@NotNull final Editor editor, @NotNull final AnswerPlaceholder answerPlaceholder, - @NotNull final TaskFile taskFile) { + public static void navigateToAnswerPlaceholder(@NotNull final Editor editor, @NotNull final AnswerPlaceholder answerPlaceholder, + @NotNull final TaskFile taskFile) { if (!answerPlaceholder.isValid(editor.getDocument())) { return; } taskFile.setSelectedAnswerPlaceholder(answerPlaceholder); - LogicalPosition taskWindowStart = new LogicalPosition(answerPlaceholder.getLine(), answerPlaceholder.getStart()); - editor.getCaretModel().moveToLogicalPosition(taskWindowStart); + LogicalPosition placeholderStart = new LogicalPosition(answerPlaceholder.getLine(), answerPlaceholder.getStart()); + editor.getCaretModel().moveToLogicalPosition(placeholderStart); } - public static void navigateToFirstTaskWindow(@NotNull final Editor editor, @NotNull final TaskFile taskFile) { + public static void navigateToFirstAnswerPlaceholder(@NotNull final Editor editor, @NotNull final TaskFile taskFile) { if (!taskFile.getAnswerPlaceholders().isEmpty()) { AnswerPlaceholder firstAnswerPlaceholder = StudyUtils.getFirst(taskFile.getAnswerPlaceholders()); - navigateToTaskWindow(editor, firstAnswerPlaceholder, taskFile); + navigateToAnswerPlaceholder(editor, firstAnswerPlaceholder, taskFile); } } diff --git a/python/educational/src/com/jetbrains/edu/EduTaskWindowDeleteHandler.java b/python/educational/src/com/jetbrains/edu/EduAnswerPlaceholderDeleteHandler.java similarity index 77% rename from python/educational/src/com/jetbrains/edu/EduTaskWindowDeleteHandler.java rename to python/educational/src/com/jetbrains/edu/EduAnswerPlaceholderDeleteHandler.java index 445a6fe7c8c5..344f24df325c 100644 --- a/python/educational/src/com/jetbrains/edu/EduTaskWindowDeleteHandler.java +++ b/python/educational/src/com/jetbrains/edu/EduAnswerPlaceholderDeleteHandler.java @@ -6,11 +6,11 @@ import com.intellij.openapi.editor.ReadOnlyFragmentModificationException; import com.intellij.openapi.editor.actionSystem.ReadonlyFragmentModificationHandler; import org.jetbrains.annotations.NotNull; -public class EduTaskWindowDeleteHandler implements ReadonlyFragmentModificationHandler { +public class EduAnswerPlaceholderDeleteHandler implements ReadonlyFragmentModificationHandler { private final Editor myEditor; - public EduTaskWindowDeleteHandler(@NotNull final Editor editor) { + public EduAnswerPlaceholderDeleteHandler(@NotNull final Editor editor) { myEditor = editor; }