Как использовать более одного условия <instanceof>в <visibleWhen>? - PullRequest
1 голос
/ 13 августа 2011

Есть два условия для появления всплывающего меню: я использую <instanceof..> внутри тега <visibleWhen> в моем plugin.xml? Я использовал <or>...<instance of>...</or>, но, похоже, он не работает. Ниже приведен код

 <visibleWhen>
                 <with  variable="selection">
                            <iterate ifEmpty="false" operator="or">

                         <instanceof value="org.eclipse.core.resources.IFolder"/>
                         <test property="org.eclipse.core.resources.projectNature" 
                           value="org.eclipse.wst.jsdt.core.jsNature"/>
                           <or>
                            <instanceof value="org.eclipse.core.resources.IProject"/>
                             <test property="org.eclipse.core.resources.projectNature" 
                             value="org.eclipse.wst.jsdt.core.jsNature"/>
                           </or>
                  </iterate>
                  </with>
               </visibleWhen>

Любые входные данные будут действительно полезны!

Спасибо, Аббас

1 Ответ

3 голосов
/ 13 августа 2011

Я думаю, что вы используете <or> неправильно (см. http://wiki.eclipse.org/Command_Core_Expressions):

<with variable="selection">
    <iterate ifEmpty="false" operator="or">
        <or>
            <and>
                 <instanceof value="org.eclipse.core.resources.IFolder"/>
                 <test property="org.eclipse.core.resources.projectNature" 
                       value="org.eclipse.wst.jsdt.core.jsNature"/>
            </and>
            <and>
                 <instanceof value="org.eclipse.core.resources.IProject"/>
                 <test property="org.eclipse.core.resources.projectNature" 
                       value="org.eclipse.wst.jsdt.core.jsNature"/>
            </and>
       </or>
   </iterate>
</with>
...