私はCheckStateChangedEvent.ContainerCheckedTreeViewer
を使用して私のカスタムタイプmy.application.Term
のorg.eclipse.swt.widgets.Tree
を視覚化するEclipseビューを開発しています。 Term
は、org.eclipse.emf.ecore.EObject
に拡張されたインターフェイスです。EclipseはvisibleWhenを使用して特定のタイプのコンテキストメニューを表示します
Term
をクリックした場合にのみ、いくつかのコマンドを含むコンテキストメニューを表示したいとします。
<menuContribution
locationURI="popup:my.application.View">
<command
commandId="my.application.renameterm"
tooltip="Rename this term">
<visibleWhen
checkEnabled="false">
<with variable="activeMenuSelection">
<iterate
ifEmpty="false">
<instanceof value="my.application.Term"/>
</iterate>
</with>
</visibleWhen>
</command>
</menuContribution>
私は<iterate>
要素またはcheckEnabled
を残してのようないくつかのことを試してみました。しかし、私が試しているものとは関係なく、Term
をクリックしたときだけでなく、私のビュー内を右クリックするたびにコンテキストメニューが表示されます。
私はここで何が欠けていますか?
私の質問でその詳細を忘れているかもしれませんが(ちょうど追加しました)、私はすでに 'TreeViewer'である' org.eclipse.ui.dialogs.ContainerCheckedTreeViewer'を使用しています。 – Stephan
そして 'setSelectionProvider'を呼び出しましたか?あなたのツリーコンテンツプロバイダは、ツリーのオブジェクトとして何を返しますか? 'instanceof'によってテストされるのはこれらのオブジェクトですか? –