/* * BufferListener.java - Buffer listener interface * :tabSize=4:indentSize=4:noTabs=false: * :folding=explicit:collapseFolds=1: * * Copyright (C) 2001, 2005 Slava Pestov * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package org.gjt.sp.jedit.buffer; /** * A interface for notification of changes to buffer text.<p> * * This interface is new in jEdit 4.3pre3. The text area was made independent * of the rest of jEdit, and thus this class could no longer depend on * <code>org.gjt.sp.jedit.Buffer</code>.<p> * * While the * {@link org.gjt.sp.jedit.msg.BufferUpdate} EditBus message is used for * general buffer state changes, this interface is used for events which are * fired frequently, or for which performance is essential.<p> * * Because this interface is subject to change in the future, you * should subclass <code>BufferAdapter</code> instead of * implementing it directly. * * @author Slava Pestov * @version $Id: BufferListener.java 21831 2012-06-18 22:54:17Z ezust $ * @since jEdit 4.3pre3 */ public interface BufferListener { //{{{ foldLevelChanged() method /** * Called when line fold levels change. * @param buffer The buffer in question * @param startLine The start line number * @param endLine The end line number * @since jEdit 4.3pre3 */ void foldLevelChanged(JEditBuffer buffer, int startLine, int endLine); //}}} //{{{ contentInserted() method /** * Called when text is inserted into the buffer. * @param buffer The buffer in question * @param startLine The first line * @param offset The start offset, from the beginning of the buffer * @param numLines The number of lines inserted * @param length The number of characters inserted * @since jEdit 4.3pre3 */ void contentInserted(JEditBuffer buffer, int startLine, int offset, int numLines, int length); //}}} //{{{ contentRemoved() method /** * Called when text is removed from the buffer. * @param buffer The buffer in question * @param startLine The first line * @param offset The start offset, from the beginning of the buffer * @param numLines The number of lines removed * @param length The number of characters removed * @since jEdit 4.3pre3 */ void contentRemoved(JEditBuffer buffer, int startLine, int offset, int numLines, int length); //}}} //{{{ preContentInserted() method /** * Called when text is about to be inserted in the buffer. * @param buffer The buffer in question * @param startLine The first line * @param offset The start offset, from the beginning of the buffer * @param numLines The number of lines inserted * @param length The number of characters inserted * @since jEdit 4.3pre11 */ void preContentInserted(JEditBuffer buffer, int startLine, int offset, int numLines, int length); //}}} //{{{ preContentRemoved() method /** * Called when text is about to be removed from the buffer, but is * still present. * @param buffer The buffer in question * @param startLine The first line * @param offset The start offset, from the beginning of the buffer * @param numLines The number of lines to be removed * @param length The number of characters to be removed * @since jEdit 4.3pre3 */ void preContentRemoved(JEditBuffer buffer, int startLine, int offset, int numLines, int length); //}}} //{{{ transactionComplete() method /** * Called after an undo or compound edit has finished. The text area * uses this event to queue up and collapse cleanup operations so they * are only run once during a long transaction (such as a "Replace All" * operation.) * * @param buffer The buffer in question * @since jEdit 4.3pre3 */ void transactionComplete(JEditBuffer buffer); //}}} //{{{ foldHandlerChanged() method /** * Called to notify the text area that folds need to be collapsed if * the "collapseFolds" property is set. This method is called after the * buffer has been loaded, and also if the user changes the fold * handler. * * @param buffer The buffer in question * @since jEdit 4.3pre3 */ void foldHandlerChanged(JEditBuffer buffer); //}}} //{{{ foldHandlerChanged() method /** * Called to notify the text area that the buffer has been reloaded. * * @param buffer The buffer in question * @since jEdit 4.3pre3 */ void bufferLoaded(JEditBuffer buffer); //}}} }