1 /*******************************************************************************
2  * Copyright (c) 2000, 2007 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Contributors:
9  *     IBM Corporation - initial API and implementation
10  * Port to the D programming language:
11  *     Frank Benoit <benoit@tionex.de>
12  *******************************************************************************/
13 module org.eclipse.swt.custom.MovementListener;
14 
15 import org.eclipse.swt.internal.SWTEventListener;
16 import org.eclipse.swt.custom.MovementEvent;
17 
18 /**
19  * This listener is invoked when a new offset is required based on the current
20  * offset and a movement type.
21  *
22  * @see org.eclipse.swt.SWT#MOVEMENT_WORD
23  * @see org.eclipse.swt.SWT#MOVEMENT_WORD_END
24  * @see org.eclipse.swt.SWT#MOVEMENT_WORD_START
25  * @see org.eclipse.swt.SWT#MOVEMENT_CHAR
26  * @see org.eclipse.swt.SWT#MOVEMENT_CLUSTER
27  *
28  * @since 3.3
29  */
30 public interface MovementListener : SWTEventListener {
31 /**
32  * This method is called when a new offset is required based on the current
33  * offset and a movement type.
34  *
35  * <p>
36  * The following event fields are used:<ul>
37  * <li>event.lineOffset line start offset (input)</li>
38  * <li>event.lineText line text (input)</li>
39  * <li>event.movement the movement type (input)</li>
40  * <li>event.offset the current offset (input)</li>
41  * <li>event.newOffset the new offset (input, output)</li>
42  * </ul>
43  *
44  * @param event the event
45  *
46  * @see MovementEvent
47  * @see StyledText#addWordMovementListener(MovementListener)
48  */
49 public void getNextOffset (MovementEvent event);
50 /**
51  * This method is called when a new offset is required based on the current
52  * offset and a movement type.
53  *
54  * <p>
55  * The following event fields are used:<ul>
56  * <li>event.lineOffset line start offset (input)</li>
57  * <li>event.lineText line text (input)</li>
58  * <li>event.movement the movement type (input)</li>
59  * <li>event.offset the current offset (input)</li>
60  * <li>event.newOffset the new offset (input, output)</li>
61  * </ul>
62  *
63  * @param event the event
64  *
65  * @see MovementEvent
66  * @see StyledText#addWordMovementListener(MovementListener)
67  */
68 public void getPreviousOffset (MovementEvent event);
69 
70 }