Class Viewer
- All Implemented Interfaces:
IInputProvider,IInputSelectionProvider,ISelectionProvider
- Direct Known Subclasses:
AbstractViewer,ContentViewer,TextViewer
A viewer can be created as an adapter on a pre-existing control (e.g.,
creating a ListViewer on an existing List control).
All viewers also provide a convenience constructor for creating the control.
Implementing a concrete viewer typically involves the following steps:
- create SWT controls for viewer (in constructor) (optional)
- initialize SWT controls from input (inputChanged)
- define viewer-specific update methods
- support selections (
setSelection,getSelection)
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final StringUnique key for associating element data with widgets. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddHelpListener(HelpListener listener) Adds a listener for help requests in this viewer.voidAdds a listener for selection changes in this selection provider.protected voidfireHelpRequested(HelpEvent event) Notifies any help listeners that help has been requested.protected voidNotifies any selection changed listeners that the viewer's selection has changed.abstract ControlReturns the primary control associated with this viewer.Returns the value of the property with the given name, ornullif the property is not found.abstract ObjectgetInput()Returns the input.abstract ISelectionReturns the current selection for this provider.protected voidhandleHelpRequest(HelpEvent event) Handles a help request from the underlying SWT control.protected voidinputChanged(Object input, Object oldInput) Internal hook method called when the input to this viewer is initially set or subsequently changed.abstract voidrefresh()Refreshes this viewer completely with information freshly obtained from this viewer's model.voidremoveHelpListener(HelpListener listener) Removes the given help listener from this viewer.voidRemoves the given selection change listener from this selection provider.scrollDown(int x, int y) Scrolls the viewer's control down by one item from the given display-relative coordinates.scrollUp(int x, int y) Scrolls the viewer's control up by one item from the given display-relative coordinates.voidSets the value of the property with the given name to the given value, or tonullif the property is to be removed.abstract voidSets or clears the input for this viewer.voidsetSelection(ISelection selection) The viewer implementation of thisISelectionProvidermethod make the new selection for this viewer without making it visible.abstract voidsetSelection(ISelection selection, boolean reveal) Sets a new selection for this viewer and optionally makes it visible.
-
Field Details
-
WIDGET_DATA_KEY
Unique key for associating element data with widgets.
-
-
Constructor Details
-
Viewer
protected Viewer()Creates a new viewer.
-
-
Method Details
-
addHelpListener
Adds a listener for help requests in this viewer. Has no effect if an identical listener is already registered.- Parameters:
listener- a help listener
-
addSelectionChangedListener
Description copied from interface:ISelectionProviderAdds a listener for selection changes in this selection provider. Has no effect if an identical listener is already registered.- Specified by:
addSelectionChangedListenerin interfaceISelectionProvider- Parameters:
listener- a selection changed listener
-
fireHelpRequested
Notifies any help listeners that help has been requested. Only listeners registered at the time this method is called are notified.- Parameters:
event- a help event- See Also:
-
fireSelectionChanged
Notifies any selection changed listeners that the viewer's selection has changed. Only listeners registered at the time this method is called are notified.- Parameters:
event- a selection changed event- See Also:
-
getControl
Returns the primary control associated with this viewer.- Returns:
- the SWT control which displays this viewer's content
-
getData
Returns the value of the property with the given name, ornullif the property is not found.The default implementation performs a (linear) search of an internal table. Overriding this method is generally not required if the number of different keys is small. If a more efficient representation of a viewer's properties is required, override both
getDataandsetData.- Parameters:
key- the property name- Returns:
- the property value, or
nullif the property is not found
-
getInput
Description copied from interface:IInputProviderReturns the input.- Specified by:
getInputin interfaceIInputProvider- Returns:
- the input object
-
getSelection
Description copied from interface:ISelectionProviderReturns the current selection for this provider.- Specified by:
getSelectionin interfaceISelectionProvider- Returns:
- the current selection
-
handleHelpRequest
Handles a help request from the underlying SWT control. The default behavior is to fire a help request, with the event's data modified to hold this viewer.- Parameters:
event- the event
-
inputChanged
Internal hook method called when the input to this viewer is initially set or subsequently changed.The default implementation does nothing. Subclassers may override this method to do something when a viewer's input is set. A typical use is populate the viewer.
- Parameters:
input- the new input of this viewer, ornullif noneoldInput- the old input element ornullif there was previously no input
-
refresh
public abstract void refresh()Refreshes this viewer completely with information freshly obtained from this viewer's model. -
removeHelpListener
Removes the given help listener from this viewer. Has no effect if an identical listener is not registered.- Parameters:
listener- a help listener
-
removeSelectionChangedListener
Description copied from interface:ISelectionProviderRemoves the given selection change listener from this selection provider. Has no effect if an identical listener is not registered.- Specified by:
removeSelectionChangedListenerin interfaceISelectionProvider- Parameters:
listener- a selection changed listener
-
scrollDown
Scrolls the viewer's control down by one item from the given display-relative coordinates. Returns the newly revealed Item, ornullif no scrolling occurred or if the viewer doesn't represent an item-based widget.- Parameters:
x- horizontal coordinatey- vertical coordinate- Returns:
- the item scrolled down to
-
scrollUp
Scrolls the viewer's control up by one item from the given display-relative coordinates. Returns the newly revealed Item, ornullif no scrolling occurred or if the viewer doesn't represent an item-based widget.- Parameters:
x- horizontal coordinatey- vertical coordinate- Returns:
- the item scrolled up to
-
setData
Sets the value of the property with the given name to the given value, or tonullif the property is to be removed. If this viewer has such a property, its value is replaced; otherwise a new property is added.The default implementation records properties in an internal table which is searched linearly. Overriding this method is generally not required if the number of different keys is small. If a more efficient representation of a viewer's properties is required, override both
getDataandsetData.- Parameters:
key- the property namevalue- the property value, ornullif the property is not found
-
setInput
Sets or clears the input for this viewer.- Parameters:
input- the input of this viewer, ornullif none
-
setSelection
The viewer implementation of thisISelectionProvidermethod make the new selection for this viewer without making it visible.This method is equivalent to
setSelection(selection,false).Note that some implementations may not be able to set the selection without also revealing it, for example (as of 3.3) TreeViewer.
- Specified by:
setSelectionin interfaceISelectionProvider- Parameters:
selection- the new selection
-
setSelection
Sets a new selection for this viewer and optionally makes it visible.Subclasses must implement this method.
- Parameters:
selection- the new selectionreveal-trueif the selection is to be made visible, andfalseotherwise
-