#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()
пример того, как этот плагин сохраняет там настройки диалогового окна.