标签: undo

隐藏Swing的撤消管理器中的某些操作

我正在尝试编写一个支持某种着色的JTextPane:当用户输入文本时,我正在运行一些代码,根据某种算法为文本着色.这很好用.

问题是着色操作是在撤消管理器(带有EventType.CHANGE的DefaultDocumentEvent)中注册的.因此,当用户单击撤消时,着色消失.仅在第二个撤消请求时,文本本身才会回滚.

(请注意,着色算法有点慢,因此我无法在插入文本时对其进行着色).

如果我尝试阻止CHANGE事件到达撤消管理器,我会在几次撤消请求后得到异常:这是因为文档内容不符合可撤销编辑对象所期望的.

有任何想法吗?

java swing undo

5
推荐指数
1
解决办法
1929
查看次数

Javascript UndoManager 浏览器支持

HTML5 规范提到了一个 UndoManager,可用于查询用户编辑过的文档的先前状态 ( http://www.whatwg.org/specs/web-apps/current-work/#undomanager )。有没有浏览器支持这个?浏览器是否有希望支持它?

html javascript wysiwyg undo

5
推荐指数
1
解决办法
3186
查看次数

如何访问QTextDocument的QUndoStack?

我如何可以访问QUndoStackQTextDocument

(例如,我希望能够将自定义QUndoCommand对象添加到文档的撤消堆栈中)

c++ qt undo undo-redo qtextdocument

5
推荐指数
1
解决办法
856
查看次数

包装Plone数据

我是Plone的新手,并试图学习如何设置和维护服务器.我意识到我需要制定一个打包数据的时间表.现在我只是尝试使用Zope控制面板中的pack函数以及命令行(bin/zeopack)来测试它.

我知道在实践中我应该留下一周的历史,但是如果我打包到0天不应该看到所有的编辑历史都消失了吗?我没有看到这种情况发生.我究竟做错了什么?

versioning history plone undo

5
推荐指数
1
解决办法
122
查看次数

撤消"git reset --merge"

我已经做了:

git reset --merge
Run Code Online (Sandbox Code Playgroud)

我丢失了对某些文件的最新修改,如何撤消最后一个操作?

git merge undo reset

5
推荐指数
1
解决办法
2114
查看次数

摧毁画布

感谢您做的伟大工作!我正在尝试完成撤消/重做.我正在使用loadFromJSON(...)从我存储在数组中的画布状态重新构建画布.基本上,我的想法是破坏现有的画布并重新构建画布.这是我的代码.

    // TODO: How to destroy existing canvas?

    canvas = new fabric.Canvas('canvas', {
        containerClass : 'myCanvasContainer',           
    });

    canvas.loadFromJSON(history[historyStep]);      
Run Code Online (Sandbox Code Playgroud)

此代码在现有画布的顶部添加另一个画布.但是,我需要一种方法来销毁画布并从我的JSON数据构建全新画布(用新画布替换旧画布).

请告知我是否有可能或任何其他选择.

谢谢和问候,苏里亚.

canvas undo redo html5-canvas fabricjs

5
推荐指数
2
解决办法
4904
查看次数

函数还原sql语句

如何删除/移动/标记电子邮件时,如何像Gmail一样实现对MySQL数据库的撤消更改功能.

到目前为止,我有一个系统日志表,其中包含用户执行的确切sql语句.

例如,我正在尝试转换:

INSERT INTO table (id, column1, column2) VALUES (1,'value1', 'value2')
Run Code Online (Sandbox Code Playgroud)

成:

DELETE FROM table WHERE id=1, column1='value1', column2='value2'
Run Code Online (Sandbox Code Playgroud)

是否有内置函数来执行此操作,如cisco路由器命令,如

(NO|UNDO|REVERT) INSERT INTO table (id, column1, column2) VALUES (1,'value1', 'value2')
Run Code Online (Sandbox Code Playgroud)

也许我的方法是不正确的,我应该保存我的行的当前状态和更改的行,以回到它的原始状态?

就像是:

original_query = INSERT INTO table (id, column1, column2) VALUES (1,'value1', 'value2')

executed_query = INSERT INTO table (id, column1, column2) VALUES (1,'change1', 'change2')
Run Code Online (Sandbox Code Playgroud)

后来变成:

INSERT INTO table (id, column1, column2) VALUES (1,'value1', 'value2') ON DUPLICATE KEY UPDATE
 column1=VALUES(column1), column2=VALUES(column2)
Run Code Online (Sandbox Code Playgroud)

但也许它不适用于新插入的行,或者如果我修改主键可能会导致麻烦,所以我宁愿让它们保持不变.

这是我的日志表:

CREATE TABLE `log` (
 `id` …
Run Code Online (Sandbox Code Playgroud)

php mysql sql database undo

5
推荐指数
1
解决办法
1666
查看次数

Google Map V3 - 使用绘图管理器绘制时撤消最后一个点

我有一个使用Google绘图管理器的应用程序在地图上绘制折线和多边形.虽然这是一个很棒的库,但是如果能够在绘制折线时撤消最后绘制的点,我会从用户那里得到一个问题.我已经搜索了但是我发现这只有在绘制折线后才有可能.有没有人有一个黑客来完成这个?

另一个很好的选择是扩展现有的折线.

drawing google-maps undo extend polyline

5
推荐指数
1
解决办法
1071
查看次数

撤消使用 --no-ff 完成的合并

我听说使用 --no-ff 标志完成的git merge 会保留完整的历史记录,从而更容易提取特定的 merge。不过,我还没有看到它解释了如何撤消使用 --no-ff 进行的合并。另外,我看不出如何比快进合并更容易取消合并。有人可以对此有所了解,或者向我指出一些关于此的好信息吗?

谢谢。

git merge undo

5
推荐指数
1
解决办法
2548
查看次数

禁用Chrome的文本输入撤消/重做(CTRL + Z / CTRL + Y)

我目前正在开发Web应用程序,但遇到问题。您可能不知道,chrome具有一项功能,<input>当您按下CTRL + Z并使用CTRL + Y进行“重做”时,Chrome提供了(尤其是文本输入)“撤消”功能,这在普通网站中似乎是一个不错的功能,但是目前我正在制作也使用这些键盘快捷键(CTRL + Z和CTRL + Y)的图像编辑器。

在我的应用程序中,我也有文本输入,因此当我更改文本输入的内容,然后按CTRL + Z撤消图像编辑器中的更改时,它将撤消文本编辑器中的更改!

这里是一个Codepen可以展示效果
(指令在Codepen)

所以总之,我想删除chrome中的撤消/重做功能,我该怎么做?

html javascript google-chrome undo textinput

5
推荐指数
2
解决办法
3716
查看次数