eclipse-rcp: обход ячейки просмотра таблицы jface - PullRequest
0 голосов
/ 04 июля 2011

Есть столбец, в котором отображаются номера строк, я хочу, чтобы пользователь не перемещался по ячейкам в нем с помощью клавиш со стрелками.
enter image description here
На рисунке выше ячейка с текстом «testDO3» в настоящее время сфокусирована и выделена, столбец номера строки используется для выбора всей строки, поэтому я хочу, чтобы она не была доступна для перемещения.


вот мое собственное решение:

tv.getTable().addTraverseListener(new TraverseListener(){
            public void keyTraversed(TraverseEvent e) {
                ViewerCell cell = focusCellManager.getFocusCell();
                if(e.keyCode == SWT.ARROW_LEFT && cell.getColumnIndex() == 2){
                    e.detail = SWT.TRAVERSE_NONE;
                    e.doit = true;
                }
            }

        });

1 Ответ

0 голосов
/ 08 июля 2011

Предполагается, что вы используете навигацию по ячейке JFace, затем подкласс CellNavigationStrategy и используете в конструкторе TableViewerFocusCellManager.

...