错误日志视图 - 激活新事件' RCP中的属性值

时间:2016-08-31 14:21:33

标签: logging properties rcp

这可能是一个奇怪的问题,但是......我怎么能从代码中知道'激活新事件'属性值,当出现错误时,会弹出错误日志视图?我正在使用RCP应用程序。

我尝试使用此

"."

甚至这个:

IPreferenceStore store = new ScopedPreferenceStore(InstanceScope.INSTANCE, "org.eclipse.ui.views.log");
Boolean activateOnNewEvents = store.getBoolean("activate");

但问题是当我关闭并重新打开Eclipse /产品时,我只能得到正确的值。如果我从错误日志查看右上方菜单(从UI)更改值,我的代码仍会返回旧值,直到重新启动,所以我只在关闭eclipse / rcp时才会猜测,新属性值是存储的在偏好中。

编辑:

所以我发现这个偏好值来自' org.eclipse.ui.logs.view.prefs'没有检索到正确的信息。当用户更改"激活新事件时,它不会更新"错误日志菜单中的值。所以问题是: 如何确定用户何时点击"激活新事件"并检查/取消选中此值?

1 个答案:

答案 0 :(得分:0)

这些代码片段只会为您提供当前设置,如果更改了首选项,则不会更新。

对于IPreferenceStore方法,您可以使用addPropertyChangeListener调用向首选项存储添加侦听器,只要首选项发生更改,就会调用该侦听器。

IPropertyChangeListener中,您可以检查您有兴趣更改的密钥:

public void propertyChange(PropertyChangeEvent event) {
    String key = event.getProperty();

    if (key.equals(""activate"") {
       // TODO get the new value from the preference store
    }
}