如何在eclipse e4中设置UI部分的输入



我正在使用eclipse e4应用程序。我正在使用eventBroker将值从一个部分传递到另一个部分。如果打开了许多零件(选项卡类型),如何将值传递给当前选定的零件(选项卡)?我正在使用@UIEventTopic来获取零件的值。但问题是,这些值被复制到所有选项卡上。换句话说,我试图在不同的选项卡中显示不同的JFreechart,但这些图表被复制到以前的选项卡中。

有人能给我提些主意吗?

提前感谢

事件代理总是向处理事件的任何对象进行广播,您不能使用它来发送到一个特定的对象。

如果你在一个处理程序中,你可以在@Execute方法中获得当前部分,并直接在你的类中设置一个值,比如:

@Execute
public void execute(@Named(IServiceConstants.ACTIVE_PART) MPart activePart)
{
  Object part = activePart.getObject();
  if (part instanceof MyClass)
   {
     ((MyClass)part).setValue(xxxx);
   }
}

更新:

如果您在另一个零件中,请使用EPartService获取活动零件:

@Inject
EPartService partService;
...
MPart activePart = partService.getActivePart();
Object part = activePart.getObject();
if (part instanceof MyClass)
 {
    ((MyClass)part).setValue(xxxx);
 }

您也可以使用EPartService.findPart("part id")查找具有给定id的零件。

相关内容

  • 没有找到相关文章

最新更新