0
を可能にすることを私はfragment.e4xmiでHandledToolItem定義:Eclipseプラグインの開発 - ToolItem奇妙な行動
<fragments xsi:type="fragment:StringModelFragment" xmi:id="_rva08KK6Eeealvq0OCaXXw" featurename="trimContributions" parentElementId="org.eclipse.e4.legacy.ide.application">
<elements xsi:type="menu:TrimContribution" xmi:id="_NDOigKK8Eeealvq0OCaXXw" elementId="xyz.trimcontribution.0" parentId="org.eclipse.ui.main.toolbar" positionInParent="after=additions">
<children xsi:type="menu:ToolBar" xmi:id="_NXC2YKK8Eeealvq0OCaXXw" elementId="xyz.toolbar.1" accessibilityPhrase="ToolItems1">
<children xsi:type="menu:HandledToolItem" xmi:id="_dOkvwKK8Eeealvq0OCaXXw" elementId="xyz.handledtoolitem.1" label="Item1" iconURI="platform:/plugin/xyz-plugin/resources/icons/toolbar/Item1.png" tooltip="" enabled="false" command="_SALb4JItEee5yvRIuSvsRg"/>
</children>
</elements>
</fragments>
私は常に有効/ setEnable方法でtoolItemを無効にするが、私はUI toolItem状態に他の場所でいくつかをクリックしたときにすることができます前の状態に関係なく、有効に変更します。
Eclipse E4で動作します。
これは機能していますが、奇妙な方法です。私はmenuItemsにも同じコマンドを持っています。 「メニューポイント」をクリックすると@CanExecuteが呼び出されますが、eventBroker.sendが実行されたときには実行されませんでした。 –
私も試してみました:eventBroker.send(UIEvents.REQUEST_ENABLEMENT_UPDATE_TOPIC、UIEvents.ALL_ELEMENT_ID); –
UIEvents.REQUEST_ENABLEMENT_UPDATE_TOPICは、ツールアイテムに対して実行可能なcanだけを呼び出します。メニュー項目の場合、メニューが表示されているときだけ呼び出す必要があります。そのため、リクエストを有効にしてもcanを呼び出す必要はありません。 –