undo-redo相关内容
我在写作时使用多点触控,所以基本上我正在做的是,我在用手支持写作,因为通常,它是如何用户权限的,我点击了这个链接 如何忽略多点触控序列中的某些 UITouch 点 一切正常,但是当我用手触摸屏幕书写时,它们的撤消有些问题,否则它工作正常. 下面是我的代码 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{U
..
在 Fabric.js 中,我们有对象修改事件,例如 object:modified.整个画布是否有类似的事件. 实际上我正在尝试实现撤消和重做功能.如果画布上发生任何事情,我会将画布保存为 JSON,然后再次加载以进行撤消功能. 对于 Fabric.js 中的这个特性,我们有什么更好的解决方案吗? 解决方案 不要忘记检查添加/删除的对象.你可以这样实现它: var canv
..
我需要为我的窗口应用程序(类似 powerpoint 的编辑器)实现撤消/重做框架,应该遵循的最佳实践是什么,如何处理我的对象的所有属性更改以及它在 UI 上的反映. 解决方案 有两种经典模式可以使用.第一个是 memento 模式,用于存储完整对象状态的快照.这可能比命令模式更加系统密集,但它允许非常简单地回滚到较旧的快照.您可以将快照存储在磁盘上,例如 PaintShop/PhotoS
..
我没有找到任何文档显示 QDataWidgetMapper 实际适用于哪些小部件,也没有找到任何使用 QTableWidget 进行映射的实现. 它绝对适用于 QLineEdit 和 QComboBox,它们是输入小部件,但是否可以映射到 QTableWidget? 目标是在添加到 QUndostack 时使用 QUndoStack 撤消/重做每个小部件中的文本更改.我希望能够撤消/重
..
我想实现 UNDO 和 REDO 选项(正如我们在 MS word 等中看到的).你能给我推荐一个数据结构吗,我该如何实现它.? 解决方案 它不是一种数据结构,而是一种设计模式.您正在寻找命令模式. 标准是将Command对象保持在一个堆栈中以支持多级撤消.为了支持重做,第二个堆栈会保存您已撤消的所有命令.因此,当您弹出撤消堆栈以撤消命令时,您将弹出的命令推送到重做堆栈中.当你重做一
..
问题 在我的 iPad 应用程序中,我无法在按住事件后仅将弹出框附加到按钮栏项目.但这似乎是撤消/重做的标准.其他应用程序如何做到这一点? 背景 我的 UIKit (iPad) 应用程序的工具栏中有一个撤消按钮 (UIBarButtonSystemItemUndo).当我按下撤消按钮时,它会触发它的操作,即撤消:,并且正确执行. 然而,iPad 上撤消/重做的“标准 UE
..
android studio如何增加undo和redo的步骤? 它是有限的,我想增加Ctrl Z次数. 解决方案 按 Ctrl + Shift + A 并转到 Enter action 菜单. 输入registry,您可以在列表中看到建议Registry,然后点击它. 现在只需输入单词撤销.它会自动为您找到“撤消"选项. 默认情况下,documentUndoLimit
..
默认的 IntelliJ/Android Studio“重做"操作快捷键是 CTRL+Shift+Z,这是 Windows 用户的常见问题. 一个更大的问题是 CTRL+Y 被映射到“删除行"操作 - 这会导致撤销堆栈丢失. 要解决这个问题,如何在IntelliJ中将“Redo"快捷键改为CTRL+Y? 解决方案 打开Settings(按CTRL+ALT+S) 点击左
..
我有一个简单的 WPF 屏幕,带有 DataGrid 和一些用于剪切、复制、粘贴和删除行的按钮: 我想为所有操作实现 Undo/Redo 功能,例如剪切/复制/粘贴/添加/删除等.我愿意使用另一个集合控件而不是 DataGrid 如果它们提供了一些优于其他的好处.我已经在 stackoverflow.com 上解决了一些关于同一主题的其他问题,但发现它们没有用. 解决方案 我认为使用
..
Vim 7.3 中的一项新功能是“持久撤消",它允许在退出缓冲区时将撤消树保存到文件中. 不幸的是,我还没有完全能够正确启用它,或者我一定是用错了它.这是我迄今为止尝试过的: 我将以下内容添加到 ~/.vimrc set undofile " 文件关闭后保存撤销set undodir=$HOME/.vim/undo " 保存撤销历史的位置set undolevels=1000 " 撤
..
我的任务是向应用程序添加撤消/重做/重复功能.我目前正在调查是否可以使用 Swing 的 UndoManager. 除了通常的撤消和重做按钮外,我需要提供一次撤消或重做多个编辑的功能(像 MS Office 那样的下拉 UI),并重复选择的编辑. 我相信我可以使用 UndoManager 进行多次撤销和重做.它提供了多次撤销和重做的方法.为了构建 UI,我可以扩展 UndoManage
..
我想使用堆栈(而不是摆动)创建“撤消"和“重做"按钮. 单击“撤消"后,文本字段、列表和所有内容都需要撤消/重做.我知道我必须使用 pop、push 等.但是我在堆栈中放了什么?文本字段值?列出内容? 示例: 我在一所学校注册了一名学生. 文本字段中的学生信息已更改 学生列表包含新学生 如何重置这些? 有没有办法只在堆栈中存储项目数据的当前状态? 解决方案
..
我有一个包含文章的 rails 应用程序,用户可以将链接和评论添加为嵌套属性. 我在 paper_trail https://github.com/airblade/paper_trail/ 文档中看到这不是那颗宝石所涵盖的.我将如何设置撤消功能,以便在用户单击撤消时恢复/更新嵌套属性或 has_many 关联? 解决方案 我认为,如果您将“销毁"帖子连接到撤消按钮,它至少会删除链接
..
我正在使用OpenGl框架制作绘画应用程序,但我只能使用UNDO/REDO选项.我实现的代码是这样的: -(void)撤消调用{artbrushAppDelegate * app =(artbrushAppDelegate *)[[UIApplication sharedApplication] delegate];mbrushscale = app.brushscale;brushimage
..
我有一个交互式html5画布内容,有时用户会希望撤消其操作.我已经实现了执行该操作的逻辑,但是我不确定如何正确捕获“用户要撤消"事件. 目前,我只是听键盘事件,并将"CTRL + Z"解释为撤消请求,如下所示: document.addEventListener("keydown",e => {const Z_KEY = 90;let isUndo = e.keyCode == Z_KE
..
基本上我想要的是,如果用户在文本区域中选择了一些文本,然后按ctrl + b,则所选内容中的文本应被星号包围. 所以基本上我想要的是: 1)textarea内容:“您好,这是一些文本" 2)用户选择一些文本,然后按ctrl + b“您好是一些文本"(假设加粗部分是文本选择) 3)所以我希望textarea内容为:“你好,这是一些文字" 4),如果用户按ctrl + z
..
我在分支上运行了git rebase并修复了所有冲突,然后意识到对于这个特定的分支,我需要运行git merge来保留历史记录.有没有一种方法可以“撤消"变基,但是在运行git merge时会自动重新应用我的修复程序? 解决方案 为 C-D-E-F
..
是否可以使用javascript编辑 input 或 textarea 的内容,并使用浏览器的“撤消"命令撤消更改(例如 ctrl-Z )? 我正在尝试将一个字符串(例如"Foo {0} bar")插入所选内容中的值,并且如果用户选择了一个范围,则将所选范围插入到字符串中,以代替"{0}". 例如,如果文本区域包含"Example 1 2 3",并且光标位于"Example 1 | 2
..
在使用RichTextBox创建自定义编辑器时,我遇到的问题是使用TextChanged事件查找带有已提供信息的已删除/插入的文本。 TextChangedEventArgs 有一些有用的数据,但我想它不能满足所有需求。假设插入了多个段落,并且同时删除了所选文本(其本身跨越了多个段落)。 对于TextChangedEventArgs实例,您有一组文本更改,并且每个更改仅为您提供已删除或
..
如何在android studio中增加undo和redo步骤? 数量有限,我想增加Ctrl Z次. 解决方案 按 Ctrl + Shift + A 并进入输入操作菜单. 键入注册表,您可以在列表中看到注册表的建议,然后单击. 现在只需输入单词撤消.它会自动为您找到“撤消"选项. 默认情况下, documentUndoLimit = 100 和 globalUndoLi
..