Я реализовал плагин Eclipse, который отображает данные в TreeViewer.
Древовидная структура читается при инициализации и не изменяется во время выполнения.
LabelProvider
используется для установки данных, отображаемых для каждого элемента. Этот объект делает это, читая с нашего оборудования. Чтение значения может занять некоторое время (~ 0,5 с). Обновление значений выполняется каждый раз, когда отладчик делает паузу, и каждый раз, когда пользователь нажимает назначенную кнопку «Обновить».
У меня много элементов и подэлементов, поэтому чтение всех значений за один раз занимает слишком много времени.
Поэтому я хочу только читать данные элементов, которые видны пользователю.
Я пытался использовать ILazyTreeContentProvider
, но это экономит время только при загрузке дерева: после прокрутки или развертывания TreeItem видимые элементы добавляются в список элементов для обновления вместо замены невидимые узлы.
Как мне это сделать?