Bug 167325 [Viewers]ViewerCell and ViewerRow should provide API to find neighbors
This is a very important feature if we want provide keyboard features in tables and trees and the current EditingSupport has TODO items to make this work in a clear way. I'd propose the following new API functions for ViewerCell: - ViewerCell#getCellLeft() - ViewerCell#getCellRight() - ViewerCell#getCellTop() - ViewerCell#getCellBottom() - ViewerRow#getRowTop() - ViewerRow#getRowBottom() What I'm not 100% sure is if we should provide functions to navigate Tree-Structures: - ViewerCell#getCellTop(boolean samelevel) - ViewerCell#getCellBottom(boolean samelevel) - ViewerRow#getRowTop(boolean samelevel) - ViewerRow#getRowBottom(boolean samelevel)
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/EditingSupport.java
* 
	 * <p><b>Subclasses should overwrite!</b></p>
	 * 
	 * @param element
	 *            the model element
	 * @param value
	 *            the new value
	 */
	protected abstract void setValue(Object element, Object value);
	/**
	 * @return <code>true</code> if tabing supported
	 */
	protected boolean isTabingSupported() {
		return (TABING_NONE & getTabingStyle()) != TABING_NONE;
	}
	/**
	 * @return the bit mask representing the tabing style
	 */
	int getTabingStyle() {
		return viewer.getTabEditingStyle();
	}
	/**
	 * Process the travers event and opens the next available editor depending
	 * of the implemented strategy. The default implementation uses the style
	 * constants
	 * <ul>
	 * <li>{@link #TABING_MOVE_TO_ROW_NEIGHBOR}</li>
	 * <li>{@link #TABING_CYCLE_IN_ROW}</li>
	 * <li>{@link #TABING_VERTICAL}</li>
	 * <li>{@link #TABING_HORIZONTAL}</li>