JFace TreeViewers и Eclipse e4 Framework / SelectionService - PullRequest
0 голосов
/ 30 августа 2018

У меня возникли некоторые трудности с JFace TreeViewers, и они взаимодействуют с сервисом / каркасом выбора e4.

Мне бы хотелось понять, каков предполагаемый способ управления выбором (через службу выбора) при использовании одного или нескольких средств просмотра JFace в одном MPart.

Базовая операция двух элементов управления (просмотрщик дерева и просмотрщик таблиц) работает, как и ожидалось, однако , когда фокус перемещается на другой элемент управления внутри детали, а затем возвращается к TreeViewer посредством щелчка правой кнопкой мыши по ранее выбранному дереву. элемент, событие выбора не повторно выдается древовидным элементом управления, в результате чего ee ESelectionService не обновляется с правильным выбором , который имеет все виды эффектов замедления, такие как методы обработчика @CanExecute, не работающие должным образом , Обратите внимание, что когда фокус возвращается к TreeViewer посредством щелчка левой кнопкой мыши по ранее выбранному элементу ... событие выбора генерируется, как и ожидалось.

Я уверен, что смогу закодировать свой путь с помощью MouseListeners или FocusListeners, но я хочу сделать все правильно, и это выглядит немного глупо.

Подводя итог:

  • TreeViewer ведет себя так, как ожидалось? (TableViewer, по-видимому, не демонстрирует такое поведение)
  • Какая работа предпочтительнее?

Изображение с обобщением результатов теста: Результаты теста

Ускоренный образец / тестовый код доступен здесь на основе мастера e4 в eclipse. https://github.com/krislyon/e4selection-issue

Любая помощь / предложения будут оценены.

...