Package org.eclipse.swt.events
Class SegmentEvent
java.lang.Object
java.util.EventObject
org.eclipse.swt.events.TypedEvent
org.eclipse.swt.events.SegmentEvent
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
BidiSegmentEvent
This event is sent to SegmentListeners when a text content is to be modified.
The segments field can be used in conjunction with the segmentsChars field or
by itself. Setting only the segmentsChars field has no effect. When used by
itself, the segments field specify text ranges that should be treated as
separate segments.
The elements in the segments field specify the start offset of a segment relative to the start of the text. They must follow the following rules:
- elements must be in ascending order and must not have duplicates
- elements must not exceed the text length
The segments field may be left null if the entire text content doesn't require segmentation.
A SegmentListener 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 text = "R1R2R3" + "R4R5R6" R1 to R6 are right-to-left characters. The quotation marks are part of the text. The text is 13 characters long. segments = null: entire text content will be reordered and thus the two R2L segments swapped (as per the bidi algorithm). visual display (rendered on screen) = "R6R5R4" + "R3R2R1" segments = [0, 5, 8] "R1R2R3" will be reordered, followed by [blank]+[blank] and "R4R5R6". visual display = "R3R2R1" + "R6R5R4"
The segments and segmentsChars fields can be used together to obtain different types of bidi reordering and text display. The application can use these two fields to insert Unicode Control Characters in specific offsets in the text, the character at segmentsChars[i] is inserted at the offset specified by segments[i]. When both fields are set, the rules for the segments field are less restrictive:
- elements must be in ascending order, duplicates are allowed
- elements must not exceed the text length
- Since:
- 3.8
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionint
The start offset of thelineText
relative to text (always zero for single line widget)Text used to calculate the segmentsint[]
Text ranges that should be treated as separate segments (e.g. for bidi reordering)char[]
Characters to be used in the segment boundaries (optional)Fields inherited from class org.eclipse.swt.events.TypedEvent
data, display, time, widget
Fields inherited from class java.util.EventObject
source
-
Constructor Summary
-
Method Summary
Methods inherited from class org.eclipse.swt.events.TypedEvent
toString
Methods inherited from class java.util.EventObject
getSource
-
Field Details
-
lineOffset
public int lineOffsetThe start offset of thelineText
relative to text (always zero for single line widget) -
lineText
Text used to calculate the segments -
segments
public int[] segmentsText ranges that should be treated as separate segments (e.g. for bidi reordering) -
segmentsChars
public char[] segmentsCharsCharacters to be used in the segment boundaries (optional)
-
-
Constructor Details
-
SegmentEvent
-