问题标签 [undo-redo]

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 投票
1 回答
397 浏览

java - 关于图像编辑中撤消重做状态可维护性的建议

我正在用 java 开发一个图像编辑应用程序,当然需要撤消重做功能。我做了什么......创建了一个包含缓冲图像的 State 类,引用到上一个状态,引用到下一个状态。然后形成一个状态链表,通过点击撤销和重做按钮来回遍历。那么我想要什么....我观察到 bufferedimage 占用了太多内存...比如说 4 MB 对于中等(桌面)大小的图像。你们能提出更好的方法吗???

谢谢!!

0 投票
2 回答
786 浏览

plugins - 并排打开 'undo-tree-visualize 到缓冲区,而不是“垂直”

有什么方法可以让撤消树模式在“水平”缓冲区(即 Cx 3 与 Cx 2)中显示可视化?

我想要什么](![在此处输入图像描述

0 投票
1 回答
654 浏览

c# - ICSharpCode.TextEditor 撤消/重做状态

我正在尝试在使用 ICSharpCode.TextEditor 显示代码的自定义应用程序中实现撤消/重做功能。

TextEditor 完全支持撤消和重做。但不幸的是,该控件的文档记录很差。目前尚不清楚如何检测撤消状态的变化,因此程序可以灰显并重新启用工具栏上的撤消和重做按钮。

我可以订阅任何合适的活动吗?然后我应该使用 EnableUndo 和 EnableRedo 属性吗?

0 投票
4 回答
3544 浏览

java - Java中的撤消和重做实现

我想问一个关于Java List 的问题。

很容易在列表中实现删除、添加和搜索元素。但是如何在Java中实现列表的撤消和重做呢?

谁可以帮我这个事?

0 投票
1 回答
2963 浏览

javascript - 在 HTML 输入字段中禁用撤消/重做

我正在使用 asp.net 输入字段,它们会自动提供撤消/重做功能。我正在使用 JavaScript 来格式化输入字段的值,但这会破坏撤消/重做历史。

  • 有没有办法禁用撤消/重做功能?

    或者

  • 有没有办法与撤消/重做历史交互以添加正确的值?
0 投票
2 回答
25442 浏览

vba - 运行宏excel后清除“撤消”历史按钮

我有一个触发“Worksheet_SelectionChange”事件的宏。宏验证一列的数据,如果错误,它会更改单元格的背景颜色。

问题是在运行宏之后,它会清除所有文档的更改历史(Ctrl Z),甚至是我没有验证的其他单元格的历史更改。

我怎么解决这个问题?

谢谢。

0 投票
4 回答
3207 浏览

wpf - 带有撤消/重做的 DataGrid 和 MVVM

我正在使用非常简单的界面,其中包含用于添加、插入和删除数据网格行(底层绑定集合)的按钮和快捷方式。还需要实现撤消堆栈。但是......我不知道如何处理这个控件的内部逻辑。默认情况下,DataGrid 可以自动删除或添加新行,并对用户输入(Esc、F2 等)执行许多其他操作,从而隐式更改绑定数据。

由于命令将在 VM 端执行,撤消堆栈也是它的(甚至是 M 的)业务,但 DataGrid 包含内部预定义的 DataGrid 绑定。命令。而且我认为“观察”数据的变化并不容易。

我对理想的 MVVM 流程的理解是这样的:用户操作(视图)-> 命令(VM)-> 命令执行 + 撤消堆栈操作。(VM-M) -> UI 分别更改为 VM 更改。

我很困惑,需要一些关于实施的好建议。

0 投票
2 回答
2051 浏览

c# - 具有多级撤消功能的 WinForms 的任何 TextBox 控件?

我找了半天,没有找到。

你碰巧知道有一个吗?

谢谢!

0 投票
3 回答
4470 浏览

cocoa - 如何通过编程更改 NSTextView 的 textValue 来实现撤消/重做?

我创建了一个带有 NSTextView 和一个按钮的简单演示应用程序,为 textView 提供了一个 NSTextViewDelegate 并添加了一个操作:

如果我手动更改文本,撤消/重做工作没有问题。但是,如果我使用操作方法更改文本,撤消按预期工作,但重做不再起作用(没有任何反应)并且撤消管理器似乎被打乱了......

好的 - 为了避免 NSTextView 出现问题,我创建了一个模型类,将 NSTextView 绑定到它并将撤消/重做移动到模型,但这显示了与以前相同的行为 - 我做错了什么 - 这应该很容易,不应该吗?

0 投票
5 回答
2050 浏览

git - 为什么 Git 中没有撤消/重做?

据我所知,当您想在 Git 中撤消某些操作时,您必须明确地找到命令来撤消您所做的任何事情并发出它。例如,撤消提交并重做的众多方法之一是遵循此处的示例,

或者要撤消拉动,您可以按照此处的说明进行操作,

但这些命令不一定可以互换使用。Git不允许简单的撤消和重做命令有什么原因吗?与它背后的哲学有关吗?另外,我对其他版本控制系统没有太多经验,但是它们中的任何一个都提供简单的撤消和重做命令吗?