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/TableViewerRow.java
/*******************************************************************************
 * Copyright (c) 2006 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * @since 3.3
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *     Tom Shindl <tom.schindl@bestsolution.at> - initial API and implementation
 ******************************************************************************/
package org.eclipse.jface.viewers;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Item;
import org.eclipse.swt.widgets.TableItem;
/**
 * TableViewerRow is the Table specific implementation of ViewerRow
 * @since 3.3
 * <strong>EXPERIMENTAL</strong> This class or interface has been added as
 * part of a work in progress. This API may change at any given time. Please 
 * do not use this API without consulting with the Platform/UI team.
 *
 */
public class TableViewerRow extends ViewerRow {