@Override public void shellClosed(ShellEvent e) { leave(ILinkedModeListener.EXIT_ALL); }
@Override public void left(LinkedModeModel model, int flags) { leave(ILinkedModeListener.EXIT_ALL | flags); }
@Override public void inputDocumentAboutToBeChanged(IDocument oldInput, IDocument newInput) { leave(ILinkedModeListener.EXIT_ALL); }
@Override public void inputDocumentAboutToBeChanged(IDocument oldInput, IDocument newInput) { leave(ILinkedModeListener.EXIT_ALL); }
@Override public void resume(LinkedModeModel model, int flags) { if ((flags & ILinkedModeListener.EXIT_ALL) != 0) { leave(flags); } else { connect(); if ((flags & ILinkedModeListener.SELECT) != 0) select(); ensureAnnotationModelInstalled(); redraw(); } } }
@Override public void left(LinkedModeModel model, int flags) { leave(ILinkedModeListener.EXIT_ALL | flags); }
@Override public void resume(LinkedModeModel model, int flags) { if ((flags & ILinkedModeListener.EXIT_ALL) != 0) { leave(flags); } else { connect(); if ((flags & ILinkedModeListener.SELECT) != 0) select(); ensureAnnotationModelInstalled(); redraw(); } } }
@Override public void shellClosed(ShellEvent e) { leave(ILinkedModeListener.EXIT_ALL); }
@Override public void shellIconified(ShellEvent e) { leave(ILinkedModeListener.EXIT_ALL); }
@Override public void shellIconified(ShellEvent e) { leave(ILinkedModeListener.EXIT_ALL); }
@Override 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); } });
void next() { if (fIterator.hasNext(fFramePosition)) { switchPosition(fIterator.next(fFramePosition), true, true); return; } leave(ILinkedModeListener.UPDATE_CARET); }
void previous() { if (fIterator.hasPrevious(fFramePosition)) { switchPosition(fIterator.previous(fFramePosition), true, true); } else // dont't update caret, but rather select the current frame leave(ILinkedModeListener.SELECT); }
void previous() { if (fIterator.hasPrevious(fFramePosition)) { switchPosition(fIterator.previous(fFramePosition), true, true); } else // dont't update caret, but rather select the current frame leave(ILinkedModeListener.SELECT); }
void next() { if (fIterator.hasNext(fFramePosition)) { switchPosition(fIterator.next(fFramePosition), true, true); return; } leave(ILinkedModeListener.UPDATE_CARET); }
private void unregisterAutoEditVetoer(ITextViewer viewer) { try { String[] contentTypes= getContentTypes(viewer.getDocument()); if (viewer instanceof ITextViewerExtension2) { ITextViewerExtension2 vExtension= ((ITextViewerExtension2) viewer); for (String contentType : contentTypes) { vExtension.removeAutoEditStrategy(fAutoEditVetoer, contentType); } } else { Assert.isTrue(false); } } catch (BadPartitioningException e) { leave(ILinkedModeListener.EXIT_ALL); } }
private void unregisterAutoEditVetoer(ITextViewer viewer) { try { String[] contentTypes= getContentTypes(viewer.getDocument()); if (viewer instanceof ITextViewerExtension2) { ITextViewerExtension2 vExtension= ((ITextViewerExtension2) viewer); for (int i= 0; i < contentTypes.length; i++) { vExtension.removeAutoEditStrategy(fAutoEditVetoer, contentTypes[i]); } } else { Assert.isTrue(false); } } catch (BadPartitioningException e) { leave(ILinkedModeListener.EXIT_ALL); } }
/** * Registers our auto edit vetoer with the viewer. * * @param viewer the viewer we want to veto ui-triggered changes within * linked positions */ private void registerAutoEditVetoer(ITextViewer viewer) { try { String[] contentTypes= getContentTypes(viewer.getDocument()); if (viewer instanceof ITextViewerExtension2) { ITextViewerExtension2 vExtension= ((ITextViewerExtension2) viewer); for (String contentType : contentTypes) { vExtension.prependAutoEditStrategy(fAutoEditVetoer, contentType); } } else { Assert.isTrue(false); } } catch (BadPartitioningException e) { leave(ILinkedModeListener.EXIT_ALL); } }
/** * Registers our auto edit vetoer with the viewer. * * @param viewer the viewer we want to veto ui-triggered changes within * linked positions */ private void registerAutoEditVetoer(ITextViewer viewer) { try { String[] contentTypes= getContentTypes(viewer.getDocument()); if (viewer instanceof ITextViewerExtension2) { ITextViewerExtension2 vExtension= ((ITextViewerExtension2) viewer); for (int i= 0; i < contentTypes.length; i++) { vExtension.prependAutoEditStrategy(fAutoEditVetoer, contentTypes[i]); } } else { Assert.isTrue(false); } } catch (BadPartitioningException e) { leave(ILinkedModeListener.EXIT_ALL); } }
@Override 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(); }