大部分来自忘记了出处的转载。

1、  扩展org.eclipse.ui.decorators扩展点

清单 1. Decorators 扩展点 XML 定义

<! ELEMENT decorator (description? , enablement?)>

<! ATTLIST decorator

id             CDATA #REQUIRED

label         CDATA #REQUIRED

class         CDATA #IMPLIED

objectClass  CDATA #IMPLIED

adaptable    (true | false)

state         (true | false)

lightweight  (true | false)

icon          CDATA #IMPLIED

location     (TOP_LEFT|TOP_RIGHT|BOTTOM_LEFT|BOTTOM_RIGHT|UNDERLAY|REPLACE)>

对于扩展点中一些比较重要的属性我们需要先了解一下:

label 和 description 属性用来定义 Decoration 实现在配置页面中的标签和描述,用户可以通过这两个属性的定义很方便的在配置页面中找到定义的 Decoration。

state 属性用来描述默认情况下 Decoration 是否开启 , 用户可以在配置页面中手动开启或关闭某一个 Decoration 的定义。

lightweight 属性用来描述当前 Decoration 是否是轻量级。对于轻量级的 Decoration, 用户可以不定义 Decoration 的 class 实现类属性,取而代之可以使用 icon 属性定义装饰用的小图标和用 location 属性定义图标被装饰的位置。如果需要对轻量级的 Decoration 设置实现类,可以使用class 属性并且对应的实现类应该继承自org.Eclipse.jface.viewers.ILightweightLabelDecorator。对于重量级的 Decoration,必须使用 class 属性定义 Decoration 的实现类并且实现类应该继承自org.Eclipse.jface.viewers.ILabelDecorator。

objectClass 属性用来定义被装饰的对象类型,结合 adaptable 属性使用用来定义 objectClass 属性所定义的对象类型是否接受被适配过来的形式。

2、  添加decorator,并增加一个Decorator类

ILightweightLabelDecorator接口提供了轻量级的Decorator

3、  实现ILightweightLabelDecorator接口

public void decorate(Object element, IDecoration decoration) {

boolean containsError = false;

if (element instanceof IContainer) {

containsError = verifyContainer((IContainer) element);

} else if (element instanceof IFile) {

containsError = verifyFile((IFile) element);

}

if (containsError) {

decoration.addSuffix(" [Error]");

decoration.addOverlay(

Activator.getImageDescriptor("/icons/error.gif"),

IDecoration.BOTTOM_RIGHT);

}

4、  }

学习: 导航器添加修饰符相关推荐

  1. swift 基础学习之属性修饰符

    1,private private 访问级别所修饰的属性或者方法只能在当前类里访问. (注意:Swift4 中,extension 里也可以访问 private 的属性.) 原文:Swift - 访问 ...

  2. Vue学习01-v-on事件修饰符

    v-on事件修饰符: .stop:阻止标签的向外冒泡行为 如div内部有个button,但是div和button都有点击事件.此时只希望点击按钮时触发按钮点击事件,不触发div点击事件,那么v-on: ...

  3. JAVA知识学习——类的修饰符

    Java程序在定义类时,除了使用class关键字标识之外,还可以在class之前增加若干类的修饰符来修饰限定所定义的类的特性.类的修饰符分为访问控制符和非访问控制符两大类.修饰符之间的先后排列次序对类 ...

  4. gnu java_【Java学习笔记】修饰符

    1.修饰顶层类(不是指在一个类中定义的类)包括abstract.public.final.局部变量只能用final修饰. 2.一个类中,可以访问类本身或内部类的实例的私有成员. 3.abstract修 ...

  5. Vue学习:事件修饰符

    当使用连接点击,触发默认事件时,会出现跳转,跳转是默认行为,可以取消 <!-- 准备容器 --><div id='root'> <h2>欢迎页面,你好 {{name ...

  6. Java学习——使用Static修饰符

    程序功能:通过两个类 StaticDemo.LX4_1 说明静态变量/方法与实例变量/方法的区别. package Pack1;public class Try {public static void ...

  7. 深入浅出OOP(五): C#访问修饰符(Public/Private/Protected/Internal/Sealed/Constants)

    访问修饰符(或者叫访问控制符)是面向对象语言的特性之一,用于对类.类成员函数.类成员变量进行访问控制.同时,访问控制符也是语法保留关键字,用于封装组件. Public, Private, Protec ...

  8. bem css_CSS体系结构:块元素修饰符(BEM)和原子CSS

    bem css The following is a short extract from Tiffany's new book, CSS Master, 2nd Edition. 以下是Tiffan ...

  9. 《Java SE实战指南》10-01:特性修饰符概述

    内容导航: 前言 1.定义 2.使用场景 前言 通过前面的学习,我们基本掌握了Java编程语言中项目结构.类结构和对象.词法结构,还学习了访问级别修饰符.数据类型.运算符.流程控制等基础知识,接下来, ...

最新文章

  1. 20190318-使用类做一个简单的图书馆管理系统
  2. Java多线程--synchronized修饰普通方法和修饰静态方法的区别
  3. 【SpringBoot】在SpringBoot中使用Ehcache
  4. Slimer软工课设日报-2016年6月30日
  5. 光凭 5G 根本无法解决宽带问题!
  6. MySQL中根据A表画更新B表
  7. 用户故事与敏捷方法笔记 --- 用户故事
  8. DataSource
  9. 关于网页背景图怎样自动适应屏幕大小
  10. java游戏魔界村_魔界村(附秘籍)游戏下载-魔界村游戏最新版v2.0-爱单机
  11. 2023山东大学计算机考研信息汇总
  12. 计算机没有网络时间不准如何设置,轻松解决电脑时间不准的方法
  13. 当你对成功的渴望足以与你对呼吸的渴望相媲美的时候,你就会成功!
  14. 补码一位乘(布斯公式)
  15. go语言工作目录都有什么?GOPATH下的目录结构
  16. 拿下今年最大笔潮玩市场融资,52TOYS投资价值几何?
  17. 数字图像处理领域的二十四个典型算法
  18. IoT物联网设备数据安全解决方案
  19. Anaconda+tensorflow+win10安装包和教程(2021年12月)
  20. COMTRADE录波文件格式定义

热门文章

  1. Linux之crontab命令
  2. java RMI 笔记
  3. C# 合并多种格式文件为PDF
  4. PHP for 循环
  5. 数据结构 实践项目——数据结构、算法、程序设计
  6. Web网站压力测试工具
  7. SQL Server自定义函数(Table-valued Functions)
  8. ASP与SQL数据库连接及SQL常用命令使用方法
  9. 单元测试总结反思_我的2019反思与总结
  10. 测绘技术设计规定最新版_福建省住宅工程设计若干技术规定-给排水专业