zoukankan      html  css  js  c++  java
  • eclipse core expression usage

    http://codeandme.blogspot.com/2012/04/expression-examples.html

    We need to set checkEnabled on the visibleWhen element to false, otherwise the expression will not be active. The withsection uses activePartId as source. It is a string containing the ID of the active view/editor (see description).

    http://wiki.eclipse.org/Command_Core_Expressions#Variables_and_the_Command_Framework

    Core expressions are declarative or programmatic expressions based on the org.eclipse.core.expressions plugin. 通过org.eclipse.core.expression 去实现

    The Platform Command Framework uses core expressions for enabledWhen and activeWhen for handlers, programmatic activation of contexts, and for visibleWhen for menu contributions. The command framework provides the IEvaluationContext that command core expressions are evaluate against.

    The IEvaluationContext provides a default variable for evaluations, and a number of named variables. In the command framework, we provide the global selection as ajava.util.Collection as the default variable. It can either be empty, have one entry (if the ISelection was something like an ITextSelection), or have the contents of an IStructuredSelection.

    The <with/> element can be used to change which variable the child expression elements are evaluating against.

     

    eclipse plugin中的command引入了core expressions 去激活对应的command

    enabledWhen,activeWhen是用于handler;

    visibleWhen适用于menu菜单

     

    Re-Usable expressions

    Sometimes you will end up with having the same expression in many different places. When one of them changes, you have to change them all. Obviously, this is inefficient and not very handy - let alone error prone. You can get around this problem by using definitions and re-use expressions that are declared elsewhere.

    The expression from the example above can be declared using the org.eclipse.core.expressions.definitions extension point, and then re-used using the<reference> element:

    重用表达式

     

    http://wiki.eclipse.org/Platform_Expression_Framework

    • Should an context menu be enabled and/or visible in a context menu   menu应该不应该显示或者是可用
    • Which implementation for a command handler to use depending on the current context    在当前上下文哪个handler应该被用
    • Which label provider to use for an object     哪个provider应该被用
    • Which content provider can provide children for an object in a tree

    <or>element 包含一个表达式块

    表达式块:

    instanceof:

    adapt:

     <reference
              definitionId="org.acme.navigator.enablement">
        </reference>

    Usually, expressions check the default variable in the evaluation context. However, it is possible for an expression to select a specific variable from the context using the <with> element (examples below).

    通常是检查默认的变量,但是可以通过with来检查变量。

    当处理一个collection的时候我们通常想要知道这个collection中的内容

    这里用到了<iterate> <count>

    They require an iterable object to work (otherwise they fail with an error message on the console)他们必须是一个可迭代的对象。

    默认的变量时当前的选中的,但是可能是整个结构。

    ITextSelection), or contain the elements of an IStructuredSelection.

    adapt,and,or,not 可以包含内部元素。

    count不能包含元素,他是计算collection中的元素数目。

    它最好可以与<iterate>使用遍历里面的所有元素个数。

    <count value=”2” />

    <iterate ifempty=’’false”>

        <instance of value=”” />

    </iterate>

    resolve将要不会再用。

    As of eclipse 3.5, there is no implementation in either the command framework or the common navigator framework for IVariableResolver, so the <resolve> operator is of no use for them.

    systemTest

    测试系统中的属性值

    java.lang.System.getProperties

    With

    将要定义一个变量进行校验。必须要用子元素。可以使系统的变量。

    例如当前激活的窗口等等。

  • 相关阅读:
    学派:儒学
    学派:儒家
    佛教-文章:释迦牟尼佛最有灵性的4句话
    阿里云-OSS-Help-安全白皮书:白皮书
    佛教-揭语:诸法因缘生,我说是因缘;因缘尽故灭,我作如是说;诸法从缘起,如来说是因;彼法因缘尽,是大沙门说。
    深度学习系列之ANN
    IDEA无法启动:Failed to create JVM:error code -4
    Windows8-x64 VMWare安装Linux CentOS6-x64
    [数位dp] bzoj 3209 花神的数论题
    UVALive 6084 Happy Camper(数学题)
  • 原文地址:https://www.cnblogs.com/seniortestingdev/p/4032580.html
Copyright © 2011-2022 走看看