Package com.intellij.openapi.editor

Examples of com.intellij.openapi.editor.Editor


        if (project != null) {
            new BackgroundTask(project, "Loading database source code", false, true) {

                @Override
                protected void execute(@NotNull ProgressIndicator progressIndicator) throws InterruptedException {
                    final Editor editor = getEditor(e);
                    final SourceCodeFile sourcecodeFile = getSourcecodeFile(e);

                    if (editor != null && sourcecodeFile != null) {
                        boolean reloaded = sourcecodeFile.reloadFromDatabase();
                        if (reloaded) {
                            new WriteActionRunner() {
                                public void run() {
                                    editor.getDocument().setText(sourcecodeFile.getContent());
                                    sourcecodeFile.setModified(false);
                                }
                            }.start();
                        }
                    }
View Full Code Here


            }
        }
    }

    private void navigateInEditor(CompilerMessage compilerMessage, BasicTextEditor textEditor, DatabaseEditableObjectFile databaseFile) {
        Editor editor = textEditor.getEditor();
        Document document = editor.getDocument();
        SourceCodeEditor codeEditor = (SourceCodeEditor) textEditor;
        int lineShifting = document.getLineNumber(codeEditor.getHeaderEndOffset());

        if (document.getLineCount() <= compilerMessage.getLine()) {
            compilerMessage.setLine(0);
            compilerMessage.setPosition(0);
            compilerMessage.setSubjectIdentifier(null);
        }
        int lineStartOffset = document.getLineStartOffset(compilerMessage.getLine() + lineShifting);
        int newCaretOffset = lineStartOffset + compilerMessage.getPosition();
        if (document.getTextLength() > newCaretOffset) {
            editor.getCaretModel().moveToOffset(newCaretOffset);

            String identifier = compilerMessage.getSubjectIdentifier();
            if (identifier != null) {
                int lineEndOffset = document.getLineEndOffset(compilerMessage.getLine() + lineShifting);
                String lineText = document.getText().substring(lineStartOffset, lineEndOffset).toUpperCase();
                int selectionOffset = lineText.indexOf(identifier, compilerMessage.getPosition()) + lineStartOffset;
                if (selectionOffset > -1) {
                    editor.getSelectionModel().setSelection(selectionOffset, selectionOffset + identifier.length());
                }
            }
            editor.getScrollingModel().scrollToCaret(ScrollType.RELATIVE);
        }

        EditorUtil.selectEditor(databaseFile, textEditor);
        VirtualFile virtualFile = DocumentUtil.getVirtualFile(textEditor.getEditor());
        OpenFileDescriptor openFileDescriptor = new OpenFileDescriptor(compilerMessage.getProject(), virtualFile);
View Full Code Here

    applyFixInner(project);
  }

  private void applyFixInner(final Project project) {
    final PsiFile psiFile = myClass.getContainingFile();
    final Editor editor = CodeInsightUtil.positionCursor(project, psiFile, myClass.getLBrace());
    if (editor != null) {
      new WriteCommandAction(project, psiFile) {
        protected void run(Result result) throws Throwable {

          final PsiElementFactory psiElementFactory = JavaPsiFacade.getInstance(myClass.getProject()).getElementFactory();
          final PsiField psiField = psiElementFactory.createField(myName, myType);

          final PsiModifierList modifierList = psiField.getModifierList();
          if (null != modifierList) {
            for (@Modifier String modifier : myModifiers) {
              modifierList.setModifierProperty(modifier, true);
            }
          }
          if (null != myInitializerText) {
            PsiExpression psiInitializer = psiElementFactory.createExpressionFromText(myInitializerText, psiField);
            psiField.setInitializer(psiInitializer);
          }

          final List<PsiGenerationInfo<PsiField>> generationInfos = GenerateMembersUtil.insertMembersAtOffset(myClass.getContainingFile(), editor.getCaretModel().getOffset(),
              Collections.singletonList(new PsiGenerationInfo<PsiField>(psiField)));
          if (!generationInfos.isEmpty()) {
            PsiField psiMember = generationInfos.iterator().next().getPsiMember();
            editor.getCaretModel().moveToOffset(psiMember.getTextRange().getEndOffset());
          }

          UndoUtil.markPsiFileForUndo(psiFile);
        }
View Full Code Here

    applyFixInner(project);
  }

  private void applyFixInner(final Project project) {
    final PsiFile file = myAnnotation.getContainingFile();
    final Editor editor = CodeInsightUtil.positionCursor(project, file, myAnnotation);
    if (editor != null) {
      new WriteCommandAction(project, file) {
        protected void run(Result result) throws Throwable {
          final PsiNameValuePair valuePair = selectAnnotationAttribute();
View Full Code Here

        ;
    }

    private void formatWithEclipse(PsiFile psiFile, int startOffset, int endOffset, boolean wholeFile)
            throws InvalidPathToConfigFileException {
        final Editor editor = PsiUtilBase.findEditor(psiFile);
        if (editor != null) {
            formatWhenEditorIsOpen(startOffset, endOffset, psiFile, wholeFile);
        } else {
            formatWhenEditorIsClosed(psiFile);
        }
View Full Code Here

    }

    /* when file is being edited, it is important to load text from editor, i think */
    private void formatWhenEditorIsOpen(int startOffset, int endOffset, PsiFile file, boolean wholeFile)
            throws InvalidPathToConfigFileException {
        final Editor editor = PsiUtilBase.findEditor(file);
        int visualColumnToRestore = getVisualColumnToRestore(editor);

        Document document = editor.getDocument();
        String text = document.getText();
        document.setText(reformat(startOffset, endOffset, text));
        postProcess(document, wholeFile, file);

        restoreVisualColumn(editor, visualColumnToRestore);
View Full Code Here

    private boolean shouldSkipFormatting(PsiFile psiFile, int startOffset, int endOffset) {
        VirtualFile virtualFile = psiFile.getVirtualFile();
        if (settings.isFormatSeletedTextInAllFileTypes()) {
            // when file is being edited, it is important to load text from editor, i think
            final Editor editor = PsiUtilBase.findEditor(psiFile);
            if (editor != null) {
                Document document = editor.getDocument();
                String text = document.getText();
                if (!FileUtils.isWholeFile(startOffset, endOffset, text) || isFocusInEditorAndSelectedText()) {
                    return false;
                }
            }
View Full Code Here

                && FileUtils.isWritable(psiFile.getVirtualFile(), project) && fileTypeIsEnabled(psiFile);
    }

    private boolean isWholeFileOrSelectedText(PsiFile psiFile, int startOffset, int endOffset) {

        final Editor editor = PsiUtilBase.findEditor(psiFile);

        if (editor == null) {
            return true;
        } else {
            Document document = editor.getDocument();
            String text = document.getText();
            boolean wholeFile = FileUtils.isWholeFile(startOffset, endOffset, text);

            return editor.getSelectionModel().hasSelection() || wholeFile;
        }
    }
View Full Code Here

  public void format(PsiFile psiFile, int startOffset, int endOffset) throws FileDoesNotExistsException {
    LOG.debug("#format " + startOffset + "-" + endOffset);
    boolean wholeFile = FileUtils.isWholeFile(startOffset, endOffset, psiFile.getText());
    Range range = new Range(startOffset, endOffset, wholeFile);

    final Editor editor = PsiUtilBase.findEditor(psiFile);
    if (editor != null) {
      formatWhenEditorIsOpen(range, psiFile);
    } else {
      formatWhenEditorIsClosed(psiFile);
    }
View Full Code Here

  }

  /* when file is being edited, it is important to load text from editor, i think */
  private void formatWhenEditorIsOpen(Range range, PsiFile file) throws FileDoesNotExistsException {
    LOG.debug("#formatWhenEditorIsOpen " + file.getName());
    final Editor editor = PsiUtilBase.findEditor(file);
    int visualColumnToRestore = getVisualColumnToRestore(editor);

    Document document = editor.getDocument();
    // http://code.google.com/p/eclipse-code-formatter-intellij-plugin/issues/detail?id=7
    PsiDocumentManager.getInstance(editor.getProject()).doPostponedOperationsAndUnblockDocument(document);

    String text = document.getText();
    String reformat = reformat(range.getStartOffset(), range.getEndOffset(), text);
    document.setText(reformat);
    postProcess(document, file, range);
View Full Code Here

TOP

Related Classes of com.intellij.openapi.editor.Editor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.