У меня есть проблема, из-за которой я не могу устранить неполадки.У нас есть две перспективы, которые содержат одну и ту же точку зрения.Это представление имеет меню, которое включено на основе instanceof.Если я выбираю элемент из дерева и щелкаю правой кнопкой мыши, меню включается, потому что экземпляр instanceof квалифицирован.Если я затем переключусь на другую перспективу, которая имеет тот же вид, выбор в дереве не изменится, но если я щелкну правой кнопкой мыши на том же выбранном элементе, меню больше не будет активировано.Я должен выключить вид и вернуться, чтобы снова включить меню.Вот как я определил plugin.xml.Я думаю, что plugin.xml - это хорошо, потому что он прекрасно работает, когда НЕ меняет перспективу.Мне просто нужно выяснить, почему изменение перспективы обновляет меню, но не перепроверяет.
Кроме того, если я переключаюсь на перспективу, которая не содержит этого вида, меню включается, когда я возвращаюсь.
<extension
point="org.eclipse.ui.commands">
<command
id="com.cerner.automation.touchstone.workflow.Modify"
name="%com.cerner.automation.touchstone.workflow.Modify.label">
</command>
<extension
point="org.eclipse.ui.handlers">
<handler
commandId="com.cerner.automation.touchstone.workflow.Modify">
<enabledWhen>
<with
variable="selection">
<iterate
ifEmpty="false"
operator="and">
<instanceof
value="com.cerner.automation.touchstone.model.ModuleItem">
</instanceof>
</iterate>
</with>
</enabledWhen>
</handler>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:com.cerner.automation.touchstone.views.ModuleView">
<command
commandId="com.cerner.automation.touchstone.workflow.Modify"
icon="icons/modify.png"
label="%com.cerner.automation.touchstone.workflow.Modify.label"
style="push">
</command>
</menuContribution>
</extension>