随笔分类 -  RCP/Eclipse Plugin

摘要:前言:这段时间还算比较空闲,我准备把过去做过的有些形形色色,甚至有些奇怪的研究总结一下,也许刚好有人用的着也不一定,不枉为之抓耳挠腮的时光和浪费的电力。以前有个客户提出要在RCP程序中添加一个banner栏,研究了很久才搞定。代码是基于eclipse4.3.2的。先看一下效果预览:为了添加一个ban... 阅读全文
posted @ 2015-12-30 22:20 Binhua Liu 阅读(1705) 评论(0) 推荐(3) 编辑
摘要:由于SWT的实现机制,在不同平台下,必须引用不同swt*.jar. 由于这个瓶颈,我们要为不同的平台编译不同的版本。但是这是可以避免的。这将是本文要讨论的内容。我一共google到了3种solution:1,使用swtjar.jar。http://mchr3k.github.io/swtjar/其主... 阅读全文
posted @ 2015-04-07 11:06 Binhua Liu 阅读(17479) 评论(0) 推荐(2) 编辑
摘要:如果我们在Eclipse RCP程序中添加TaskList View,用来管理Task或者TODO项,如下代码: PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage() .showView("org.eclipse.ui.views.TaskList");我们发现,创建的Task,在重启之后无法保存,而在Ec... 阅读全文
posted @ 2013-09-23 09:23 Binhua Liu 阅读(1926) 评论(0) 推荐(1) 编辑
摘要:问题 GMF应用中,有时我们希望在不打开*DiagramEditor的情况下,从文件就能生成它的图片 解决方案 首先,从文件中构造DiagramImpl实例: TransactionalEditingDomain domain = GMFEditingDomainFactory.getInstance().createEditingDomain();IFile pageFile = ... 阅读全文
posted @ 2013-08-31 11:37 Binhua Liu 阅读(1195) 评论(0) 推荐(0) 编辑
摘要:问题 自4.x开始,Quick Access搜索框成为Toolbar的“标准装备”,一般删除Actionset的方式似乎不起作用,通过Quick Access,用户很容易访问到RCP程序本来想隐藏的功能。 解决方法 在WorkbenchWindowAdvisor的openIntro中加入以下代码 IWorkbenchWindow window = (IWorkbenchWindow) Pl... 阅读全文
posted @ 2013-08-30 19:51 Binhua Liu 阅读(3642) 评论(0) 推荐(0) 编辑
摘要:1,如何让palette支持拖拽(DnD)在*PaletteFactory类中,把私有类NodeToolEntry 和LinkToolEntry的基类修改为PaletteToolEntry。并在构造函数中把调用super(title, description, null, null);修改为super(null, title, null);this.setDescription(description);最后别忘了把@generated改为@generated NOT2,如何移除connection handles(就是鼠标hover在node上时,自动出现的连接线提示)在所有的节点的edit 阅读全文
posted @ 2013-08-27 10:05 Binhua Liu 阅读(1536) 评论(0) 推荐(1) 编辑
摘要:问题Eclipse新的P2 Update机制,使用起来很方便,如果使用P2 plugin自带的UI,开发者完全不用写任何代码 即可实现application的在线更新。 但是P2 Update至少有2个已知的bug,都是打包jre相关的问题,讲清楚后,你会发现解决方案很简单,但是厘清之前,它甚至可能困恼你几天而没有头绪。(注:笔者当前使用的eclipse版本为4.3)Bug1:https://bugs.eclipse.org/bugs/show_bug.cgi?id=300812更新时更新jre目录失败,错误消息类似于Backup of file [...]\eclipse\jre\lib\j 阅读全文
posted @ 2013-08-26 08:37 Binhua Liu 阅读(2520) 评论(0) 推荐(1) 编辑
摘要:问题 在GMF中,如果需要programmatically删除节点或连线,在google中我们很容易搜索到《GMF中,删除节点和连线的实现》一文(我并不确定这是原创作者的原始链接),很多人可能都使用这种实现。这是一种很好的实现,但有时候也有其缺点--除了需要删除View和Edge外,还需要删除model,在element对应于各种不同的model时,显然需要写大量if else来处理不同的mod... 阅读全文
posted @ 2013-08-25 11:39 Binhua Liu 阅读(3329) 评论(0) 推荐(0) 编辑
摘要:前言 很久没写文章了,准备写一系列关于Eclipse RCP /Plugin的文章。 这些文章都是trouble shooting性质的,不准备写的很细,当你碰到这样的问题,google到时,能帮你把问题解决了,这就ok了。另外有些问题我也是不求甚解的,哈。 问题描述 在开发RCP程序时,一些引用的plugin会向Perferences中贡献一些Perference page,如何删除这些p... 阅读全文
posted @ 2013-08-23 18:59 Binhua Liu 阅读(4361) 评论(1) 推荐(1) 编辑
摘要:前言 很久没写文章了,准备写一系列关于Eclipse RCP /Plugin的文章。 这些文章都是trouble shooting性质的,不准备写的很细,当你碰到这样的问题,google到时,能帮你把问题解决了,这就ok了。另外有些问题我也是不求甚解的,哈。 正文 GMF中,Grid,也就是用来对齐的网格,默认是显示在foreground的,这样网格就会覆盖在你的图形上面,看上去很糟糕。解决... 阅读全文
posted @ 2013-08-18 22:47 Binhua Liu 阅读(1632) 评论(0) 推荐(0) 编辑
摘要:前言很久没写文章了,准备写一系列关于Eclipse RCP /Plugin的文章。 这些文章都是trouble shooting性质的,不准备写的很细,当你碰到这样的问题,google到时,能帮你把问题解决了,这就ok了。另外有些问题我也是不求甚解的,哈。正文Search Dialog中可能出现一些你不需要的项,比如“Java Search”,这个项是org.eclipse.jdt.ui贡献的,如果你因为某些需要引用了这个包,比如我需要用到这个包中的org.eclipse.jdt.ui.action.MoveAction,用来在Project Explorer右键菜单添加Move。 那么“Ja 阅读全文
posted @ 2013-08-18 22:31 Binhua Liu 阅读(1958) 评论(0) 推荐(2) 编辑