Class TraverseEvent
 The traversal event allows fine control over keyboard traversal in a control
 both to implement traversal and override the default traversal behavior
 defined by the system. This is achieved using two fields, detail
 and doit.
 
 When a control is traversed, a traverse event is sent. The detail describes
 the type of traversal and the doit field indicates the default behavior of
 the system. For example, when a right arrow key is pressed in a text control,
 the detail field is TRAVERSE_ARROW_NEXT and the doit field is
 false, indicating that the system will not traverse to the next
 tab item and the arrow key will be delivered to the text control. If the same
 key is pressed in a radio button, the doit field will be true,
 indicating that traversal is to proceed to the next tab item, possibly
 another radio button in the group and that the arrow key is not to be
 delivered to the radio button.
 
 How can the traversal event be used to implement traversal? When a tab key is
 pressed in a canvas, the detail field will be TRAVERSE_TAB_NEXT
 and the doit field will be false. The default behavior of the
 system is to provide no traversal for canvas controls. This means that by
 default in a canvas, a key listener will see every key that the user types,
 including traversal keys. To understand why this is so, it is important to
 understand that only the widget implementor can decide which traversal is
 appropriate for the widget. Returning to the TRAVERSE_TAB_NEXT
 example, a text widget implemented by a canvas would typically want to use
 the tab key to insert a tab character into the widget. A list widget
 implementation, on the other hand, would like the system default traversal
 behavior. Using only the doit flag, both implementations are possible. The
 text widget implementor sets doit to false, ensuring that the
 system will not traverse and that the tab key will be delivered to key
 listeners. The list widget implementor sets doit to true,
 indicating that the system should perform tab traversal and that the key
 should not be delivered to the list widget.
 
 How can the traversal event be used to override system traversal? When the
 return key is pressed in a single line text control, the detail field is
 TRAVERSE_RETURN and the doit field is true. This
 means that the return key will be processed by the default button, not the
 text widget. If the text widget has a default selection listener, it will not
 run because the return key will be processed by the default button. Imagine
 that the text control is being used as an in-place editor and return is used
 to dispose the widget. Setting doit to false will stop the
 system from activating the default button but the key will be delivered to
 the text control, running the key and selection listeners for the text. How
 can TRAVERSE_RETURN be implemented so that the default button
 will not be activated and the text widget will not see the return key? This
 is achieved by setting doit to true, and the detail to
 TRAVERSE_NONE.
 
Note: A widget implementor will typically implement traversal using only the doit flag to either enable or disable system traversal.
- Since:
- 1.2
- See Also:
- 
Field SummaryFieldsFields inherited from class org.eclipse.swt.events.TypedEventdata, display, time, widget
- 
Constructor SummaryConstructorsConstructorDescriptionConstructs a new instance of this class based on the information in the given untyped event.
- 
Method Summary
- 
Field Details- 
detailpublic int detailThe traversal type.- SWT.TRAVERSE_NONE
- SWT.TRAVERSE_ESCAPE
- SWT.TRAVERSE_RETURN
- SWT.TRAVERSE_TAB_NEXT
- SWT.TRAVERSE_TAB_PREVIOUS
 TRAVERSE_NONEcauses no traversal action to be taken. When used in conjunction with thedoitfield, the traversal detail field can be useful when overriding the default traversal mechanism for a control. For example, setting the doit field tofalsewill cancel the operation and allow the traversal key stroke to be delivered to the control. Setting the doit field totrueindicates that the traversal described by the detail field is to be performed.
 
- 
- 
Constructor Details- 
TraverseEventConstructs a new instance of this class based on the information in the given untyped event.- Parameters:
- e- the untyped event containing the information
 
 
- 
- 
Method Details