知识大全 Eclipse RCP编辑器关闭的屏蔽方法

Posted

篇首语:不戚戚于贫贱,不汲汲于富贵。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Eclipse RCP编辑器关闭的屏蔽方法相关的知识,希望对你有一定的参考价值。

Eclipse RCP编辑器关闭的屏蔽方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

通过设断点跟踪Eclipse RCP的代码 发现编辑器上的关闭按钮其实并不属于Editor控件的一部分 而是editor所属容器的 具体层次结构没有深入去研究 总之按钮是加在AbstractTabFolder这样一个控件上的 RCP在启动时 会通过默认的WorkbenchPresentationFactory在生成GUI上的DefaultTabFolder 并且默认具有关闭按钮 因此屏蔽关闭按钮就从此入手     首先 在ApplicationWorkbenchWindowAdvisor类的preWindowOpen()方法中注册我们自己定制的PresentationFactory     Java代码     configurer setPresentationFactory(new UnCloseableEditorPresentationFactory())     UnCloseableEditorPresentationFactory类继承WorkbenchPresentationFactory类 为了不影响别的GUI功能 我们只需要重写public StackPresentation createEditorPresentation(Composite parent IStackPresentationSite site)方法中的关于设置TableFolder的部分 具体如下     Java代码     DefaultTabFolder folder = new UnCloseableEditorFolder(parent editorTabPosition | SWT BORDER     site supportsState(IStackPresentationSite STATE_MINIMIZED)     site supportsState(IStackPresentationSite STATE_MAXIMIZED))     …    该方法中其余部分代码 把父类的复制过来即可     最后就是定义我们自己的UnCloseableEditorFolder了    Java代码     public UnCloseableEditorFolder(Composite parent int flags boolean allowMin boolean allowMax)    super(parent flags allowMin allowMax)         @SuppressWarnings( restriction ) public AbstractTabItem add(int index int flags)        return super add(index flags ^ SWT CLOSE)         以上就是需要定制的代码 另外 UnCloseableEditorPresentationFactory类中 我们还可以public StackPresentation createEditorPresentation(Composite parent IStackPresentationSite site)中定制StandardViewSystemMenu 从而去掉RCP中编辑器folder上的菜单中的close closeall new editor等菜单    Java代码     class StandardEditorSystemMenu extends StandardViewSystemMenu     /**    * @param site    */    public StandardEditorSystemMenu(IStackPresentationSite site)        super(site)         String getMoveMenuText()        return WorkbenchMessages EditorPane_moveEditor;        /* (non Javadoc)    * @see eclipse ui internal presentations util ISystemMenu#show( eclipse swt widgets Control eclipse swt graphics Point eclipse ui presentations IPresentablePart)    */    public void show(Control parent Point displayCoordinates     IPresentablePart currentSelection)        super show(parent displayCoordinates currentSelection)             以上就是个人从事RCP几年来一点小小的心得体会 cha138/Article/program/Java/ky/201311/28042

相关参考

知识大全 eclipse中文本编辑器的换行

  Eclipse使用系统内置的TextEditor做为文本编辑器这个文本编辑器有一个长期存在的问题那就是文本无法换行虽然这个问题长期存在而且解决起来并不困难但是这却给人们带来不少麻烦 &n

知识大全 带你认识Eclipse XML编辑器

带你认识EclipseXML编辑器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Eclipse

知识大全 Eclipse编辑spring配置文件时提示功能

Eclipse编辑spring配置文件时提示功能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 RCP获取当前插件项目路径

RCP获取当前插件项目路径  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  今天需要获取插件项目下

知识大全 如何制作最小的RCP程序压缩包

如何制作最小的RCP程序压缩包  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  如果开发完了一个R

知识大全 Eclipse快捷键指南

Eclipse快捷键指南  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!编辑作用域 功能&

知识大全 修改php.ini让屏蔽程序的错误信息

  提供一点资料给你  display_errors=On  php缺省是打开错误信息显示的我们把它改为  display_errors=Off  关闭错误显示后php函数执行错误的信息将不会再显示给

知识大全 简书mac版关闭夜间模式怎么改

简书mac版关闭夜间模式怎么改按照iwork或者officeformac版的,都可以打开、编辑、保存。最新版本的iwork09和office2011formac支持office2010格式的。两个软件

知识大全 手机浏览器 百度网页下边的新闻推送有办法关闭嘛 如图 很烦躁下边的推送

手机浏览器百度网页下边的新闻推送有办法关闭嘛如图很烦躁下边的推送用360一键root后,有一个屏蔽广告的功能。如何关闭QQ浏览器的新闻推送,请问QQ浏览器新闻推送如何关闭,所有的,您是说的手机还是电脑

知识大全 百度知道的。今日热点可以去除掉吗

百度知道的。今日热点可以去除掉吗?百度知道app首页推荐内容是百度热点小组编辑的目前无法关闭该板块,即使选择不感兴趣,之后仍会推送目前只能用回旧版本,希望百度能接受用户建议,设置成不想看能选择关闭。怎