`
qq123zhz
  • 浏览: 534584 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Eclipse Action学习 2

阅读更多

 Object Action
这种Action是跟弹出的上下文菜单相关的, 因此它主要用在org.eclipse.ui.popupMenus扩展点下的objectContribution 节点中, 这里有几个属性需要做一下说明
:
adaptable:true
表示能将选中对象适配为objectClass中指定的类型

nameFilter:
这个是用来指定哪种文件类型为当前contribution可用, 比如设置为*.java表示当前action只针对java文件
objectClass:
指定contribution只用于那种对象类型
contribution
的其他属性跟前面介绍的大同小异

contribition过滤和可用性的控制
只有当前选中的文件类型是nameFilter指定的类型, 或者选中的对象是objectClass指定的类型,contribution才会在右键菜单中出现,而是否可用则要通过判断选中的对象是否和enablesFor属性中表达式规定的数量, 表达式的定义包括:!表示选中0, ?表示0个或1, +表示1个或多个, multiple, 2+两个或多个, n表示具体个数, *表示任意个

objectContribution还提供visibility节点来控制contribution可见性, 它比通过nameFilter objectClass控制功能更强, 比如要达到和objectClass="org.eclipse.core.resources.IResource"同样的效果可以这样写:

xml 代码

<objectContribution ...   

  <visibility>  

      <objectClass  

         name="org.eclipse.core.resources.IResource"/>  

  visibility>  

   ...the other stuff here...   

objectContribution>  

如果当前contribution只用于可写的对象,可以这样写:

xml 代码

<objectContribution ...>  

   <visibility>  

      <and>  

         <objectClass  

            name="org.eclipse.core.resources.IResource"/>  

         <objectState name="readOnly" value="false"/>  

      and>  

    visibility>  

   ... the other stuff here ...   

objectContribution>  

visibility包括了not, andor逻辑表达式节点以及adaptBoolean表达式节点, adapt节点会先将选中对象适配为指定类型然后给其下级节点使用,比如这里:

xml 代码

<adapt type="org.eclipse.core.resources.IResource">  

   <objectState name="readOnly" value="false"/>  

adapt>  


首先适配成IResource,然后判断其状态,该节点通常和and操作符结合使用, 如果适配器或者引用的类型没有加载,那么将返回EvaluationResult.NOT_LOADED, 如果指定的类型不存在,将抛出ExpressionException 异常
and
节点只有下级子节点表达式都返回true才为true
instanceof
节点 只有选中的对象是指定的名称时才为true, objectClass不同之处在于,它还可以与其他的元素通过andor元素一起使用

not
节点只有在下级节点返回false才为true
objectClass
看上面的例子就知道了

objectState
比较选中的对象的状态是否指定的值
or
节点只要下级节点中有一个为true就返回为true
pluginState
节点对指定的插件的状态进行检测, 这里的状态有两种:installed或者actived, 比如这样写:

xml 代码

<pluginState id="org.eclipse.pde" value="installed"/>   


表示只有org.eclipse.pde插件安装才可见
systemProperty
举个例子就知道怎么用了

xml 代码

<systemProperty name="user.language" value="en"/>  


systemTest
systemProperty大同小异,只不过它可以通过andor与其他的节点联合使用
test
节点举个例子来说吧:

xml 代码

<test  

    property="org.eclipse.debug.ui.projectNature"  

    value="org.eclipse.jdt.core.javanature"/>  


表示只有选中的是java项目下的对象当前contribution才可见, 如果进行比较的property没有加载,将返回EvaluationResult.NOT_LOADED, 这里指定的进行比较的属性能通过使用org.eclipse.core.expressions.propertyTesters进行扩展,具体的实现可参考org.eclipse.debug.internal.ui.ResourceExtender

 

0
0
分享到:
评论

相关推荐

    EclipseAction深入学习笔记.pdf

    Eclipse Action 深入学习涉及了许多核心概念和机制,它是Eclipse插件开发中不可或缺的部分,用于构建用户界面的交互元素,如菜单、工具栏和上下文菜单。以下是对这些概念的详细解释: 1. **IActionDelegate**: ...

    Eclipse In Action

    《Eclipse In Action》是一本深入探讨Eclipse集成开发环境(IDE)的专业书籍,被誉为学习Eclipse的必备宝典。本书全面覆盖了Eclipse的各项功能和应用,旨在帮助开发者充分利用这个强大的工具提升开发效率和代码质量...

    Eclipse插件开发学习笔记 第三四篇(26-28)+原代码.rar

    Eclipse插件开发 学习笔记 第一篇 开发基础(01-05).rar Eclipse插件开发 学习笔记 第一篇 开发基础(06-10).rar Eclipse插件开发 学习笔记 第二篇 核心技术(11-16).rar Eclipse插件开发 学习笔记 第二篇 核心技术(17-...

    Eclipse in action chapter 2

    ### Eclipse in Action: 第二章知识点详述 #### 一、获取Eclipse 在开始学习Eclipse之前,首先需要从Eclipse官方网站下载安装软件。Eclipse官网提供了多种版本供用户选择,具体可以从以下地址访问:...

    eclipse 配置struts2

    记得在开发过程中,利用IDE的错误提示和日志信息来定位和解决问题,同时也可以借助Struts2的官方文档和社区资源来深入学习和提升。 标签中的“源码”指的是Struts2的源代码,开发者可以通过阅读源码来了解其内部...

    eclipse插件开发学习笔记_教程2

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    《Eclipse插件开发学习笔记》源码

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    eclipse axis2环境搭建

    这个过程涵盖了Eclipse插件的安装、项目创建、库配置、接口编写、WSDL生成、服务部署以及客户端测试等多个环节,是学习和实践Axis2 Web服务开发的基础步骤。通过这种方式,开发者可以快速地在Eclipse环境中开发、...

    Eclipse插件开发 学习笔记 第一篇 开发基础(01-05).rar

    Eclipse插件开发 学习笔记 第一篇 开发基础(01-05).rar Eclipse插件开发 学习笔记 第一篇 开发基础(06-10).rar Eclipse插件开发 学习笔记 第二篇 核心技术(11-16).rar Eclipse插件开发 学习笔记 第二篇 核心技术(17-...

    Eclipse in Action - A GUIDE FOR JAVA DEVELOPERSEclipse_in_Action.rar

    书将指导读者学习如何开发自己的Eclipse插件,以满足特定需求或增强IDE功能。 8. **Web和企业应用开发** 除了Java桌面应用,Eclipse还支持Web和企业级应用的开发。书会涉及动态Web项目、Java EE服务器的配置,以及...

    Eclipse+插件开发学习笔记

    第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、...

    struts 2 源码 导入eclipse工程

    将Struts 2源码导入Eclipse工程,对于学习和理解框架的工作原理以及进行自定义开发具有重要意义。 首先,导入Struts 2源码到Eclipse需要遵循以下步骤: 1. 下载Struts 2的源码包,通常可以从Apache官方网站获取...

    Manning - Eclipse In Action

    4. **调试工具**:深入学习Eclipse的调试器,包括设置断点、单步执行、查看变量值、调用堆栈分析等,以帮助开发者高效定位和解决问题。 5. **构建工具**:介绍使用Ant和Maven进行项目构建,理解构建脚本的编写和...

    Eclipse插件开发学习笔记 第三四篇(22-25).rar

    Eclipse插件开发 学习笔记 第一篇 开发基础(01-05).rar Eclipse插件开发 学习笔记 第一篇 开发基础(06-10).rar Eclipse插件开发 学习笔记 第二篇 核心技术(11-16).rar Eclipse插件开发 学习笔记 第二篇 核心技术(17-...

    Eclipse搭建ssh2的详细步骤

    Eclipse搭建ssh2的详细步骤 Eclipse是当前最流行的集成开发环境(IDE),它提供...同时,我们也学习了如何配置Struts2和Spring的核心设置,如何使用Struts2-Spring插件实现整合,并且如何测试Struts2和Spring的整合。

    eclipse 搭建 struts2 小例子

    在本文中,我们将深入探讨如何使用Eclipse IDE搭建一个基于Struts2框架...通过扩展这个基础,你可以进一步学习Struts2的高级特性,如拦截器、结果类型、国际化、数据校验等,从而更好地掌握Struts2在实际开发中的应用。

    Eclipse插件开发+学习笔记(完整 清晰) part1

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    Eclipse in Action.pdf (gravure)

    2. **工作台和视图**:Eclipse的工作台是一个组织开发环境的主要界面,书中会讲解工作台的基本构成,如透视图、视图和编辑器,以及如何有效地使用它们。 3. **项目管理和构建**:书中会涵盖Eclipse的项目结构,如何...

Global site tag (gtag.js) - Google Analytics