1. org.eclipse.ui.actionSets
<actionSet> -- [附件图片中的Menu Bar 和Tool Bar]
给 Eclipse 增加主菜单和工具栏 (Workbench Window Actions)
Action需要实现的接口 implements IWorkbenchWindowActionDelegate
这种情况下,如果需要打开的窗口是模态窗口,并且阻塞整个Eclipse平台:
那么:使用IWorkbenchWindow window
并且在 init方法中初始化(注:此方法在IWorkbenchWindowActionDelegate已声明)
public void init(IWorkbenchWindow window) {
this.window = window;
}
此时,再在run方法中启动伱的界面
public void run(IAction action) {
MessageDialog.openInformation(window.getShell(),"Hello Plug-in","Hello, Eclipse world");
}
注意上面的window.getShell()。
工具栏、菜单栏扩展点示例:
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<extension
point="org.eclipse.ui.actionSets">
<actionSet
label="Sample Action Set"
visible="true"
id="hello.actionSet">
<menu
label="Sample &Menu"
id="sampleMenu">
<separator
name="sampleGroup">
</separator>
</menu>
<action
label="&Sample Action"
icon="icons/sample.gif"
class="hello.actions.SampleAction" <!-- 指定Action类-->
tooltip="Hello, Eclipse world"
menubarPath="sampleMenu/sampleGroup"
toolbarPath="sampleGroup"
id="hello.actions.SampleAction">
</action>
</actionSet>
</extension>
</plugin>
2. org.eclipse.ui.popupMenus 给 Eclipse 增加上下文右键菜单
<objectContribution> -- [附件中Views区,如在Navigator中选中某一文件,点击右键]
针对选择的对象不同,显示上下文菜单 (Object Action)
Action需要实现的接口 implements IViewActionDelegate
<viewerContribution> -- [附件中的Editor区,没错,就是Editor区]
针对在不同的View里面,显示上下文菜单 (View Actions)
伱可以自己定义这个右键菜单出现在上面编辑器中。
比如: targetID – “org.eclipse.jdt.ui.MembersView” [没试过,不是很确定]
此时,Action需要实现的接口 implements IViewActionDelegate
比如: targetID – “#CompilationUnitEditorContext” (Java Editor)[确定]
此时,Action需要实现的接口 implements IEditorActionDelegate
另外还有个专门用于文件编辑器的右键菜单的,targetID 记不得了!好像是“#TextEditorContext”
Java Editor中,如果需要打开的窗口是模态窗口,并且阻塞整个Eclipse平台:
需要使用到IEditorSite editorSite 或者 IWorkbenchPartSite partsite
在setActiveEditor方法中初始化这两个对象(此方法在IEditorActionDelegate接口中已声明)
public void setActiveEditor(IAction action, IEditorPart targetEditor) {
partsite = targetEditor.getSite();
editorSite = targetEditor.getEditorSite();
}
此时,再在run方法中启动伱的界面
public void run(IAction action) {
new PPMEAddCommentGUI(editorSite.getShell(),SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); //1
new PPMEAddCommentGUI(partsite.getShell(),SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); //2
}
注意上面的editorSite.getShell() 和partsite.getShell()
Java Editor右键上下文菜单扩展点示例:
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<extension point="org.eclipse.ui.popupMenus">
<viewerContribution
id="org.eclipse.ui.articles.action.contribution.popup.editor"
targetID="#CompilationUnitEditorContext">
<menu
label="Comment Edit"
path="additions"
id="second">
<groupMarker
name="contents">
</groupMarker>
<separator
name="sampleGroup">
</separator>
</menu>
<action
id="org.eclipse.ui.articles.action.contribution.editor.action1"
label="Delete"
icon="icons/sample.gif"
menubarPath="second/contents"
class="OldAction3"> <!-- 指定Action类-->
</action>
<action
id="org.eclipse.ui.articles.action.contribution.editor.action2"
label="Edit"
icon="icons/sample.gif"
menubarPath="second/contents"
class="OldAction2"> <!-- 指定Action类-->
</action>
<action
id="org.eclipse.ui.articles.action.contribution.editor.action3"
label="Create"
icon="icons/sample.gif"
menubarPath="second/contents"
class="OldAction2"> <!-- 指定Action类-->
</action>
</viewerContribution>
</extension>
</plugin>
3. org.eclipse.ui.viewActions
<viewerContribution>
给 Eclipse 的 View 上面的工具栏和菜单栏增加 View 系统菜单和工具栏
4. org.eclipse.ui.editorActions
<editorContribution>
针对不同的编辑器环境(比如JavaEditor, JSPEditor),在Eclipse主菜单上面增加不同的菜单和工具栏
也就是说,给 JavaEditor 在 Eclipse 主菜单上面增加的菜单和工具栏,在 JSPEditor 打开的时候就看不到
分享到:
相关推荐
Eclipse RCP的扩展点与扩展机制研究,金星善,库少平,RCP (Rich Client Platform) 是基于Eclipse开发平台而推出的一套用来开发富客户端程序的应用框架。Eclipse的插件机制,使得我们可以通过扩展Ecli
RCP 常见的扩展点指南 RCP最精华的部分之一,详细分析了RCP如何建立扩展点的。
Eclipse富客户端平台RCP程序使用的中文语言包。用于开发Eclipse插件或RCP富客户端平台使用。
eclipse3.4 RCP插件开发英文教程,转成了pdf
eclipse RCP学习项目源码&扩展控制台插件for eclipse3.5
第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、...
难得的Eclipse插件RCP中文入门教程
svn1.1.9集合eclipse的插件包和配置方法
Eclipse RCP富客户端平台,基于Eclipse开发的。
1.介绍eclipse内核结构、扩展点机制; 2.介绍SWT的原理,控件设计及事件响应机制 3.介绍OSGi 4.介绍RCP(Rich Client Platform)——Eclipse富客户端 5.介绍插件项目文件结构 6.介绍插件开发过程及基本步骤 7.介绍...
eclipse插件开发: rcp/swt相关资料 rcp swt 插件开发
Eclipse从入门到精通的第18章Word版及其他几篇有关RCP插件开发的Word版文档
第三篇主要讲述插件开发的高级内容,包括开发高级内容、富客户端平台技术(RCP)、Draw2d,以及GEF介绍与实现等4个章节;第四篇则围绕插件开发和GEF应用两个主题,精心设计了两个程序开发实例,使读者能更加全面地...
Eclipse RCP允许开发者使用eclipse结构风格设计弹性的可扩展的应用程序,可重用Eclipse中已存在的方法和编码模式。俗话说,万事开头难。Eclipse RCP入手可能会比较困难、费时。接下来我们将主要讲述如何让RCP工作. ...
rcp org.eclipse.ui.newWizards扩展点例子,模仿新建java项目
本书第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor...
eclipse插件及RCP开发资料.rar eclipse插件及RCP开发资料.rar eclipse插件及RCP开发资料.rar
EclipseRCP教程EclipseRCP教程EclipseRCP教程
clipse RCP允许开发者使用eclipse结构风格设计弹性的可扩展的应用程序,可重用Eclipse中已存在的方法和编码模式。俗话说,万事开头难。Eclipse RCP入手可能会比较困难、费时。接下来我们将主要讲述如何让RCP工作 ...