public void getChars(int where, int len, Segment txt) throws BadLocationException { CharBuffer b = buffer; int start = b.getSegment(where, len); if (start < 0) throw new BadLocationException("invalid offset", where); txt.offset = start; txt.array = b.getArray(); txt.count = len; }
public SwingContent(int initialSize) { CharBuffer b = new CharBuffer(initialSize); // Swing assumes that a Content object is initialized to contain // a single '\n'. This of course is not clearly documented ... b.gapEnd = initialSize - 1; b.getArray()[b.gapEnd] = '\n'; this.buffer = b; }
public UndoableEdit insertString(int where, String str, boolean beforeMarkers) throws BadLocationException { CharBuffer b = buffer; if (where < 0 || where > b.length()) throw new BadLocationException("bad insert", where); b.insert(where, str, beforeMarkers); GapUndoableEdit undo = new GapUndoableEdit(where); undo.content = this; undo.data = str; undo.nitems = str.length(); undo.isInsertion = true; return undo; }
public UndoableEdit remove(int where, int nitems) throws BadLocationException { CharBuffer b = buffer; if (nitems < 0 || where < 0 || where + nitems > b.length()) throw new BadLocationException("invalid remove", where); b.delete(where, nitems); GapUndoableEdit undo = new GapUndoableEdit(where); undo.content = this; undo.data = new String(b.getArray(), b.gapEnd - nitems, nitems); undo.nitems = nitems; undo.isInsertion = false; return undo; }
public javax.swing.text.Position createPosition(int offset) throws BadLocationException { CharBuffer b = buffer; if (offset < 0 || offset > b.length()) throw new BadLocationException("bad offset to createPosition", offset); return new GapPosition(b, offset); }
public String getString(int where, int len) throws BadLocationException { CharBuffer b = buffer; int start = b.getSegment(where, len); if (start < 0) throw new BadLocationException("invalid offset", where); return new String(b.getArray(), start, len); }
public int length() { return buffer.length(); }