| /******************************************************************************* |
| * Copyright (c) 2000, 2005 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.jface.text; |
| |
| |
| /** |
| * This event is sent to implementers of |
| * {@link org.eclipse.jface.text.ITextListener}. It represents a change applied |
| * to text viewer. The change is specified as a replace command using offset, |
| * length, inserted text, and replaced text. The text viewer issues a text event |
| * after the viewer has been changed either in response to a change of the |
| * viewer's document or when the viewer's visual content has been changed. In |
| * the first case, the text event also carries the original document event. |
| * Depending on the viewer's presentation mode, the text event coordinates are |
| * different from the document event's coordinates. |
| * <p> |
| * An empty text event usually indicates a change of the viewer's redraw state.</p> |
| * <p> |
| * Clients other than text viewer's don't create instances of this class.</p> |
| * |
| * @see org.eclipse.jface.text.ITextListener |
| * @see org.eclipse.jface.text.ITextViewer |
| * @see org.eclipse.jface.text.DocumentEvent |
| */ |
| public class TextEvent { |
| |
| /** Start offset of the change */ |
| private int fOffset; |
| /** The length of the change */ |
| private int fLength; |
| /** Inserted text */ |
| private String fText; |
| /** Replaced text */ |
| private String fReplacedText; |
| /** The original document event, may by null */ |
| private DocumentEvent fDocumentEvent; |
| /** |
| * The redraw state of the viewer issuing this event |
| * @since 2.0 |
| */ |
| private boolean fViewerRedrawState; |
| |
| /** |
| * Creates a new <code>TextEvent</code> based on the specification. |
| * |
| * @param offset the offset |
| * @param length the length |
| * @param text the inserted text |
| * @param replacedText the replaced text |
| * @param event the associated document event or <code>null</code> if none |
| * @param viewerRedrawState the redraw state of the viewer |
| */ |
| protected TextEvent(int offset, int length, String text, String replacedText, DocumentEvent event, boolean viewerRedrawState) { |
| fOffset= offset; |
| fLength= length; |
| fText= text; |
| fReplacedText= replacedText; |
| fDocumentEvent= event; |
| fViewerRedrawState= viewerRedrawState; |
| } |
| |
| /** |
| * Returns the offset of the event. |
| * |
| * @return the offset of the event |
| */ |
| public int getOffset() { |
| return fOffset; |
| } |
| |
| /** |
| * Returns the length of the event. |
| * |
| * @return the length of the event |
| */ |
| public int getLength() { |
| return fLength; |
| } |
| |
| /** |
| * Returns the text of the event. |
| * |
| * @return the text of the event |
| */ |
| public String getText() { |
| return fText; |
| } |
| |
| /** |
| * Returns the text replaced by this event. |
| * |
| * @return the text replaced by this event |
| */ |
| public String getReplacedText() { |
| return fReplacedText; |
| } |
| |
| /** |
| * Returns the corresponding document event that caused the viewer change |
| * |
| * @return the corresponding document event, <code>null</code> if a visual change only |
| */ |
| public DocumentEvent getDocumentEvent() { |
| return fDocumentEvent; |
| } |
| |
| /** |
| * Returns the viewer's redraw state. |
| * |
| * @return <code>true</code> if the viewer's redraw state is <code>true</code> |
| * @since 2.0 |
| */ |
| public boolean getViewerRedrawState() { |
| return fViewerRedrawState; |
| } |
| } |