diff options
Diffstat (limited to 'bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerColumn.java')
-rw-r--r-- | bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerColumn.java | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerColumn.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerColumn.java index dbe10ac3846..0b790cb0a1e 100644 --- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerColumn.java +++ b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerColumn.java @@ -25,13 +25,15 @@ import org.eclipse.swt.widgets.Widget; * providers and editing support can be configured for each column separately. * Concrete subclasses of {@link ColumnViewer} should implement a matching * concrete subclass of {@link ViewerColumn}. - * + * @param <E> Type of an element of the model + * @param <I> Type of the input + * * @since 3.3 - * + * */ -public abstract class ViewerColumn { +public abstract class ViewerColumn<E,I> { - private CellLabelProvider labelProvider; + private CellLabelProvider<E,I> labelProvider; static String COLUMN_VIEWER_KEY = Policy.JFACE + ".columnViewer";//$NON-NLS-1$ @@ -41,18 +43,18 @@ public abstract class ViewerColumn { private boolean listenerRegistered = false; - private ColumnViewer viewer; + private ColumnViewer<E,I> viewer; /** * Create a new instance of the receiver at columnIndex. - * + * * @param viewer * the viewer the column is part of * @param columnOwner * the widget owning the viewer in case the widget has no columns * this could be the widget itself */ - protected ViewerColumn(final ColumnViewer viewer, Widget columnOwner) { + protected ViewerColumn(final ColumnViewer<E,I> viewer, Widget columnOwner) { this.viewer = viewer; columnOwner.setData(ViewerColumn.COLUMN_VIEWER_KEY, this); this.listener = new ILabelProviderListener() { @@ -71,21 +73,21 @@ public abstract class ViewerColumn { /** * Return the label provider for the receiver. - * + * * @return ViewerLabelProvider */ - /* package */CellLabelProvider getLabelProvider() { + /* package */CellLabelProvider<E,I> getLabelProvider() { return labelProvider; } /** * Set the label provider for the column. Subclasses may extend but must * call the super implementation. - * + * * @param labelProvider * the new {@link CellLabelProvider} */ - public void setLabelProvider(CellLabelProvider labelProvider) { + public void setLabelProvider(CellLabelProvider<E,I> labelProvider) { setLabelProvider(labelProvider, true); } @@ -93,7 +95,7 @@ public abstract class ViewerColumn { * @param labelProvider * @param registerListener */ - /* package */void setLabelProvider(CellLabelProvider labelProvider, + /* package */void setLabelProvider(CellLabelProvider<E,I> labelProvider, boolean registerListener) { if (listenerRegistered && this.labelProvider != null) { this.labelProvider.removeListener(listener); @@ -114,7 +116,7 @@ public abstract class ViewerColumn { /** * Return the editing support for the receiver. - * + * * @return {@link EditingSupport} */ /* package */EditingSupport getEditingSupport() { @@ -139,12 +141,12 @@ public abstract class ViewerColumn { * Refresh the cell for the given columnIndex. <strong>NOTE:</strong>the * {@link ViewerCell} provided to this method is no longer valid after this * method returns. Do not cache the cell for future use. - * + * * @param cell * {@link ViewerCell} */ - /* package */void refresh(ViewerCell cell) { - CellLabelProvider labelProvider = getLabelProvider(); + /* package */void refresh(ViewerCell<E> cell) { + CellLabelProvider<E,I> labelProvider = getLabelProvider(); if (labelProvider == null) { Assert.isTrue(false, "Column " + cell.getColumnIndex() + //$NON-NLS-1$ " has no label provider."); //$NON-NLS-1$ @@ -160,7 +162,7 @@ public abstract class ViewerColumn { */ protected void handleDispose() { boolean disposeLabelProvider = listenerRegistered; - CellLabelProvider cellLabelProvider = labelProvider; + CellLabelProvider<E,I> cellLabelProvider = labelProvider; setLabelProvider(null, false); if (disposeLabelProvider) { cellLabelProvider.dispose(viewer, this); @@ -170,19 +172,19 @@ public abstract class ViewerColumn { viewer = null; } - private void handleDispose(ColumnViewer viewer) { + private void handleDispose(ColumnViewer<E,I> viewer) { handleDispose(); viewer.clearLegacyEditingSetup(); } /** * Returns the viewer of this viewer column. - * + * * @return Returns the viewer. - * + * * @since 3.4 */ - public ColumnViewer getViewer() { + public ColumnViewer<E,I> getViewer() { return viewer; } } |