Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.swt.custom
Class BidiSegmentEvent

    java.lang.Object
      java.util.EventObject
          org.eclipse.swt.internal.SWTEventObject
              org.eclipse.swt.events.TypedEvent
                  org.eclipse.swt.custom.BidiSegmentEvent

All Implemented Interfaces:
  Serializable

public class BidiSegmentEvent
extends TypedEvent

This event is sent to BidiSegmentListeners when a line is to be measured or rendered in a bidi locale. The segments field is used to specify text ranges in the line that should be treated as separate segments for bidi reordering. Each segment will be reordered and rendered separately.

The elements in the segments field specify the start offset of a segment relative to the start of the line. They must follow the following rules:

- first element must be 0
- elements must be in ascending order and must not have duplicates
- elements must not exceed the line length

In addition, the last element may be set to the end of the line but this is not required. The segments field may be left null if the entire line should be reordered as is. A BidiSegmentListener may be used when adjacent segments of right-to-left text should not be reordered relative to each other. For example, within a Java editor, you may wish multiple right-to-left string literals to be reordered differently than the bidi algorithm specifies. Example:

     	stored line = "R1R2R3" + "R4R5R6"
    		R1 to R6 are right-to-left characters. The quotation marks
     		are part of the line text. The line is 13 characters long.

     	segments = null:
     		entire line will be reordered and thus the two R2L segments
     		swapped (as per the bidi algorithm).
    		visual line (rendered on screen) = "R6R5R4" + "R3R2R1"

     	segments = [0, 5, 8]
     		"R1R2R3" will be reordered, followed by [blank]+[blank] and
     		"R4R5R6".
    		visual line = "R3R2R1" + "R6R5R4"

See Also:
  Serialized Form

Field Summary
`int` | `lineOffset` line start offset
`String` | `lineText` line text
`int[]` | `segments` bidi segments, see above

Fields inherited from class org.eclipse.swt.events.TypedEvent
`data, display, time, widget`

Fields inherited from class java.util.EventObject
`source`

Methods inherited from class org.eclipse.swt.events.TypedEvent
`toString`

Methods inherited from class java.util.EventObject
`getSource`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### lineOffset

    public int lineOffset

  line start offset

### lineText

    public String lineText

  line text

### segments

    public int[] segments

  bidi segments, see above

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.