问题标签 [undo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
730 浏览

objective-c - 如何取消正在进行的撤消/重做操作?

几个月来我一直在修补 Cocoa,并且正在尝试将撤消/重做支持添加到我正在编写的一个严格用于学习目的的 Cocoa 应用程序中,该应用程序允许您调整 iTunes 曲目元数据。多亏了 NSUndoManager 的prepareWithInvocationTarget:方法,我已经具备了基础知识——例如,您可以撤消/重做对所选曲目的播放计数和上次播放日期的更改。(我正在使用 appscript-objc 来获取/设置 iTunes 曲目数据。)

但是,由于更新大量 iTunes 曲目可能需要一些时间,我想让用户能够在进行中取消撤消/重做操作,但我没有看到一个明显的机制来完成这个使用 NSUndoManager。我该怎么做呢?

编辑:
澄清一下,再考虑一下,我想我真正想要的是一种操作撤消/重做堆栈的方法,这样我就可以避免 Rob Napier 在他的回答中提到的“不一致状态”。

因此,为了响应未进行任何更改而失败的撤消操作(例如,在调用撤消之前,用户打开了阻止 Apple 事件的 iTunes 首选项窗口),撤消操作可以保留在撤消堆栈的顶部,并且重做堆栈将保持不变。如果操作在中途被取消或失败,那么我想将一个操作推送到重做堆栈上,该操作可以反转经过的更改(如果有的话),并在撤消堆栈顶部进行一个操作,该操作应用未完成的更改'成功。我想在撤消堆栈和重做堆栈之间有效地拆分操作可能会引起用户混淆,但这似乎是处理该问题的最宽容的方式。

我怀疑这个问题的答案可能是“编写你自己的该死的撤消管理器”,“你的撤消操作不应该失败”或“你不必要地过度复杂化”,但我很好奇。:)

0 投票
7 回答
123390 浏览

svn - SVN 在提交前撤消删除

如果您从 SVN 工作副本中删除了一个目录,但尚未提交,那么如何取回它并不明显。当您键入“svn undo d”时,Google 甚至建议将“svn undo delete before commit”作为常见查询,但搜索结果无济于事。

编辑:我想要一个适用于颠覆 1.4.4 的解决方案

0 投票
1 回答
1287 浏览

java - 使用撤消按钮在 Java ArrayList 中移动

我知道我在这里遗漏了一些简单的东西。除了浏览我的 ArrayList 之外,我已经完成了所有的作业。这是计算器的撤消功能,我需要从 ArrayList 中提取和删除对象。这是方法:

全班都在这里

状态等级

谢谢你的帮助。我知道我错过了如何将对象从 ArrayList 中拉出然后将其删除。

0 投票
6 回答
2543 浏览

visual-studio - Visual Studio:从撤消/重做堆栈中排除大纲

在 Visual Studio 中有一些非常烦人的东西:当我展开或折叠一个方法或代码区域时,此操作会被推送到撤消堆栈上。因此,如果我在方法中编辑一些代码,然后折叠该方法,然后想要撤消我的更改,我必须撤消两次:一次用于折叠操作,一次用于代码更改。如果您在编辑代码后展开或折叠了几件事,这可能会非常令人困惑,编辑器不断跳转到不同的地方并且您不知道您的更改是否已撤消......

所以我的问题是:是否可以禁用该行为?即,撤消堆栈中仅考虑代码的更改?

PS:我使用的是 Visual Studio 2008


如果这种行为也让您烦恼,请在 UserVoice 上投票解决它

0 投票
4 回答
54732 浏览

svn - 如何撤消合并(不提交)?

我只是svn merge将更改从主干合并到分支:

但是有太多的冲突,所以我想撤销它。

一种方法是提交然后合并回来。但由于冲突,我无法提交。在这种情况下撤消的最佳方法是什么?

0 投票
1 回答
2134 浏览

iphone - 如何将 NSUndoManager 与 UIImageView 或 CGContext 一起使用

我有一个应用程序,它使用 cgcontext 将事物绘制到用户使用触摸事件绘制的 UIImageView 上,并且我希望能够撤消用户绘制的绘图。

编辑:


我正在尝试使用我的 touchesBegan 在触摸开始时将 UIImage 保存到NSUndoManager


然后我如何使用它来撤消使用 UIAlertView。
意思是,我想从我的 UIAlertView 调用一个方法,该方法撤消然后另一个将重做,但我不知道如何实现这一点。
请帮忙

0 投票
5 回答
8194 浏览

hibernate - Hibernate,保存对象之前的状态

是否有任何普遍接受的、经过验证的使用休眠的方法来保存数据库中实体更改的历史记录?

我们需要跟踪相当多的对象,并且我们希望能够撤消对对象的更改。

我尝试使用休眠的拦截器,但对象的旧状态仅在执行merge(). 大多数情况下,我们这样做update()或者saveOrUpdate()虽然......

我目前让 warp-persist 与 Guice 一起管理会话。

0 投票
2 回答
820 浏览

iphone - 如何在 CoreData NSManagedObjectContext 中恢复 NSUndoManager 的内容?

我想在CoreData(NSManagedObject)对象上的iPhone应用程序中使用NSUndoManager,这样如果应用程序过早退出(例如,由于来电),我可以保存(并稍后恢复)NSUndoManager的状态。即,与自动丢弃或保存在 NSUndoManager 中累积的更改相反,我想恢复它们,以便用户在重新启动应用程序时可以选择显式丢弃或保存它们。

有没有人有这方面的经验?当应用程序中断时,任何人都可以推荐这种(或替代)方法来管理 NSManagedObjectContext 中的未决更改吗?

0 投票
2 回答
6170 浏览

python - 在python中撤消

首先..对不起,如果我的英语不好。它是我的第三种语言
,我正在开发一个绘图软件,它可以绘制图像并再次保存它们(用于评论建议)
我使用 pile 和 wxpython。但我仍然对某些功能有问题..
进行撤消选项的理想方法是什么?
另一个问题..当用户缩放图片(通过放大绘图框)时,线条不会缩放。我如何做到这一点。

每当用户完成一行并将新图片(上面有一条线的旧图片)分配给框架时,我通过将临时图像保存到硬盘来解决所有这些问题。撤消和重做将通过在这些图像之间切换来完成......所以当用户缩放图像时,线条也会缩放。但这很糟糕,因为它占用大量硬盘空间(当您绘制 1000 条线时)并且速度很慢,因为每次用户绘制一条线时它都会分配一个新图像

希望我的想法很清楚

有没有人有更好的解决方案?

0 投票
8 回答
686 浏览

jquery - Haacked JQuery Undoable“对象不支持此属性”

我参考了 Phil Haack 的“Undoable”文章:http: //haacked.com/archive/2010/01/01/jquery-undoable-plugin.aspx

我已经从表格演示页面复制了表格的确切标记,包括 JQuery 1.3.2 分钟,并复制了演示页面上使用的确切脚本块,但是当它到达这一点时:

我不断收到“对象不支持此属性或方法”。有什么明显的东西我可能会错过吗?我只是在开发机器上使用 IE8,但这应该不是问题(我希望)。