/** Disposes current preview {@link #editorPanel}. */ @Override public void dispose() { if (!editorPanel.preview.isDisposed()) { EditorFactory.getInstance().releaseEditor(editorPanel.preview); } }
private static void startTemplate(@NotNull Editor editor, @NotNull Template template, @NotNull Project project) { Runnable runnable = () -> { if (project.isDisposed() || editor.isDisposed()) return; CommandProcessor.getInstance().executeCommand(project, () -> TemplateManager.getInstance(project).startTemplate(editor, template, null), "Introduce function", null); }; if (ApplicationManager.getApplication().isUnitTestMode()) { runnable.run(); } else { ApplicationManager.getApplication().invokeLater(runnable); } }
/** Disposes current preview {@link #commands}. */ @Override public void dispose() { super.dispose(); tree.getModel().removeTreeModelListener(treeModelListener); if (!commands.isDisposed()) { EditorFactory.getInstance().releaseEditor(commands); } } }
@Override public void run() { if (editor.isDisposed()) { return; } final List<KeyStroke> toKeys = mappingInfo.getToKeys(); final VimExtensionHandler extensionHandler = mappingInfo.getExtensionHandler(); final EditorDataContext currentContext = new EditorDataContext(editor); if (toKeys != null) { final boolean fromIsPrefix = isPrefix(mappingInfo.getFromKeys(), toKeys); boolean first = true; for (KeyStroke keyStroke : toKeys) { final boolean recursive = mappingInfo.isRecursive() && !(first && fromIsPrefix); handleKey(editor, keyStroke, currentContext, recursive); first = false; } } else if (extensionHandler != null) { final CommandProcessor processor = CommandProcessor.getInstance(); processor.executeCommand(editor.getProject(), () -> extensionHandler.execute(editor, context), "Vim " + extensionHandler.getClass().getSimpleName(), null); } if (prevMappingInfo != null) { handleKey(editor, key, currentContext); } } };
commandState.startMappingTimer(actionEvent -> application.invokeLater(() -> { mappingKeys.clear(); if (editor.isDisposed()) { return;
private void updateLineNumbers(@NotNull Editor editor) { if (!EditorData.isFileEditor(editor)) { return; } final Options options = Options.getInstance(); final boolean relativeLineNumber = options.isSet(Options.RELATIVE_NUMBER); final boolean lineNumber = options.isSet(Options.NUMBER); final EditorSettings settings = editor.getSettings(); final boolean showEditorLineNumbers = (EditorData.isLineNumbersShown(editor) || lineNumber) && !relativeLineNumber; if (settings.isLineNumbersShown() ^ showEditorLineNumbers) { // Update line numbers later since it may be called from a caret listener // on the caret move and it may move the caret internally ApplicationManager.getApplication().invokeLater(() -> { if (editor.isDisposed()) return; settings.setLineNumbersShown(showEditorLineNumbers); }); } if (relativeLineNumber) { final EditorGutter gutter = editor.getGutter(); gutter.closeAllAnnotations(); gutter.registerTextAnnotation(myLineNumbersGutterProvider); } }
referenceRange.getEndOffset(), () -> { if (file.isValid() && !editor.isDisposed()) { perform(packagesToImport, file, editor);
HintManager.getInstance().showQuestionHint(editor, message, referenceRange.getStartOffset(), referenceRange.getEndOffset(), () -> { if (ballerinaFile.isValid() && !editor.isDisposed()) { performImport(packagesToImport, ballerinaFile, editor);
@Override protected void dispose() { if (jsonEditor != null && !jsonEditor.isDisposed()) { EditorFactory.getInstance().releaseEditor(jsonEditor); } super.dispose(); }
@Override public void dispose() { Collections.list(styleGroup.getElements()).forEach(button -> button.removeActionListener(this)); classNamePrefixField.getDocument().removeDocumentListener(this); classNameSuffixField.getDocument().removeDocumentListener(this); generatedAnnotationCheckBox.removeActionListener(this); suppressWarningsAnnotationCheckBox.removeActionListener(this); if (previewEditor == null || previewEditor.isDisposed()) { return; } EditorFactory.getInstance().releaseEditor(previewEditor); }
private void releaseFileSpecificEditor(VirtualFile oldFile) { if (fileSpecificParamEditor != null) { // set params in fileSpecificParamDocument.addDocumentListener() listener is a more universal but worse solution: // gets triggered immediately, debounce required FileUtil.setParams(oldFile, fileSpecificParamEditor.getDocument().getText()); graphConsoleView.getFileSpecificParametersTab().remove(fileSpecificParamEditor.getComponent()); if (!fileSpecificParamEditor.isDisposed()) { EditorFactory.getInstance().releaseEditor(fileSpecificParamEditor); } } fileSpecificParamEditor = null; }
public void startBlinking() { Project project = myEditor.getProject(); if (ApplicationManager.getApplication().isDisposed() || myEditor.isDisposed() || (project != null && project.isDisposed())) { return; } MarkupModel markupModel = myEditor.getMarkupModel(); if (show) { for (Segment segment : myMarkers) { if (segment.getEndOffset() > myEditor.getDocument().getTextLength()) { continue; } RangeHighlighter highlighter = markupModel.addRangeHighlighter(segment.getStartOffset(), segment.getEndOffset(), HighlighterLayer.ADDITIONAL_SYNTAX, myAttributes, HighlighterTargetArea.EXACT_RANGE); myAddedHighlighters.add(highlighter); } } else { removeHighlights(); } myBlinkingAlarm.cancelAllRequests(); myBlinkingAlarm.addRequest(() -> { if (myTimeToLive > 0 || show) { myTimeToLive--; show = !show; startBlinking(); } }, 400); }