【发布时间】:2023-03-31 16:40:01
【问题描述】:
我一直忙于未来并将旧的 eclipse 3.7 应用程序迁移到 Eclipse 4,虽然我对移植所有视图的应用程序模型感到满意,但我有许多我不确定的源提供程序移植明智。我一直在使用一些关于 Eclipse 4 的教程,包括 this Tutorial from good old Lars,但似乎没有一个涵盖这个特定元素。
对于少量的上下文,我现有的应用程序有一些扩展 AbstractSourceProvider 的类,这些类在 org.eclipse.ui.services 扩展点中注册。我的视图使用工作台中的ISourceProviderService.getSourceProvider(key) 函数将自己注册为这些服务的侦听器,并在该源触发源更改事件时更新自己。我也有一些提供者有时也会相互引用,所以我想知道这是否仍然适用于注入。
Eclipse 4 中使用了什么样的模型?我应该只使用相同的旧扩展点吗?这些扩展点服务能否以新的酷注释方式注入到视图中?
什么给了?
【问题讨论】:
-
你说的是哪些扩展点?
-
服务 sourceProvider 功能。 org.eclipse.ui.services
-
org.eclipse.ui.services在纯 e4 应用程序中不可用。事实上,使用源提供程序的代码都不是 e4 的一部分。 -
是的,我已经做到了这一点,问题是我到底该怎么做?我可以把它全部放在单例中并制作我自己的监听器接口,但这样做有什么意义,感觉就像倒退。
-
可以通过多种方式将服务放入 Eclipse 上下文中,然后注入。事件可以在 Event Broker 上广播,并使用 @EventTopic 注入处理。
标签: eclipse-rcp e4