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