/** * Adds an additional replace command. The added replace command must not overlap with existing * ones. If the document command owner is not <code>null</code>, it will not get document change * notifications for the particular command. * * @param commandOffset the offset of the region to replace * @param commandLength the length of the region to replace * @param commandText the text to replace with, may be <code>null</code> * @param commandOwner the command owner, may be <code>null</code> * @throws BadLocationException if the added command intersects with an existing one * @since 2.1 */ public void addCommand( int commandOffset, int commandLength, String commandText, IDocumentListener commandOwner) throws BadLocationException { final Command command = new Command(commandOffset, commandLength, commandText, commandOwner); if (intersects(command)) throw new BadLocationException(); final int index = Collections.binarySearch(fCommands, command); // a command with exactly the same ranges exists already if (index >= 0) throw new BadLocationException(); // binary search result is defined as (-(insertionIndex) - 1) final int insertionIndex = -(index + 1); // overlaps to the right? if (insertionIndex != fCommands.size() && intersects((Command) fCommands.get(insertionIndex), command)) throw new BadLocationException(); // overlaps to the left? if (insertionIndex != 0 && intersects((Command) fCommands.get(insertionIndex - 1), command)) throw new BadLocationException(); fCommands.add(insertionIndex, command); }
@Override public void addDocumentListener(IDocumentListener listener) { throw new UnsupportedOperationException(); }
@Override public void removeDocumentListener(IDocumentListener listener) { throw new UnsupportedOperationException(); }
@Override public void addPrenotifiedDocumentListener(IDocumentListener documentAdapter) { throw new UnsupportedOperationException(); }
@Override public void removePrenotifiedDocumentListener(IDocumentListener documentAdapter) { throw new UnsupportedOperationException(); }
public void addDocumentListener(IDocumentListener listener) { throw new UnsupportedMockOperationException(); }
public void addPrenotifiedDocumentListener(IDocumentListener documentAdapter) { throw new UnsupportedMockOperationException(); }
public void removeDocumentListener(IDocumentListener listener) { throw new UnsupportedMockOperationException(); }
public void removePrenotifiedDocumentListener( IDocumentListener documentAdapter) { throw new UnsupportedMockOperationException(); }
public void addDocumentListener(IDocumentListener listener) { // defining interface method }
public void removeDocumentListener(IDocumentListener listener) { // defining interface method }
public void addPrenotifiedDocumentListener(IDocumentListener documentAdapter) { // defining interface method }
public void removePrenotifiedDocumentListener(IDocumentListener documentAdapter) { // defining interface method }
@Override public void addDocumentListener(IDocumentListener listener) { throw new RuntimeException("not implemented"); }
@Override public void removeDocumentListener(IDocumentListener listener) { throw new RuntimeException("not implemented"); }
@Override public void addPrenotifiedDocumentListener(IDocumentListener documentAdapter) { throw new RuntimeException("not implemented"); }
@Override public void removePrenotifiedDocumentListener(IDocumentListener documentAdapter) { throw new RuntimeException("not implemented"); }
/** * Important: keep for scripting */ public Class<IDocumentListener> getIDocumentListenerClass() { return IDocumentListener.class; }
/** * Creates a new command with the given specification. * * @param offset the offset of the replace command * @param length the length of the replace command * @param text the text to replace with, may be <code>null</code> * @param owner the document command owner, may be <code>null</code> * @since 3.0 */ public Command(int offset, int length, String text, IDocumentListener owner) { if (offset < 0 || length < 0) throw new IllegalArgumentException(); fOffset = offset; fLength = length; fText = text; fOwner = owner; }