如何以编程方式在Eclipse中向主工具栏添加按钮

时间:2012-01-31 06:50:28

标签: eclipse-plugin

我有一个问题。我找不到方法,如何以编程方式将按钮添加到主工具栏。我的问题是,我的任务是动态(基于XML配置文件)构建菜单和工具栏。我找到了如何以编程方式添加菜单项,而不是工具栏按钮。

教程主要展示如何使用插件描述符(plugin.xml)创建按钮和菜单,而不是如何以编程方式创建按钮和菜单。看来,它已经超出了Eclipse插件的理念。

我刚刚找到this

  

此方法可能存在布局问题。我也没有   相信框架将尝试重新创建您的动态项目,除了   随机toolbarmanager更新。使用菜单,他们可以更新   SWT.Show事件,这就是CompoundContributionItem仅适用于的原因   菜单。

我该怎么办?我可以说抱歉,没有办法动态构建工具栏。我只能用于菜单吗?科莱格说,这一定是可能的,但他不知道怎么做。

2 个答案:

答案 0 :(得分:2)

能够以编程方式创建主工具栏条目的唯一方法是在RCP应用程序中,您可以在其中为工作台窗口提供ActionBarAdvisor。但这不是动态的,只是在窗口创建时调用。

另一种方法是使用org.eclipse.ui.menus并提供org.eclipse.ui.menus.ExtensionContributionFactory。它也只适用于工作台窗口创建(不是真正的动态),但您可以读取自己的XML并为主菜单或工具栏提供IContributionItems。

你有多活力?大多数解决方案在启动/创建窗口时都能很好地工作。

PW

答案 1 :(得分:1)

每当你尝试在Eclipse中以编程方式执行某些操作时,通常是通过插件定义完成的,那么你就是在冰上行走。我曾经尝试了几次,很少有人容易或好。

相反,请想一想您在运行时只知道它是什么,并且需要能够即时更改。它是按钮的名称或图标吗?这可以在运行时更改。 看看runtime commands,它们可能会让人难以正确定义,但是使用它们可以创建仅在条件处于活动状态时才可见的按钮。该条件可以在运行时设置。

相关问题