Java 类org.eclipse.jface.text.IEditingSupportRegistry 实例源码

项目:bts    文件:RenameLinkedMode.java   
/**
 * PopUp gets closed and the focus goes back to the editor. Linked mode stays active and can be reenabled, i.e. by
 * putting the caret back into a linked editing position.
 */
public void linkedModeLeft() {
    if (linkedModeModel != null) {
        linkedModeModel.exit(ILinkedModeListener.NONE);
    }
    if (popup != null) {
        popup.close();
    }

    if (editor != null) {
        ISourceViewer viewer = editor.getInternalSourceViewer();
        if (viewer instanceof IEditingSupportRegistry) {
            IEditingSupportRegistry registry = (IEditingSupportRegistry) viewer;
            registry.unregister(focusEditingSupport);
        }
    }
}
项目:ftc    文件:TweakedLinkedModeUI.java   
public void documentAboutToBeChanged(DocumentEvent event) {

            // default behavior: any document change outside a linked position
            // causes us to exit
            int end = event.getOffset() + event.getLength();
            for (int offset = event.getOffset(); offset <= end; offset++) {
                if (!fModel.anyPositionContains(offset)) {
                    ITextViewer viewer = fCurrentTarget.getViewer();
                    if (fFramePosition != null && viewer instanceof IEditingSupportRegistry) {
                        IEditingSupport[] helpers = ((IEditingSupportRegistry) viewer).getRegisteredSupports();
                        for (int i = 0; i < helpers.length; i++) {
                            if (helpers[i].isOriginator(null,
                                    new Region(fFramePosition.getOffset(), fFramePosition.getLength())))
                                return;
                        }
                    }

                    leave(ILinkedModeListener.EXTERNAL_MODIFICATION);
                    return;
                }
            }

            // Make sure that any document change is done inside a compound
            // change
            beginCompoundChangeIfNeeded();

        }
项目:bts    文件:RenameLinkedMode.java   
public boolean start(IRenameElementContext renameElementContext, IProgressMonitor monitor) {
    if (renameElementContext == null)
        throw new IllegalArgumentException("RenameElementContext is null");
    this.linkedPositionGroup = linkedPositionGroupCalculator.getLinkedPositionGroup(renameElementContext, monitor);
    if (linkedPositionGroup == null || linkedPositionGroup.isEmpty())
        return false;
    this.editor = (XtextEditor) renameElementContext.getTriggeringEditor();
    this.focusEditingSupport = new FocusEditingSupport();
    ISourceViewer viewer = editor.getInternalSourceViewer();
    IDocument document = viewer.getDocument();
    originalSelection = viewer.getSelectedRange();
    currentPosition = linkedPositionGroup.getPositions()[0];
    originalName = getCurrentName();
    try {
        linkedModeModel = new LinkedModeModel();
        linkedModeModel.addGroup(linkedPositionGroup);
        linkedModeModel.forceInstall();
        linkedModeModel.addLinkingListener(new EditorSynchronizer());
        LinkedModeUI ui = new EditorLinkedModeUI(linkedModeModel, viewer);
        ui.setExitPolicy(new ExitPolicy(document));
        if (currentPosition.includes(originalSelection.x))
            ui.setExitPosition(viewer, originalSelection.x, 0, Integer.MAX_VALUE);
        ui.enter();
        if (currentPosition.includes(originalSelection.x)
                && currentPosition.includes(originalSelection.x + originalSelection.y))
            viewer.setSelectedRange(originalSelection.x, originalSelection.y);
        if (viewer instanceof IEditingSupportRegistry) {
            IEditingSupportRegistry registry = (IEditingSupportRegistry) viewer;
            registry.register(focusEditingSupport);
        }
        openPopup();
        return true;
    } catch (BadLocationException e) {
        throw new WrappedException(e);
    }
}
项目:APICloud-Studio    文件:CompletionProposalPopup.java   
/**
 * Hides this popup.
 */
public void hide()
{
    bufferString = "";
    selectedProposal = null;
    fLastKeyPressed = '\0';
    unregister();

    if (fViewer instanceof IEditingSupportRegistry)
    {
        IEditingSupportRegistry registry = (IEditingSupportRegistry) fViewer;
        registry.unregister(fFocusHelper);
    }

    if (Helper.okToUse(fProposalShell))
    {
        fContentAssistant.removeContentAssistListener(this, ContentAssistant.PROPOSAL_SELECTOR);
        // TISTUD-913: moved the 'fPopupCloser.uninstall();' to disposePopup()
        if (fAdditionalInfoController != null)
        {
            fAdditionalInfoController.disposeInformationControl();
        }

        if (Helper.okToUse(fProposalTable))
        {
            fProposalTable.removeAll();
            fProposalTable.update();
        }
                       // TISTUD-1550: Call to dispose, instead of fProposalShell.setVisible(false);
        fProposalShell.setVisible(false);
    }
    }
项目:Eclipse-Postfix-Code-Completion    文件:RenameLinkedMode.java   
private void linkedModeLeft() {
    fgActiveLinkedMode= null;
    if (fInfoPopup != null) {
        fInfoPopup.close();
    }

    ISourceViewer viewer= fEditor.getViewer();
    if (viewer instanceof IEditingSupportRegistry) {
        IEditingSupportRegistry registry= (IEditingSupportRegistry) viewer;
        registry.unregister(fFocusEditingSupport);
    }
}
项目:Eclipse-Postfix-Code-Completion    文件:OrganizeImportsAction.java   
private void registerHelper(IEditingSupport helper, JavaEditor editor) {
    ISourceViewer viewer= editor.getViewer();
    if (viewer instanceof IEditingSupportRegistry) {
        IEditingSupportRegistry registry= (IEditingSupportRegistry) viewer;
        registry.register(helper);
    }
}
项目:Eclipse-Postfix-Code-Completion    文件:OrganizeImportsAction.java   
private void deregisterHelper(IEditingSupport helper, JavaEditor editor) {
    ISourceViewer viewer= editor.getViewer();
    if (viewer instanceof IEditingSupportRegistry) {
        IEditingSupportRegistry registry= (IEditingSupportRegistry) viewer;
        registry.unregister(helper);
    }
}
项目:Eclipse-Postfix-Code-Completion    文件:AddImportOnSelectionAction.java   
private void registerHelper(IEditingSupport helper) {
    ISourceViewer viewer= fEditor.getViewer();
    if (viewer instanceof IEditingSupportRegistry) {
        IEditingSupportRegistry registry= (IEditingSupportRegistry) viewer;
        registry.register(helper);
    }
}
项目:Eclipse-Postfix-Code-Completion    文件:AddImportOnSelectionAction.java   
private void deregisterHelper(IEditingSupport helper) {
    ISourceViewer viewer= fEditor.getViewer();
    if (viewer instanceof IEditingSupportRegistry) {
        IEditingSupportRegistry registry= (IEditingSupportRegistry) viewer;
        registry.unregister(helper);
    }
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:RenameLinkedMode.java   
private void linkedModeLeft() {
    fgActiveLinkedMode= null;
    if (fInfoPopup != null) {
        fInfoPopup.close();
    }

    ISourceViewer viewer= fEditor.getViewer();
    if (viewer instanceof IEditingSupportRegistry) {
        IEditingSupportRegistry registry= (IEditingSupportRegistry) viewer;
        registry.unregister(fFocusEditingSupport);
    }
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:OrganizeImportsAction.java   
private void registerHelper(IEditingSupport helper, JavaEditor editor) {
    ISourceViewer viewer= editor.getViewer();
    if (viewer instanceof IEditingSupportRegistry) {
        IEditingSupportRegistry registry= (IEditingSupportRegistry) viewer;
        registry.register(helper);
    }
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:OrganizeImportsAction.java   
private void deregisterHelper(IEditingSupport helper, JavaEditor editor) {
    ISourceViewer viewer= editor.getViewer();
    if (viewer instanceof IEditingSupportRegistry) {
        IEditingSupportRegistry registry= (IEditingSupportRegistry) viewer;
        registry.unregister(helper);
    }
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:AddImportOnSelectionAction.java   
private void registerHelper(IEditingSupport helper) {
    ISourceViewer viewer= fEditor.getViewer();
    if (viewer instanceof IEditingSupportRegistry) {
        IEditingSupportRegistry registry= (IEditingSupportRegistry) viewer;
        registry.register(helper);
    }
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:AddImportOnSelectionAction.java   
private void deregisterHelper(IEditingSupport helper) {
    ISourceViewer viewer= fEditor.getViewer();
    if (viewer instanceof IEditingSupportRegistry) {
        IEditingSupportRegistry registry= (IEditingSupportRegistry) viewer;
        registry.unregister(helper);
    }
}
项目:ftc    文件:TweakedLinkedModeUI.java   
public void shellDeactivated(ShellEvent e) {
    // TODO re-enable after debugging
    // if (true) return;

    // from LinkedPositionUI:

    // don't deactivate on focus lost, since the proposal popups may
    // take focus
    // plus: it doesn't hurt if you can check with another window
    // without losing linked mode
    // since there is no intrusive popup sticking out.

    // need to check first what happens on reentering based on an open
    // action
    // Seems to be no problem

    // Better:
    // Check with content assistant and only leave if its not the
    // proposal shell that took the
    // focus away.

    StyledText text;
    final ITextViewer viewer;
    Display display;

    if (fCurrentTarget == null || (text = fCurrentTarget.fWidget) == null || text.isDisposed()
            || (display = text.getDisplay()) == null || display.isDisposed()
            || (viewer = fCurrentTarget.getViewer()) == null) {
        leave(ILinkedModeListener.EXIT_ALL);
    } else {
        // Post in UI thread since the assistant popup will only get the
        // focus after we lose it.
        display.asyncExec(new Runnable() {
            public void run() {
                if (fIsActive && viewer instanceof IEditingSupportRegistry) {
                    IEditingSupport[] helpers = ((IEditingSupportRegistry) viewer).getRegisteredSupports();
                    for (int i = 0; i < helpers.length; i++) {
                        if (helpers[i].ownsFocusShell())
                            return;
                    }
                }

                // else
                leave(ILinkedModeListener.EXIT_ALL);

            }
        });
    }
}
项目:typescript.java    文件:RenameLinkedMode.java   
public void start() {
    if (getActiveLinkedMode() != null) {
        // for safety; should already be handled in RenameJavaElementAction
        fgActiveLinkedMode.startFullDialog();
        return;
    }

    ISourceViewer viewer = fEditor.getViewer();
    IDocument document = viewer.getDocument();

    ITypeScriptFile tsFile = fEditor.getTypeScriptFile();
    tsFile.setDisableChanged(true);
    fOriginalSelection = viewer.getSelectedRange();
    int offset = fOriginalSelection.x;

    try {
        fLinkedPositionGroup = new LinkedPositionGroup();
        if (viewer instanceof ITextViewerExtension6) {
            IUndoManager undoManager = ((ITextViewerExtension6) viewer).getUndoManager();
            if (undoManager instanceof IUndoManagerExtension) {
                IUndoManagerExtension undoManagerExtension = (IUndoManagerExtension) undoManager;
                IUndoContext undoContext = undoManagerExtension.getUndoContext();
                IOperationHistory operationHistory = OperationHistoryFactory.getOperationHistory();
                fStartingUndoOperation = operationHistory.getUndoOperation(undoContext);
            }
        }

        // Find occurrences
        List<OccurrencesResponseItem> occurrences = tsFile.occurrences(offset).get(1000, TimeUnit.MILLISECONDS);

        // Create Eclipse linked position from the occurrences list.
        int start, length;
        for (int i = 0; i < occurrences.size(); i++) {
            OccurrencesResponseItem item = occurrences.get(i);
            start = tsFile.getPosition(item.getStart());
            length = tsFile.getPosition(item.getEnd()) - start;
            LinkedPosition linkedPosition = new LinkedPosition(document, start, length, i);
            if (i == 0) {
                fOriginalName = document.get(start, length);
                fNamePosition = linkedPosition;
            }
            fLinkedPositionGroup.addPosition(linkedPosition);
        }

        fLinkedModeModel = new LinkedModeModel();
        fLinkedModeModel.addGroup(fLinkedPositionGroup);
        fLinkedModeModel.forceInstall();
        fLinkedModeModel.addLinkingListener(new EditorHighlightingSynchronizer(fEditor));
        fLinkedModeModel.addLinkingListener(new EditorSynchronizer());

        LinkedModeUI ui = new EditorLinkedModeUI(fLinkedModeModel, viewer);
        ui.setExitPosition(viewer, offset, 0, Integer.MAX_VALUE);
        ui.setExitPolicy(new ExitPolicy(document));
        ui.enter();

        viewer.setSelectedRange(fOriginalSelection.x, fOriginalSelection.y); // by
                                                                                // default,
                                                                                // full
                                                                                // word
                                                                                // is
                                                                                // selected;
                                                                                // restore
                                                                                // original
                                                                                // selection

        if (viewer instanceof IEditingSupportRegistry) {
            IEditingSupportRegistry registry = (IEditingSupportRegistry) viewer;
            registry.register(fFocusEditingSupport);
        }

        openSecondaryPopup();
        // startAnimation();
        fgActiveLinkedMode = this;

    } catch (Exception e) {
        JSDTTypeScriptUIPlugin.log(e);
    }
}