当前位置: 首页 > 面试题库 >

一个人如何使用Eclipse JFace中的IDecorationContext API

吴涵育
2023-03-14
问题内容

是否有IDecorationContext用于标签装饰的示例?

从外观上看,IDecorationContext类似乎提供了某种形式的上下文装饰支持,但是对于我来说,我无法使用此功能找到任何示例代码…

是否有人实际使用过装饰上下文功能,如果可以,它解决了哪些用例?

PS:
我正在寻找一种将图像修饰应用于对象标签的方法,并且根据对象的显示位置,基本图标的大小会有所不同(例如,表和树项目中的传统“小”图标,以及内容标题中的大图标)。

应用于原始图标的装饰应相应选择适当大小的装饰。

IDecorationContext 似乎符合我的需要,但是该文档非常稀疏,可以从开放源代码库的一个次要功能中获得,因此找不到任何示例。

谷歌搜索 “ IDecorationContext”
也没有发现任何有趣的事情,因此我转向StackOverflow众人智慧,希望下一个遇到问题的人能够更快地得到他们的答案;)


问题答案:

我没有使用IDecorationContext,但是可以在中看到它org.eclipse.jface.viewers.LabelDecorator

线程中也对此进行了讨论(即使没有答案,也至少可以为您提供一个起点)

我当前的方法是使用ILightweightLabelDecorator扩展org.eclipse.ui.decorators来向各个图标添加替换覆盖:

public class ProjectLabelDecorator extends LabelProvider 
   implements ILightweightLabelDecorator {

   ...

   public void decorate(Object element, IDecoration decoration) {
      if (element instanceof IFolder) {
         IFolder folder = (IFolder) element;
     try {
            if (folder.getProject().hasNature("rttdt.nature")) {
                if (ProjectNature.isTestcase(folder)) {
                   IDecorationContext context = 
                      decoration.getDecorationContext();
                   if (context instanceof DecorationContext) {
                      ((DecorationContext) context).putProperty(
                         IDecoration.ENABLE_REPLACE, Boolean.TRUE);
                   }
                   decoration.addOverlay(fTestcaseOverlay,
                      IDecoration.REPLACE);
                }
         } catch (CoreException e) {
         }
      }
   }

   ...
}


 类似资料:
  • 问题内容: 我有逻辑,包括从一个系统中选择大量记录,执行多个转换(基于业务规则)并将它们插入到另一个系统中。 将这些记录中的每一个实例化为一个对象,对它们执行转换,然后将所有这些对象插入另一个系统,似乎是一种高性能(和内存)。 在DDD中实现此目标的最佳方法是跳过类/对象并直接通过SQL(也许是存储过程)来做到这一点吗? 有没有更好的方法使用DDD来实现此目标? 注意:系统使用SQL数据库,目前不

  • 问题内容: 我想在由django支持的网站上实现私有下载区域。用户将必须以适当的权限登录才能获得一些静态文件。 您对编写此功能有何建议。有技巧或窍门吗? 提前致谢 更新:也许是由于我的英语不好或我对此体系结构缺乏了解(这就是我要问的原因),但是我的问题是:如何确保对静态文件(由常规Web服务器提供服务,而无需Django的访问)进行控制通过django认证。我将更仔细地阅读django文档,但我不

  • 问题内容: 我可以通过多种方式提出这个问题,例如如何使用Github个人访问令牌配置Jenkins凭据如何使用Github个人访问令牌在Jenkins中克隆Github存储库 所以这是问题 我知道的替代解决方案 连接 Jenkins中的配置,但我的问题是如何使用以下方法与Github建立Github连接 问题答案: 经过来自Stackoverflow的多个线程的多次讨论之后 我发现一个有用的线程。

  • 问题内容: 所以我正在一个项目中,我想要一个包含多个数据流的列表视图。我正在寻找的是这样的东西,但是所有这些都需要在一个列表视图中滚动。 我正在接收的数据流来自firebase,并且该变量是firebase集合的实例。我能够为单个流构建一个列表,所以我知道实例是正确的,我不想共享它,因为当前数据库规则处于测试模式。 此代码使我可以从单个流构建单个对象,并且可以按预期工作。 从这里开始,我觉得我有2

  • 我正在构建一个定制的Java库。我把我的大部分“重复”代码都保存在那里,比如文件处理、字符串处理等。每次我想使用它们时,我都必须将该类复制并粘贴到我正在进行的其他项目中。有没有办法让这个自定义库类成为“依赖项”?我在用我的智能手机。

  • 创建一个匿名PL/SQL块,该块根据SQL参数(例如&variable),按姓氏查找员工,用户在EMPLOYEES表(例如King、Kochhar、De Haan、Hunold、Ernst等)中使用有效的last_name响应该参数。如果employee last_name存在于EMPLOYEES表中,那么在OUTPUT_LOG表中插入以下字符串:'employee is is found'。通过