public abstract class Viewer extends Object implements IInputSelectionProvider
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:
setSelection, getSelection)
| Modifier and Type | Field and Description |
|---|---|
protected static String |
WIDGET_DATA_KEY
Unique key for associating element data with widgets.
|
| Modifier | Constructor and Description |
|---|---|
protected |
Viewer()
Creates a new viewer.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addHelpListener(HelpListener listener)
Adds a listener for help requests in this viewer.
|
void |
addSelectionChangedListener(ISelectionChangedListener listener)
Adds a listener for selection changes in this selection provider.
|
protected void |
fireHelpRequested(HelpEvent event)
Notifies any help listeners that help has been requested.
|
protected void |
fireSelectionChanged(SelectionChangedEvent event)
Notifies any selection changed listeners that the viewer's selection has changed.
|
abstract Control |
getControl()
Returns the primary control associated with this viewer.
|
Object |
getData(String key)
Returns the value of the property with the given name,
or
null if the property is not found. |
abstract Object |
getInput()
Returns the input.
|
abstract ISelection |
getSelection()
Returns the current selection for this provider.
|
protected void |
handleHelpRequest(HelpEvent event)
Handles a help request from the underlying SWT control.
|
protected void |
inputChanged(Object input,
Object oldInput)
Internal hook method called when the input to this viewer is
initially set or subsequently changed.
|
abstract void |
refresh()
Refreshes this viewer completely with information freshly obtained from this
viewer's model.
|
void |
removeHelpListener(HelpListener listener)
Removes the given help listener from this viewer.
|
void |
removeSelectionChangedListener(ISelectionChangedListener listener)
Removes the given selection change listener from this selection provider.
|
Item |
scrollDown(int x,
int y)
Scrolls the viewer's control down by one item from the given
display-relative coordinates.
|
Item |
scrollUp(int x,
int y)
Scrolls the viewer's control up by one item from the given
display-relative coordinates.
|
void |
setData(String key,
Object value)
Sets the value of the property with the given name to the
given value, or to
null if the property is to be
removed. |
abstract void |
setInput(Object input)
Sets or clears the input for this viewer.
|
void |
setSelection(ISelection selection)
The viewer implementation of this
ISelectionProvider
method make the new selection for this viewer without making it visible. |
abstract void |
setSelection(ISelection selection,
boolean reveal)
Sets a new selection for this viewer and optionally makes it visible.
|
protected static final String WIDGET_DATA_KEY
public void addHelpListener(HelpListener listener)
listener - a help listenerpublic void addSelectionChangedListener(ISelectionChangedListener listener)
ISelectionProvideraddSelectionChangedListener in interface ISelectionProviderlistener - a selection changed listenerprotected void fireHelpRequested(HelpEvent event)
event - a help eventHelpListener.helpRequested(org.eclipse.swt.events.HelpEvent)protected void fireSelectionChanged(SelectionChangedEvent event)
event - a selection changed eventISelectionChangedListener.selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)public abstract Control getControl()
public Object getData(String key)
null if 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 getData and setData.
key - the property namenull if
the property is not foundpublic abstract Object getInput()
IInputProvidergetInput in interface IInputProviderpublic abstract ISelection getSelection()
ISelectionProvidergetSelection in interface ISelectionProviderprotected void handleHelpRequest(HelpEvent event)
protected void inputChanged(Object input, Object oldInput)
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.
input - the new input of this viewer, or null if noneoldInput - the old input element or null if there
was previously no inputpublic abstract void refresh()
public void removeHelpListener(HelpListener listener)
listener - a help listenerpublic void removeSelectionChangedListener(ISelectionChangedListener listener)
ISelectionProviderremoveSelectionChangedListener in interface ISelectionProviderlistener - a selection changed listenerpublic Item scrollDown(int x, int y)
null if no scrolling occurred or if the viewer
doesn't represent an item-based widget.x - horizontal coordinatey - vertical coordinatepublic Item scrollUp(int x, int y)
null if no scrolling occurred or if the viewer
doesn't represent an item-based widget.x - horizontal coordinatey - vertical coordinatepublic void setData(String key, Object value)
null if 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 getData and setData.
key - the property namevalue - the property value, or null if
the property is not foundpublic abstract void setInput(Object input)
input - the input of this viewer, or null if nonepublic void setSelection(ISelection selection)
ISelectionProvider
method make the new selection for this viewer without making it visible.
This method is equivalent to setSelection(selection,false).
setSelection in interface ISelectionProviderselection - the new selectionpublic abstract void setSelection(ISelection selection, boolean reveal)
Subclasses must implement this method.
selection - the new selectionreveal - true if the selection is to be made
visible, and false otherwiseGuidelines for using Eclipse APIs. Copyright (c) IBM Corp. and others 2000, 2006. All rights reserved.