|
|||||||||
| Home >> All >> org >> eclipse >> jface >> [ viewers overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.eclipse.jface.viewers
Class ContentViewer

java.lang.Objectorg.eclipse.jface.viewers.Viewer
org.eclipse.jface.viewers.ContentViewer
- All Implemented Interfaces:
- IInputProvider, IInputSelectionProvider, ISelectionProvider
- Direct Known Subclasses:
- StructuredViewer
- public abstract class ContentViewer
- extends Viewer
A content viewer is a model-based adapter on a widget which accesses its model by means of a content provider and a label provider.
A viewer's model consists of elements, represented by objects.
A viewer defines and implements generic infrastructure for handling model
input, updates, and selections in terms of elements.
Input is obtained by querying an IContentProvider which returns
elements. The elements themselves are not displayed directly. They are
mapped to labels, containing text and/or an image, using the viewer's
ILabelProvider.
Implementing a concrete content 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 | |
private IContentProvider |
contentProvider
This viewer's content provider, or null if none. |
private java.lang.Object |
input
This viewer's input, or null if none. |
private IBaseLabelProvider |
labelProvider
This viewer's label provider. |
private ILabelProviderListener |
labelProviderListener
This viewer's label provider listener. |
| Fields inherited from class org.eclipse.jface.viewers.Viewer |
WIDGET_DATA_KEY |
| Constructor Summary | |
protected |
ContentViewer()
Creates a content viewer with no input, no content provider, and a default label provider. |
| Method Summary | |
IContentProvider |
getContentProvider()
Returns the content provider used by this viewer, or null if this view does not yet have a content
provider. |
java.lang.Object |
getInput()
The ContentViewer implementation of this IInputProvider
method returns the current input of this viewer, or null
if none. |
IBaseLabelProvider |
getLabelProvider()
Returns the label provider used by this viewer. |
protected void |
handleDispose(org.eclipse.swt.events.DisposeEvent event)
Handles a dispose event on this viewer's control. |
protected void |
handleLabelProviderChanged(LabelProviderChangedEvent event)
Handles a label provider changed event. |
protected void |
hookControl(org.eclipse.swt.widgets.Control control)
Adds event listener hooks to the given control. |
protected void |
labelProviderChanged()
Notifies that the label provider has changed. |
void |
setContentProvider(IContentProvider contentProvider)
Sets the content provider used by this viewer. |
void |
setInput(java.lang.Object input)
The ContentViewer implementation of this Viewer
method invokes inputChanged on the content provider and then the
inputChanged hook method. |
void |
setLabelProvider(IBaseLabelProvider labelProvider)
Sets the label provider for this viewer. |
| Methods inherited from class org.eclipse.jface.viewers.Viewer |
addHelpListener, addSelectionChangedListener, fireHelpRequested, fireSelectionChanged, getControl, getData, getSelection, handleHelpRequest, inputChanged, refresh, removeHelpListener, removeSelectionChangedListener, scrollDown, scrollUp, setData, setSelection, setSelection |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
contentProvider
private IContentProvider contentProvider
- This viewer's content provider, or
nullif none.
input
private java.lang.Object input
- This viewer's input, or
nullif none. The viewer's input provides the "model" for the viewer's content.
labelProvider
private IBaseLabelProvider labelProvider
- This viewer's label provider. Initially
null, but lazily initialized (to aSimpleLabelProvider).
labelProviderListener
private final ILabelProviderListener labelProviderListener
- This viewer's label provider listener.
Note: Having a viewer register a label provider listener with
a label provider avoids having to define public methods
for internal events.
| Constructor Detail |
ContentViewer
protected ContentViewer()
- Creates a content viewer with no input, no content provider, and a
default label provider.
| Method Detail |
getContentProvider
public IContentProvider getContentProvider()
- Returns the content provider used by this viewer,
or
nullif this view does not yet have a content provider.The
ContentViewerimplementation of this method returns the content provider recorded is an internal state variable. Overriding this method is generally not required; however, if overriding in a subclass,super.getContentProvidermust be invoked.
getInput
public java.lang.Object getInput()
- The
ContentViewerimplementation of thisIInputProvidermethod returns the current input of this viewer, ornullif none. The viewer's input provides the "model" for the viewer's content.- Specified by:
getInputin interfaceIInputProvider- Specified by:
getInputin classViewer
getLabelProvider
public IBaseLabelProvider getLabelProvider()
- Returns the label provider used by this viewer.
The
ContentViewerimplementation of this method returns the label provider recorded in an internal state variable; if none has been set (withsetLabelProvider) aSimpleLabelProviderwill be created, remembered, and returned. Overriding this method is generally not required; however, if overriding in a subclass,super.getLabelProvidermust be invoked.
handleDispose
protected void handleDispose(org.eclipse.swt.events.DisposeEvent event)
- Handles a dispose event on this viewer's control.
The
ContentViewerimplementation of this method disposes of this viewer's label provider and content provider (if it has one). Subclasses should override this method to perform any additional cleanup of resources; however, overriding methods must invokesuper.handleDispose.
handleLabelProviderChanged
protected void handleLabelProviderChanged(LabelProviderChangedEvent event)
- Handles a label provider changed event.
The
ContentViewerimplementation of this method callslabelProviderChanged()to cause a complete refresh of the viewer. Subclasses may reimplement or extend.
hookControl
protected void hookControl(org.eclipse.swt.widgets.Control control)
- Adds event listener hooks to the given control.
All subclasses must call this method when their control is first established.
The
ContentViewerimplementation of this method hooks dispose events for the given control. Subclasses may override if they need to add other control hooks; however,super.hookControlmust be invoked.
labelProviderChanged
protected void labelProviderChanged()
- Notifies that the label provider has changed.
The
ContentViewerimplementation of this method callsrefresh(). Subclasses may reimplement or extend.
setContentProvider
public void setContentProvider(IContentProvider contentProvider)
- Sets the content provider used by this viewer.
The
ContentViewerimplementation of this method records the content provider in an internal state variable. Overriding this method is generally not required; however, if overriding in a subclass,super.setContentProvidermust be invoked.
setInput
public void setInput(java.lang.Object input)
- The
ContentViewerimplementation of thisViewermethod invokesinputChangedon the content provider and then theinputChangedhook method. This method fails if this viewer does not have a content provider. Subclassers are advised to overrideinputChangedrather than this method, but may extend this method if required.
setLabelProvider
public void setLabelProvider(IBaseLabelProvider labelProvider)
- Sets the label provider for this viewer.
The
ContentViewerimplementation of this method ensures that the given label provider is connected to this viewer and the former label provider is disconnected from this viewer. Overriding this method is generally not required; however, if overriding in a subclass,super.setLabelProvidermust be invoked.
|
|||||||||
| Home >> All >> org >> eclipse >> jface >> [ viewers overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC