1

我想知道是否有任何机制可以将输入设置为ViewPart.

例如:我的应用程序具有搜索功能。当我点击搜索时,我想在ViewPart包含表格的表格中显示我的结果。如何设置此表的输入,如何将结果传输到 ViewPart?我目前org.eclipse.ui.IWorkbenchPage.showView(String, String, int)用于显示ViewPart.

我目前正在使用一个名为 ViewUtil 的 Util 类,它带有 showView(String id) 和 showViewWithParameter(String id, Object parameter) 等静态方法。第二种方法显示视图,并将参数保存在 ViewUtil 类的 Map 中。createPartControl(Composite) 方法从此映射中获取参数并将输入设置到表中。它有效,但我真的不喜欢它。

还有一个问题是调用org.eclipse.ui.IWorkbenchPage.showView(String, String, int)方法的时候,如果ViewPart已经显示出来了,就不会调用createPartControl(Composite)方法,所以表格的输入是没有设置。

我确定有更好的方法,但我找不到。

4

1 回答 1

0

看起来它被列为Eclipse BugTracker中的一个错误。


我还发现了一些可能对其他人有帮助的东西。不幸的是,对我来说这是不行的,因为你只能使用 String 属性。看看org.eclipse.ui.IWorkbenchPart3。它有一个包含字符串属性的映射和注册的可能性propertyChangedListeners


我还为搜索结果视图找到了一个特定的解决方案。将org.eclipse.search.searchResultViewPages扩展添加到您的插件 xml 就可以解决问题。然后,您需要实现一个ISearchResultPage显示结果并具有需要实现的com.porsche.dps.main.SearchResultPage1.setInput(ISearchResult, Object)方法和搜索结果对象的ISearchResult

于 2012-10-05T14:07:14.207 回答