/*******************************************************************************
 * Copyright (c) 2000, 2011 IBM Corporation and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.swt.custom;


import org.eclipse.swt.events.*;

/**
 * This event is sent by the StyledTextContent implementor when a change
 * to the text is about to occur.
 *
 * @see <a href="https://eclipse.dev/eclipse/swt/">Sample code and further information</a>
 */
public class TextChangingEvent extends TypedEvent {
	/**
	 * Start offset of the text that is going to be replaced
	 */
	public int start;
	/**
	 * Text that is going to be inserted or empty string
	 * if no text will be inserted
	 */
	public String newText;
	/**
	 * Length of text that is going to be replaced
	 */
	public int replaceCharCount;
	/**
	 * Length of text that is going to be inserted
	 */
	public int newCharCount;
	/**
	 * Number of lines that are going to be replaced
	 */
	public int replaceLineCount;
	/**
	 * Number of new lines that are going to be inserted
	 */
	public int newLineCount;

	static final long serialVersionUID = 3257290210114352439L;

/**
 * Create the TextChangedEvent to be used by the StyledTextContent implementor.
 *
 * @param source the object that will be sending the new TextChangingEvent,
 * 	cannot be null
 */
public TextChangingEvent(StyledTextContent source) {
	super(source);
}
TextChangingEvent(StyledTextContent source, StyledTextEvent e) {
	super(source);
	start = e.start;
	replaceCharCount = e.replaceCharCount;
	newCharCount = e.newCharCount;
	replaceLineCount = e.replaceLineCount;
	newLineCount = e.newLineCount;
	newText = e.text;
}

}
