我正在开发Eclipse产品。我已经定义了两个不同的视角,编辑和调试。在调试透视图的工具栏中,我放置了一组按钮来指导调试过程流程(例如,跳过步骤,步入等等)。我使用eclipse命令来实现逻辑。在pluxin.xml的片段下面,我声明了工具栏命令。
<toolbar
id=".."
label="Debug navigation command">
....
<command
commandId="org.eclipse.debug.ui.commands.Terminate"
disabledIcon="icons/16x16/stop_disabled.ico"
icon="icons/16x16/stop.ico"
label="Terminate"
style="push"
tooltip="Terminate">
<visibleWhen
checkEnabled="false">
<with
variable="activeWorkbenchWindow.activePerspective">
<equals
value="org.xvr.xvrengine.perspective.debug">
</equals>
</with>
</visibleWhen>
</command>
</toolbar>
问题是虽然与命令org.eclipse.debug.ui.commands.Terminate关联的所有其他图标都是由eclipse更新的(仅当在调试视图中选择了进程时才激活),但我定义的命令是没有更新。如果我更改透视图然后切换回调试透视图,编辑器将更新命令图标。
如何更新命令图标?可以使用默认的eclipse图标吗?如果我将“icon”条目留空,则工具栏中将填充命令标签。
感谢
答案 0 :(得分:0)
很抱歉,但我不清楚你想要达到什么目标。如果您想创建调试器,我建议重复使用现有框架,请参阅http://eclipse.org/articles/Article-Debugger/how-to.html和http://eclipse.org/articles/Article-Launch-Framework/launch.html
在这种情况下,您将自动获得相应更新的调试框架图标。
否则,您可以咨询http://blog.eclipse-tips.com/2009/02/commands-part-5-authentication-in-rcp.html以获取动态命令处理的想法。
更新:备选答案:
您可以使用fireEvent(new DebugEvent(this, DebugEvent.RESUME, detail));
,如以下Eclipse Corner文章末尾所述:http://eclipse.org/articles/Article-Debugger/how-to.html
这在Debug Events部分中描述。我相信,这很接近你所需要的。
答案 1 :(得分:0)
有两个地方可以控制命令的启用状态。
org.eclipse.core.commands.AbstractHandler.setBaseEnabled(boolean)
启用状态将被反映出来
在UI中