Среда просмотра - PullRequest
       8

Среда просмотра

1 голос
/ 19 октября 2011

Я не знаю, правильно ли я понимаю фреймворк Viewer. Я думаю, что это изображение описывает структуру:

enter image description here.

В моем понимании, когда мы устанавливаем значение InInput для объекта Tree, этот объект передается ContentProvider. Элементы, полученные из ContentProvider, будут фильтроваться различными фильтрами. После этого остальные элементы будут отсортированы. Наконец, виджет дерева возьмет эти элементы и отобразит их. Это правильно?

1 Ответ

1 голос
/ 20 октября 2011

В моем понимании, когда мы устанавливаем Input для объекта для дерева, это объект передается ContentProvider. Элементы выходят из ContentProvider будет фильтроваться различными фильтрами. После этого, остальные элементы будут отсортированы. Наконец, виджет дерева будет возьмите эти элементы и покажите их. Это правильно?

Да, это правильно.


Explanation

Зритель никогда не общается напрямую с объектами данных / домена. Например, TreeViewer не общается с объектами домена напрямую. Вместо этого он использует другой объект, называемый ContentProvider, и этот объект использует ваши доменные объекты.

enter image description here

Так же, как существует объект поставщика контента, который получает дочерние элементы узлов дерева, когда дело доходит до фактического отображения узлов, у средства просмотра дерева есть еще один вспомогательный объект: поставщик меток.

enter image description here

Аналогично для обработки таблиц в JFace есть TableViewer. Как и TreeViewer, у него есть вход (корневой объект), поставщик контента и поставщик меток. Это проще, чем просмотрщик дерева, так как ему не нужно иметь дело с деревьями.

enter image description here

Теперь, если вы посмотрите на реализацию TreeViwer по умолчанию, то обнаружите, что в методе createChildren() (который вызывается при расширении узла) есть вызов getSortedChildren(), который в основном применяет все фильтры к предоставленный ввод (и по требованию, т.е. когда узел расширяется) и, наконец, применяет предоставленный вами сортировщик. Как только все это будет сделано, поставщик этикеток войдет в картину.

Ссылки:

  1. Использование JFace и SWT в автономном режиме
  2. Использование реестра образов JFace
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...