我正在编写一个Eclipse插件,为调试器创建一个替代IDetailPane
。
我创建了IDetailPaneFactory
的实现,该实现返回了我的IDetailPane
ID,并调用了.getDetailPaneTypes(...)
方法。
但是,现在字段DetailPaneManager.fPreferredDetailPanes
是Map<Set<String>, String>
,内容为:
{
[DefaultDetailPane]=DefaultDetailPane
[DefaultDetailPane, MyDetailPane]=DefaultDetailPane
}
我想更改第二项,以便它将映射到“MyDetailPane”。
这是一个用户设置,我可以在设置中的某处更改吗? (尝试在偏好中找到它但没有看到任何相关的东西)。这是硬编码的吗?我可以更改插件的Activator
中的某些内容来控制它吗? (尝试在Activator.start(...)
期间更改值,但此时fPreferredDetailPanes
不包含地图中的第二项
答案 0 :(得分:0)
看起来chooseDetailsAreaIDInSet
中的DetailPaneManager
方法通过遍历调用getDefaultDetailPane(selection)
的详细信息窗格工厂来选择首选窗格,第一个工厂从此获胜返回id。
AvailableDetailPanesAction.SetDetailPaneAction
菜单操作可以根据用户的选择覆盖它。