Сначала вы должны убедиться, что TableViewer
является поставщиком выбора для вашего представления:
getSite().setSelectionProvider(tableViewer);
Это уведомляет службу выбора вашего окна рабочего места каждый раз, когда изменяется выбранная строка в вашей таблице.Выбор содержит объект модели, который соответствует выбранной строке.
В вашем обработчике команд вы можете получить текущий выбор, вызвав
HandlerUtil.getCurrentSelectionChecked(executionEvent)
Чтобы переместить фокус в TableViewer
когда нажата следующая кнопка, вы должны реализовать публичный метод в вашем представлении, который увеличивает индекс выбора базового Table
на единицу.Чтобы ваш обработчик команд мог вызывать этот метод, вам нужно получить экземпляр представления.Быстрое и грязное решение состояло бы в том, чтобы получить текущую часть, вызвав
HandlerUtil.getActivePartChecked(executionEvent)
и привести возвращенный IWorkbenchPart
к вашему классу представления.