Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

## Package org.eclipse.jface.viewers

Provides a framework for viewers, which are model-based content adapters for SWT widgets.

See:
Description

Interface Summary
IBaseLabelProvider | A label provider maps an element of the viewer's model to an optional image and optional text string used to display the element in the viewer's control.
IBasicPropertyConstants | Predefined property names used for elements displayed in viewers.
ICellEditorListener | A listener which is notified of significant events in the life of a cell editor.
ICellEditorValidator | An interface for validating a cell editor's input.
ICellModifier | A cell modifier is used to access the data model from a cell editor in an abstract way.
ICheckable | Interface for objects that support elements with a checked state.
ICheckStateListener | A listener which is notified of changes to the checked state of items in checkbox viewers.
IColorProvider | Interface to provide color representation for a given element.
IContentProvider | A content provider mediates between the viewer's model and the viewer itself.
IDecoration | Defines the result of decorating an element.
IDelayedLabelDecorator | A delayed label decorator is a label decorator that may not have a decoration available immidiately.
IDoubleClickListener | A listener which is notified of double-click events on viewers.
IElementComparer | This interface is used to compare elements in a viewer for equality, and to provide the hash code for an element.
IFontProvider | Interface to provide font representation for a given element.
IInputProvider | Interface common to all objects that provide an input.
IInputSelectionProvider | Interface common to all objects that provide both an input and a selection.
ILabelDecorator | A label decorator decorates the label text and image for some element.
ILabelProvider | Extends `IBaseLabelProvider` with the methods to provide the text and/or image for the label of a given element.
ILabelProviderListener | A listener which is notified when a label provider's state changes.
ILightweightLabelDecorator | The `ILightweightLabelDecorator` is a decorator that decorates using a prefix, suffix and overlay image rather than doing all of the image and text management itself like an `ILabelDecorator`.
IOpenListener | A listener which is notified of open events on viewers.
IPostSelectionProvider | Selection provider extension interface to allow providers to notify about post selection changed events.
ISelection | Interface for a selection.
ISelectionChangedListener | A listener which is notified when a viewer's selection changes.
ISelectionProvider | Interface common to all objects that provide a selection.
IStructuredContentProvider | An interface to content providers for structured viewers.
IStructuredSelection | A selection containing elements.
ITableLabelProvider | Extends `IBaseLabelProvider` with the methods to provide the text and/or image for each column of a given element.
ITreeContentProvider | An interface to content providers for tree-structure-oriented viewers.
ITreeViewerListener | A listener which is notified when a tree viewer expands or collapses a node.
IViewerLabelProvider | Extends `IBaseLabelProvider` with the methods to update the label for a given element.

Class Summary
AbstractListViewer | Abstract base class for viewers that contain lists of items (such as a combo or list).
AbstractTreeViewer | Abstract base implementation for tree-structure-oriented viewers (trees and table trees).
ArrayContentProvider | This implementation of `IStructuredContentProvider` handles the case where the viewer input is an unchanging array or collection of elements.
CellEditor | Abstract base class for cell editors.
CellEditor.LayoutData | Struct-like layout data for cell editors, with reasonable defaults for all fields.
CheckboxCellEditor | A cell editor that manages a checkbox.
CheckboxTableViewer | A concrete viewer based on an SWT `Table` control with checkboxes on each node.
CheckboxTreeViewer | A concrete tree-structured viewer based on an SWT `Tree` control with checkboxes on each node.
CheckStateChangedEvent | Event object describing a change to the checked state of a viewer element.
ColorCellEditor | A cell editor that manages a color field.
ColumnLayoutData | An abstract column layout data describing the information needed (by `TableLayout`) to properly lay out a table.
ColumnPixelData | Describes the width of a table column in pixels, and whether the column is resizable.
ColumnWeightData | Describes the width of a table column in terms of a weight, a minimum width, and whether the column is resizable.
ComboBoxCellEditor | A cell editor that presents a list of items in a combo box.
ComboViewer | A concrete viewer based on an SWT `Combo` control.
ContentViewer | 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.
DecoratingLabelProvider | A decorating label provider is a label provider which combines a nested label provider and an optional decorator.
DialogCellEditor | An abstract cell editor that uses a dialog.
DoubleClickEvent | Event object describing a double-click.
LabelProvider | A label provider implementation which, by default, uses an element's `toString` value for its text and `null` for its image.
LabelProviderChangedEvent | Event object describing a label provider state change.
ListViewer | A concrete viewer based on an SWT `List` control.
OpenEvent | Event object describing an open which may be generated from a selection or default selection event.
SelectionChangedEvent | Event object describing a selection change.
StructuredSelection | A concrete implementation of the `IStructuredSelection` interface, suitable for instantiating.
StructuredViewer | Abstract base implementation for structure-oriented viewers (trees, lists, tables).
TableLayout | A layout for a table.
TableTreeViewer | A concrete viewer based on a SWT `TableTree` control.
TableViewer | A concrete viewer based on a SWT `Table` control.
TextCellEditor | A cell editor that manages a text entry field.
TreeExpansionEvent | Event object describing a tree node being expanded or collapsed.
TreeViewer | A concrete viewer based on an SWT `Tree` control.
Viewer | A viewer is a model-based adapter on a widget.
ViewerDropAdapter | This adapter class provides generic drag-and-drop support for a viewer.
ViewerFilter | A viewer filter is used by a structured viewer to extract a subset of elements provided by its content provider.
ViewerLabel | The ViewerLabel is the class that is passed to a viewer to handle updates of labels.
ViewerSorter | A viewer sorter is used by a structured viewer to reorder the elements provided by its content provider.

## Package org.eclipse.jface.viewers Description

Provides a framework for viewers, which are model-based content adapters for SWT widgets.

## Package Specification

A viewer is a model-based adapter on an SWT widget. Each viewer has four parts:

> - an input - the object that serves as the viewer's model
> - a widget - the SWT control through which the viewer's model is displayed
> - a content provider - mediates between the model and viewer
> - a label provider - maps model objects to displayable labels containing text and/or an image

This package contains the viewer framework. The viewer framework is an independent JFace module. Using it requires a knowledge of SWT, but does not require familiarity with any of the other JFace modules. The framework consists of abstract base classes for viewers (`Viewer`, `StructuredViewer`, `AbstractTreeViewer`) together with concrete viewer classes (`ListViewer`, `TreeViewer`, `TableViewer`, `TableTreeViewer`, `CheckboxTreeViewer`, and `CheckboxTableViewer`), and various lesser support classes. The concrete structured viewer classes are ready-to-use and have built-in support for drag-and-drop, filtering (`IViewerFilter` and `ViewerFilter`), and sorting (`IViewerSorter` and `ViewerSorter`); these classes may also be subclassed further if required.

In general terms, creating a viewer involves the following steps:

- instantiating a viewer on some pre-existing SWT widget,
- setting the viewer's content provider (an object implementing `IContentProvider`),
- setting the viewer's label provider (an object implementing `ILabelProvider`),
- and, finally, setting the viewer's input.

Once a viewer's input is set, the viewer becomes active. As the model changes, it is the content provider's responsibility to respond to changes to the model by telling the viewer what to change (done by calling add and remove methods on the viewer). An existing viewer may be retargeted by giving it a different object as input; the viewer is responsible for informing the content provider of these kinds of wholesale changes (`IContentProvider.inputChanged`). Also, each viewer registers with its label provider for notification of changes that would affect what the viewer displays (see `ILabelProviderListener.stateChanged`).

Note: None of the classes in this package maintain global state.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.