• 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. }  
  • 相关阅读:
    Homework
    自我介绍,恩。。算是吧
    What ASP.NET Developers Should Know About JavaScript
    短信猫软件的C#实现系列文章
    装箱与拆箱
    HTML的基本标签
    CSS基础用法
    ajaxToolkit:AutoCompleteExtender 用法详解
    比较强大的分页存储过程
    不知道写点什么
  • 原文地址:https://www.cnblogs.com/dengyungao/p/7503655.html
Copyright © 2020-2023  润新知