view dwt/custom/MovementEvent.d @ 108:0f12f6bb9739

author notice
author Frank Benoit <benoit@tionex.de>
date Fri, 18 Jan 2008 21:29:59 +0100
parents 0179b2e17eb2
children 380bad9f6852
line wrap: on
line source

/*******************************************************************************
 * Copyright (c) 2000, 2007 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
 * Port to the D programming language:
 *     Frank Benoit <benoit@tionex.de>
 *******************************************************************************/
module dwt.custom.MovementEvent;

import dwt.events.TypedEvent;
import dwt.custom.StyledTextEvent;

/**
 * This event is sent when a new offset is required based on the current
 * offset and a movement type.
 *
 * @since 3.3
 */
public class MovementEvent : TypedEvent {

    /**
     * line start offset (input)
     */
    public int lineOffset;

    /**
     * line text (input)
     */
    public char[] lineText;

    /**
     * the current offset (input)
     */
    public int offset;

    /**
     * the new offset  (input, output)
     */
    public int newOffset;

    /**
     * the movement type (input)
     *
     * @see dwt.DWT#MOVEMENT_WORD
     * @see dwt.DWT#MOVEMENT_WORD_END
     * @see dwt.DWT#MOVEMENT_WORD_START
     * @see dwt.DWT#MOVEMENT_CHAR
     * @see dwt.DWT#MOVEMENT_CLUSTER
     */
    public int movement;

    static final long serialVersionUID = 3978765487853324342L;

public this(StyledTextEvent e) {
    super(cast(Object)e);
    lineOffset = e.detail;
    lineText = e.text;
    movement = e.count;
    offset = e.start;
    newOffset = e.end;
}
}