通过plugin.xml将工具栏添加到org.eclipse.ui.forms.widgets.Section

时间:2017-07-11 06:17:58

标签: java eclipse swt

我正在创建一个Eclipse应用程序。我创建了一个包含多个org.eclipse.ui.forms.widgets.Section的编辑器,每个Section都有自己的工具栏,目前只在编辑器代码中声明。我需要做的是将工具栏代码与编辑器代码分开。什么是分隔工具栏代码的最佳方法。由于有几个toolItems,编辑器的代码变得复杂。我们可以在plugin.xml中为org.eclipse.ui.forms.widgets.Section定义工具栏吗? 目前使用以下代码行将工具栏添加到Section:

ToolBar toolBar = new ToolBar(section, SWT.FLAT | SWT.RIGHT);

1 个答案:

答案 0 :(得分:0)

Section没有任何扩展点。

您可以使用Status n/a active / n/a lost / n/a unhealthy / n/a rebooted / n/a decommissioned Traceback (most recent call last): File "/var/lib/ambari-agent/cache/common-services/YARN/2.1.0.2.0/package/scripts/resourcemanager.py", line 304, in <module> Resourcemanager().execute() File "/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py", line 314, in execute method(env) File "/var/lib/ambari-agent/cache/common-services/YARN/2.1.0.2.0/package/scripts/resourcemanager.py", line 124, in start self.wait_for_dfs_directories_created(params.entity_groupfs_store_dir, params.entity_groupfs_active_dir) File "/var/lib/ambari-agent/cache/common-services/YARN/2.1.0.2.0/package/scripts/resourcemanager.py", line 261, in wait_for_dfs_directories_created self.wait_for_dfs_directory_created(dir_path, ignored_dfs_dirs) File "/usr/lib/python2.6/site-packages/resource_management/libraries/functions/decorator.py", line 55, in wrapper return function(*args, **kwargs) File "/var/lib/ambari-agent/cache/common-services/YARN/2.1.0.2.0/package/scripts/resourcemanager.py", line 291, in wait_for_dfs_directory_created raise Fail("DFS directory '" + dir_path + "' does not exist !") resource_management.core.exceptions.Fail: DFS directory '/ats/done/' does not exist ! 作为工具栏。这使您可以在工具栏中使用ToolBarManager类(和其他贡献项)。这使您可以将代码分成不同的类。

例如,这是plugin.xml编辑器将“字母排序”按钮添加到“必需的插件”部分的方式:

Action

排序代码位于单独的private void createSectionToolbar(Section section, FormToolkit toolkit) { ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT); ToolBar toolbar = toolBarManager.createControl(section); final Cursor handCursor = Display.getCurrent().getSystemCursor(SWT.CURSOR_HAND); toolbar.setCursor(handCursor); // Add sort action to the tool bar fSortAction = new SortAction(fImportViewer, PDEUIMessages.RequiresSection_sortAlpha, null, null, this); toolBarManager.add(fSortAction); toolBarManager.update(true); section.setTextClient(toolbar); } 类中,该类扩展了SortAction

Action将工具栏放在部分标题栏的右上角。