在eclipse rcp应用程序中添加工具栏

时间:2013-09-24 12:48:21

标签: java css eclipse eclipse-plugin eclipse-rcp

我想在eclipse rcp应用程序中添加工具栏,我尝试在 ActionBarAdvisor.java 中的 fillCoolBar 函数中编写代码,并使用扩展。但其他插件提供的扩展未正确对齐。我的猜测是工具栏中各种toolbarManager的名称不合适。 任何人都可以告诉我如何添加所有图标,以便由其他插件添加并由我添加的额外图标正确对齐? 每次重新启动或打开新的工作区时,图标间距都会发生变化! 我附上了问题的图像。

Coolbar problem in eclipse application

fillCoolBar中的代码如下:

@Override
protected void fillCoolBar(ICoolBarManager coolBar){
        IToolBarManager fileToolbar1 = new ToolBarManager(SWT.WRAP);
        fileToolbar1.add(new Separator(IWorkbenchActionConstants.NEW_GROUP));
        fileToolbar1.add(newDropDownAction);
        fileToolbar1.add(new GroupMarker(IWorkbenchActionConstants.NEW_EXT));
        fileToolbar1.add(new GroupMarker(IWorkbenchActionConstants.SAVE_GROUP));
        fileToolbar1.add(saveFileAction);
        fileToolbar1.add(saveAllFilesAction);
        fileToolbar1.add(new GroupMarker(IWorkbenchActionConstants.SAVE_EXT));
        fileToolbar1.add(printAction);
        fileToolbar1.add(new GroupMarker(IWorkbenchActionConstants.PRINT_EXT));
        coolBar.add(fileToolbar1);
}

1 个答案:

答案 0 :(得分:1)

想出来。 需要添加CSS样式。 采取以下步骤:

1. Open plugin.xml
2. Add extension org.eclipse.e4.ui.css.swt.theme
   2.1 Add Theme to above extension.
      2.1.2 Basestyleurl is relative path to css file, like css/theme.css
      2.1.2 Give a id like plugin.theme [id can be anything]
      2.1.3 Fill rest of the fields
3. In extension org.eclipse.core.runtime.products , the one that has your product
   3.1 Add a property
      3.1.1 name: cssTheme [do not change]
      3.1.2 value: id given in step 2.1.2
   3.2 Add a property
      3.2.1 name: applicationCSSResources
      3.2.2 value: platform:/plugin/plugin.name/images/ 
[inside plugin i have images folder which has all essential images for my css, you can see images used by eclipse css theme in eclipse\plugins\org.eclipse.platform_4.3.0.v20130605-2000\images and the css used is inside css folder ]

就是这样! 完成:))