/*******************************************************************************
* Copyright (c) 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.gef.examples.text.requests;
import org.eclipse.gef.requests.SelectionRequest;
import org.eclipse.gef.examples.text.TextLocation;
import org.eclipse.gef.examples.text.edit.TextEditPart;
public class CaretRequest
extends SelectionRequest
{
public static final Object LOCATION = new Object();
public static final Object COLUMN = new Object();
public static final Object WORD_BOUNDARY = new Object();
public static final Object LINE_BOUNDARY = new Object();
public static final Object ROW = new Object();
public static final Object PARAGRAPH = new Object();
public static final Object WINDOW = new Object();
//public static final Object PAGE = new Object();
public static final Object DOCUMENT = new Object();
/**
* Indicates whether the search is forward in direction. If the value is
* <code>true</code>, the search should be performed in a forwards direction relative to
* the document structure. Otherwise the search is backwards.
*/
public boolean isForward = true;
/**
* Indicates that a search is being done by a parent element. If a search is recursive,
* the receiver should not implement the search by calling out to its container, since the
* container is the one performing the search.
*/
public boolean isRecursive;
/**
* Indicates that the first available result should be returned. For example, normally
* advancing left and right would skip over at least one character. But, if the caret is
* moving from the end of one paragraph to the beginning of another, the first character
* in the next paragraph should not be skipped. The search is moving the caret into the
* paragraph.
*/
public boolean isInto;
public TextLocation where;
public CaretRequest() {
}
public void setReferenceTextLocation(TextEditPart part, int offset) {
where = new TextLocation(part, offset);
}
public void setRecursive(boolean recursive) {
isRecursive = recursive;
}
}