当前位置: 首页 > 知识库问答 >
问题:

工具栏撤消重做Eclipse RCP

督飞羽
2023-03-14

我基本上有以下几点:

<menuContribution locationURI="menu:com.myprog.menus.edit?after=undo">
<command commandId="org.eclipse.ui.edit.undo" label="Undo" style="push">
</command>
<command commandId="org.eclipse.ui.edit.redo" label="Redo" style="push">
</command>
</menuContribution>
<menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar">     
     <toolbar id="com.myprog.ui.undo">
        <command commandId="org.eclipse.ui.edit.undo" label="Undo" style="push">
        </command>
        <command commandId="org.eclipse.ui.edit.redo" label="Redo" style="push">
        </command>
     </toolbar>
</menuContribution>

什么可能会导致这种情况?只有工具栏按钮不工作是如此奇怪。如果所有的撤消/重做机制都不起作用,我会感觉更好。

共有1个答案

翟俊远
2023-03-14

对于菜单项,Eclipse每次显示菜单时都会检查启用,但是对于工具栏,您必须告诉Eclipse何时更新启用。

您可以使用事件代理来执行此操作。在3.x兼容性RCP使用中:

IEventBroker eventBroker = (IEventBroker)PlatformUI.getWorkbench().getService(IEventBroker.class);

eventBroker.send(UIEvents.REQUEST_ENABLEMENT_UPDATE_TOPIC, UIEvents.ALL_ELEMENT_ID);
 类似资料:
  • 我刚从Eclipse转移到Android Studio,当我尝试执行Ctrl+z/Ctrl+y撤消/重做代码更改时,发现了非常奇怪的行为。 IDE中的“撤消”和“重做”按钮似乎工作正常,所以快捷键可能出了问题(这将令人惊讶,因为我应该只有一个标准的安装/设置)。 如果有人能建议该做什么,那么Ctrl和Z/Ctrl+Y将以预期的方式工作。

  • 我目前正在Mac上使用Eclipse版本:2020-06(4.16.0)。当我去日食

  • 我在画布上的撤消和重做操作有问题。我注意到,如果在Ondraw()方法中不使用canvas.drawbitmap,下面的代码可以工作,但是我需要绘制到位图,这样我就可以保存画布图像和加载图像。好心帮帮我。下面是我的代码。

  • 在应用中构建撤销和重做功能往往需要开发者刻意地付出一些精力。对于经典的 MVC 框架来说,这不是一个简单的问题,因为你需要克隆所有相关的 model 来追踪每一个历史状态。此外,你需要考虑整个撤销堆栈,因为用户的初始更改也是可撤销的。 这意味着在 MVC 应用中实现撤销和重做功能时,你不得不使用一些类似于 Command 的特殊的数据修改模式来重写你的应用代码。 然而你可以用 Redux 轻而易举

  • Git提供了多种修复你开发过程中的错误的方法. 方法的选择取决于你的情况: 包含有错误的文件是否提交了(commited); 如果你把它已经提交了, 那么你是否把有错误的提交已与其它人共享这也很重要. 修复未提交文件中的错误(重置) 如果你现在的工作目录(work tree)里搞的一团乱麻, 但是你现在还没有把它们提交; 你可以通过下面的命令, 让工作目录回到上次提交时的状态(last commi

  • 我正试图在Android中做一个向后兼容的工具栏,我遵循了多种风格指南中给出的所有建议来尝试和完成这个。然而,它似乎仍然不起作用。风格是这样的: 这是工具栏: 这是onCreate方法的主要活动: 不太确定出了什么问题,因为我遵循了许多消息来源给出的所有说明。这是日志: 我花了几个小时研究这段代码,以及无数的教程和StackOverflow问题,但是毫无用处。如果有人能帮助我,我将不胜感激。提前感