知识大全 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)

  

cha138/Article/program/Java/ky/201311/28813

相关参考

知识大全 artdialog的图片/标题以及关闭按钮不显示的解决方法

cha138/Article/program/Java/JSP/201311/20393

什么叫电动车窗的单触打开和单触关闭功能?

除了中间的那个安全开关,其余四个按钮都具有单触打开和单触关闭功能。  什么叫单触打开和单触关闭功能呢?  这四个按钮都有两档位置,我们分别叫它一档和二档。  所谓单触关闭门窗,就是将相应门窗的电动按钮

除了备用盘或CRT上燃油跳闸阀关闭按钮被操作外,下列()中任一条件满足时,燃油跳闸阀都将立刻跳闸。

除了备用盘或CRT上燃油跳闸阀关闭按钮被操作外,下列()中任一条件满足时,燃油跳闸阀都将立刻跳闸。A、任一油枪三位阀未关,雾化蒸汽压力低B、任一油枪三位阀未关,燃油母管压力低C、燃油泄漏试验时,关跳闸

除了备用盘或CRT上燃油跳闸阀关闭按钮被操作外,下列()中任一条件满足时,燃油跳闸阀都将立刻跳闸。

除了备用盘或CRT上燃油跳闸阀关闭按钮被操作外,下列()中任一条件满足时,燃油跳闸阀都将立刻跳闸。A、任一油枪三位阀未关,雾化蒸汽压力低B、任一油枪三位阀未关,燃油母管压力低C、燃油泄漏试验时,关跳闸

在Word主窗口的右上角、可以同时显示的按钮是

在Word主窗口的右上角、可以同时显示的按钮是_____。A、最小化、还原和最大化B、还原、最大化和关闭C、最小化、还原和关闭D、还原和最大化答案:C解析:最小化、还原和关闭可以同时显示。Word主窗

知识大全 电脑版uc浏览器怎么手动屏蔽广告

电脑版uc浏览器怎么手动屏蔽广告可以在360安全卫士的“功能大全”里找到“弹窗拦截”工具,运行uc浏览器屏蔽广告怎么恢复打开UC浏览器神手机版,从板面最下方选择【中间的功能按钮】。在从显示的小板面上选

知识大全 js关闭模态窗口刷新父页面

  有两个窗口A窗口(父)B窗口(模态)  A窗口里有一个DATAGRID一个按钮  点击按钮时弹出B窗口(模态)在B窗口中添加数据提交后要求B窗口自关闭然后刷新A窗口(父)  <scriptt

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

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

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

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

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

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