Bug 154329 [Viewers] Provide widget independent TableViewer implementation
At the moment the concrete classes to provide a table or a tree require that the underlying Widget is an org.eclipse.widgets.Table and org.eclipse.widgets.Tree. It would make sense to extract all code parts who don't depend on the concrete-widget to an AbstractBaseClass between: - ColumnViewer > TableViewer => ColumnViewer > AbstractBaseTableViewer > TableViewer - AbstractTreeViewer > TreeViewer => AbstractTreeViewer > AbstractBaseTreeViewer > TreeViewer
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableViewer.java
tableEditor.grabHorizontal = layoutData.grabHorizontal;
				tableEditor.horizontalAlignment = layoutData.horizontalAlignment;
				tableEditor.minimumWidth = layoutData.minimumWidth;
			}
			protected void showSelection() {
				getTable().showSelection();
			}
		};
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.jface.viewers.Viewer#inputChanged(java.lang.Object,
	 *      java.lang.Object)
	 */
	protected void inputChanged(Object input, Object oldInput) {
		getControl().setRedraw(false);
		try {
			
			refresh();
		} finally {
			getControl().setRedraw(true);
		}
	}
	/**
	 * Inserts the given element into this table viewer at the given position.
	 * If this viewer has a sorter, the position is ignored and the element is
	 * inserted at the correct position in the sort order.
	 * <p>
	 * This method should be called (by the content provider) when elements have