zoukankan      html  css  js  c++  java
  • Eclipse rap 富客户端开发总结(13) :Rap/Rcp保存按钮处理方式

    一、概述

    在做项目的过程中,处理编辑区的保存机制的时候。发现,同样是扩展eclipse 自带的保存和全部保存按钮时候,rcp 工程下,保存按钮可以正常的灰显和可用,但是rap 的按钮就是始终呈现灰显的状态,无论编辑区是否有变化。为了解决这个问题,经过研究在rap 上做了以下处理,问题得以解决。

    二、rap 保存按钮显示的处理

    在项目中保存按钮和全部保存按钮是通过扩展点的方式加载的,而且这个扩展点是eclipse 自身带有的扩展点,可以直接调用,并且调用这个保存扩展点,可以直接拥有和eclipse 编辑区类似的功能操作扩展点的添加方式:

    1 、保存的commandId 直接扩展:org.eclipse.ui.file.save

    2 、全部保存的commandId 扩展:org.eclipse.ui.file.saveAll

    这样保存和全部保存添加上了。处理rap 下保存按钮可用的处理逻辑和代码如下,处理了类 ApplicationActionBarAdvisor 中的相关方法 。

    处理之前的类:

    [java] view plain copy
     
     print?
    1. public class ApplicationActionBarAdvisor extends ActionBarAdvisor {  
    2.     public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {  
    3.         super(configurer);  
    4.     }  
    5.   
    6.     protected void makeActions(IWorkbenchWindow window) {  
    7.     }  
    8.   
    9.     protected void fillMenuBar(IMenuManager menuBar) {  
    10.     }  
    11. }  

    在 ApplicationActionBarAdvisor 这个类中,在 makeActions (IWorkbenchWindow window) 方法中将按钮注册进去就可以了。

    处理之后的类:

    [java] view plain copy
     
     print?
    1. /** 
    2.  *  
    3.  * 工具按钮等相关功能注册 
    4.  *  
    5.  */  
    6. public class ApplicationActionBarAdvisor extends ActionBarAdvisor  
    7. {  
    8.     public ApplicationActionBarAdvisor(IActionBarConfigurer configurer){  
    9.         super(configurer);  
    10.     }  
    11.       
    12.     /** 
    13.      * 工具栏保存、全部保存按钮注册 
    14.      */  
    15. protected void makeActions(IWorkbenchWindow window) {  
    16.     //保存、全部保存按钮的注册  
    17.         register(ActionFactory.SAVE.create(window));  
    18.         register(ActionFactory.SAVE_ALL.create(window));  
    19.         //历史记录回退、重做按钮的注册。  
    20.         register(ActionFactory.UNDO.create(window));  
    21.         register(ActionFactory.REDO.create(window));  
    22.     }  
    23.       
    24.     protected void fillMenuBar(IMenuManager menuBar) {  
    25.     }  
    26. }  
  • 相关阅读:
    table固定头部,tbody内容滚动
    js 中json遍历 添加 修改 类型转换
    SEO优化
    JS对字符串的操作,截取
    移动端 去掉滚动栏
    JS 引擎的执行机制
    Uncaught SyntaxError: Unexpected token ILLEGAL
    利用css 画各种三角形
    js文本公告滚动展示,图片轮播....
    js判断手指的上滑,下滑,左滑,右滑,事件监听
  • 原文地址:https://www.cnblogs.com/dengyungao/p/7503655.html
Copyright © 2011-2022 走看看