EclipseRCP3.x通过在对话框中单击按钮来重新填充工具栏组合

EclipseRCP3.x通过在对话框中单击按钮来重新填充工具栏组合,eclipse,combobox,triggers,toolbar,rcp,Eclipse,Combobox,Triggers,Toolbar,Rcp,在Eclipse RCP 3.x应用程序中: 我有一个对话框-“用户设置”,其中包含一个名为“设置用户”的按钮 “用户设置”对话框创建并存储用户设置列表,并将其保存到文件中 在应用程序的工具栏中,我有一个组合(下拉列表),其中列出了这些用户详细信息 我希望单击对话框中的“设置用户”按钮触发updateUsersCombo方法,该方法使用更新的用户列表更新工具栏的用户组合内容,然后在组合中选择该用户 我已经很好地解决了updateUsersCombo方法。。。 我只需要在用户从打开的对话框中单击“

在Eclipse RCP 3.x应用程序中:

我有一个对话框-“用户设置”,其中包含一个名为“设置用户”的按钮

“用户设置”对话框创建并存储用户设置列表,并将其保存到文件中

在应用程序的工具栏中,我有一个组合(下拉列表),其中列出了这些用户详细信息

我希望单击对话框中的“设置用户”按钮触发updateUsersCombo方法,该方法使用更新的用户列表更新工具栏的用户组合内容,然后在组合中选择该用户

我已经很好地解决了updateUsersCombo方法。。。 我只需要在用户从打开的对话框中单击“设置用户”按钮时调用(触发)此方法

用户对话框是带有SWT按钮的标题区对话框。 用户组合是扩展WorkbenchWindowControlControlContribution的类的内部,该类在工具栏中显示用户和一些其他设置

我对Eclipse3.x相当陌生。非常感谢您的帮助

  • 马尔夫

您可能需要使用事件代理
IEventBroker
发送和订阅这些更改的事件。感谢快速回复greg-449。Eclipse3.x(不是E4)有事件代理吗?假设您使用的是Eclipse4版本,Eclipse的核心总是E4。3.x兼容层位于该层之上。在3.x代码中,您可以使用
PlatformUI.getWorkbench().getService(IEventBroker.class)
来获取事件代理。不幸的是,兼容层不是应用程序的一部分。如果您编写的是3.x RCP,那么您使用的是兼容层-这都是org.eclipse.ui插件(除非您使用的是过时的Eclipse3系列版本)。