2016-04-04 23 views
0

コンテキストメニューをEclipseに貢献しますプロジェクトファセットのために:私はorg.eclipse.ui.menus拡張ポイントを使用して、以下の条件、すなわちを使用して別のことで、これを行うことができ、選択したファイルは、特定のファセットは、私は、次の2つの条件が満たされた場合にのみ、コンテキストメニューを貢献したいときに、ファイルと親プロジェクト満たす条件

を持っているの親プロジェクト

<with variable="activeMenuSelection"> 
    <iterate operator="and" ifEmpty="false"> 
     <adapt type="org.eclipse.core.resources.IProject"> 
      <test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jst.code.quality" forcePluginActivation="true" /> 
     </adapt> 
    </iterate> 
</with> 

およびファイルのための拡張子:

<with variable="activeMenuSelection"> 
    <iterate operator="and" ifEmpty="false"> 
     <adapt type="org.eclipse.core.resources.IFile"> 
      <test property="org.eclipse.core.resources.extension" value="txt" forcePluginActivation="true" /> 
     </adapt> 
    </iterate> 
</with> 

しかし、私はactiveMenuSelection変数はファイルのみが含まれていますし、私はプロジェクトファセットをテストするためにそれを使用することはできませんので、この二つの条件を組み合わせて問題を抱えている、私がアクセスするために使用できる変数があります同じ条件でアクティブなプロジェクトですか?

+0

両方の 'adapt'要素を同じ' iterate'要素の下に置くことは、望みどおりに動作しませんか? – nitind

+0

いいえ、 'activeMenuSelection'変数は親プロジェクトではなく、右クリックしたファイルだけを取得しているため、 – CJ1

答えて

1

org.eclipse.wst.common.project.facet.core.projectFacetテストはIResourceで動作しますので、IFileIProjectで動作します。したがって、テストを組み合わせることができます。

+0

これは動作します。ありがとうございます。将来私はクラスが互いに互換性がないので、私はこれらのように組み合わせることはできませんカスタムプロパティテスターのカップルを作成する必要があります、それを達成するための方法はありますか? – CJ1

+0

あなたは ''演算子を使うことができるかもしれませんが、それは本当に別の質問です。 –

関連する問題