Bug 82240 [Viewers] Need a content provider for tables that gets elements lazily
Currently all of our viewers assume that all of the elements are avialble. In the case of a virtual table we also want to be able to load elements as they become visible rather than all at once (common issue for databases). Here are some of the issues 1) Need to setItemCount on the table from the content provider 2) Need a getElements(start,finish) method on the content provider 3) Need to decide how to handle staleness. If there are a million items and the viewer just sits there scrolled to the bottom that is a million TableItems and a million Objects represented. How do we manage memory for this?
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableViewer.java
tableViewerImpl.setCellModifier(modifier);
	}
	/**
	 * Sets the column properties of this table viewer. The properties must
	 * correspond with the columns of the table control. They are used to
	 * identify the column in a cell modifier.
	 * 
	 * @param columnProperties
	 *            the list of column properties
	 */
	public void setColumnProperties(String[] columnProperties) {
		tableViewerImpl.setColumnProperties(columnProperties);
	}
	/**
	 * The table viewer implementation of this <code>Viewer</code> framework
	 * method ensures that the given label provider is an instance of either
	 * <code>ITableLabelProvider</code> or <code>ILabelProvider</code>. If
	 * it is an <code>ITableLabelProvider</code>, then it provides a separate
	 * label text and image for each column. If it is an
	 * <code>ILabelProvider</code>, then it provides only the label text and
	 * image for the first column, and any remaining columns are blank.
	 */
	public void setLabelProvider(IBaseLabelProvider labelProvider) {
		Assert.isTrue(labelProvider instanceof ITableLabelProvider
				|| labelProvider instanceof ILabelProvider);
		super.setLabelProvider(labelProvider);
		tableColorAndFont = new TableColorAndFontCollector(labelProvider);
	}
	/*
	 *  (non-Javadoc)