我想实现Undo和Redo功能,不仅适用于客户端,也适用于服务器端.对于insatnce我有一个div包含图像,我可以旋转调整大小并重写它,图像生成的所有基本操作.并且所有操作都会更新数据库和图像.您可以说我的图像正在重新生成,并且每次操作后都会更新数据库.
现在我需要实现撤消和重做功能.我也做了一些研究.我需要的是如何实现所需任务的最佳方法.我正在考虑维护每个动作"日志类型的东西"或用数据库或javascript数组包括HTML或其他什么来处理它?
什么是实现我的目标的最佳方法.
谢谢,
通过GWT RPC更新对象可以轻松撤消.我们需要在内存中克隆先前的实体状态并在撤消时应用它.
但是当我们使用RequestFactory时,没有具体的更新操作.RequestFactory将实体修改发送到服务器并更新存储库实体本身.我们无法拦截更新过程.
如何对使用RequestFactory进行的更新实现撤消?
我想知道是否有办法在宏运行后保存撤消操作的能力.我不关心宏的结果 - 只需要撤消用户在宏之前完成的操作.
背景:我在worksheet_change事件上有一个宏,用于记录在此工作表上进行更改的人员和时间.我不希望它限制用户撤消他/她的行为的能力.
在我已经体验过Swing之后,我最近开始学习JavaFX API.
我注意到,即使很多类已经在AWT和Swing中实现得很好,它们在JavaFX中得到了有效的重新实现.这包括:
javafx.scene.paint.Color
javafx.event.ActionEvent
Run Code Online (Sandbox Code Playgroud)
与
java.awt.Color
java.awt.event.ActionEvent
Run Code Online (Sandbox Code Playgroud)
而且,即使它很容易需要使用它们.我认为这是为了:
如果我的假设是正确的,为什么它们不包括新的实现:
javax.swing.undo
Run Code Online (Sandbox Code Playgroud)
包?
虽然我知道撤消实际上与用户界面无关,所以,它与Swing无关.如果由于任何原因他们决定将其包含在javax.swing包中,那么它们可以将它包含在JavaFX中.
是否有任何快捷方式允许用户撤消更改(类似于command+z)但返回到上次保存文件的时间?我目前通过关闭文件、放弃更改并重新打开它们来完成此操作,但这很乏味。谢谢!
我正在尝试使用命令模式在我的应用程序中实现撤消/重做功能.我遇到了问题.
为了说明它,让我们假设您可以使用我的应用程序创建2D配置文件(尽可能多).
然后,您可以从这些2D轮廓创建具有不同属性(名称,颜色,比例等)的3D零件.
+--------------+ +--------------+ +--------------+
| 2D profile A | | 2D profile B | | 2D profile C |
+--------------+ +--------------+ +--------------+
| | |
| +---------------+ +---------------+
| | 3D Part B | | 3D Part C |
| | Colour : blue | | Colour : grey |
| | Name : bibi | | Name : foo |
| | Scale : 33% | | Scale : 100% |
| +---------------+ +---------------+
+--------------+ …Run Code Online (Sandbox Code Playgroud) 在执行恢复缓冲区或使用自动恢复模式后,如何让Emacs保留其缓冲区的撤消历史记录?
在Vim中,如果在光盘上更改了缓冲区中打开的文件,Vim会提示我重新加载该文件.然后,如果我愿意的话,我可以简单地点击"你"来撤消重新加载,甚至可以从那时起再往前走.当我恢复缓冲区时,Emacs似乎丢弃了所有撤消信息.
我正在考虑使用COM(而不是 VBA)实现Excel加载项,它将操作工作表中的数据.
我将需要这个加载项与Undo堆栈无缝集成.进一步来说:
到目前为止,在我的(尽管是敷衍的)研究中,目前还不清楚Excel是否可以允许这样做.如果没有,这是一个showstopper,加载项将没有任何价值.
我的问题:这可能吗?这更像是一个"是或否"的问题,而不是一个"如何"的问题,因为我需要知道我是否正在开始疯狂的追逐.但是,关于如何做到的任何指示都将是一个奖励.
事实上,我知道如何使用CTRL+ Z(Undo)和CTRL+ Y(Redo)与一个JTextField实现.但是我的Swing应用程序中有数百个文本组件,所以有没有办法将它应用于我的应用程序中的所有文本组件,所以当我在任何文本组件中单击CTRL+ Z时,它将撤消该字段中的最后一个条目?
我试图在EventQueue中实现它,但它没有用!
我有一个Vimscript函数,它被调用BufWritePre以检查文件的完整性.通常,这涉及修剪空白并检查折叠结构是否"有效"(根据我公司的惯例).
我的问题是,如果我编辑文件然后保存它,撤消树包含检查功能所做的编辑.有没有一种简单的方法可以说我不希望函数修改撤销树?或者我可以在函数开始时保存其状态并在结束时恢复它吗?