сохранение состояния для элементов таблицы

#eclipse-rcp

#eclipse-rcp

Вопрос:

У меня есть одно требование: мне нужно пометить элемент таблицы, когда пользователь уже просмотрел этот элемент в таблице. Это точно так же, как электронные письма во входящих. когда пользователь прочитает письмо, шрифт будет изменен на обычный. Таким же образом мне нужно реализовать. Для этого я использовал шрифт для таблицы. Теперь мне нужно сохранить состояние для элемента таблицы. При перезапуске приложения элемент таблицы, который пользователь уже просмотрел, должен рассматриваться как просмотренный элемент. Я имею в виду обычный шрифт. Есть ли какой-либо способ сохранить состояние для элемента таблицы?

Спасибо Bhanu

Ответ №1:

Альтернативный вариант — если мы говорим только об очень небольшом количестве данных, например, указателе на последний прочитанный элемент — вы можете использовать состояние просмотра. Смотрите IViewPart.init(IViewSite site, IMemento memento) и IViewPart.saveState(IMemento memento) . Этот метод не очень полезен, если у вас много данных, поскольку хранилище довольно неэффективно.

Ответ №2:

Если ваш активатор пакета относится к подклассам, org.eclipse.ui.plugin.AbstractUIPlugin или org.eclipse.core.runtime.Plugin вы можете использовать org.eclipse.core.runtime.Plugin.getStateLocation() для получения местоположения состояния вашего плагина. Вы можете использовать java.io.File и FileReader / FileWriter для хранения информации там в течение сеансов. Смотрите org.eclipse.ui.plugin.AbstractUIPlugin.saveDialogSettings() пример того, как этот плагин сохраняет там настройки диалогового окна.