标签: undo

在事务数据库中撤消

我不知道如何使用事务数据库实现用户友好界面的撤销属性.

一方面,建议用户拥有,因为它是说多(无限)撤销的可能性在这里的答案.可能有助于此问题的模式是MementoCommand.

但是,使用包含触发器,不断增长的序列号和不可逆转的过程的复杂数据库,很难想象撤消操作如何在不同于事务边界的点处起作用.换句话说,撤消到最后一次提交的事务只是回滚时,但是如何回到不同的时刻呢?

更新(基于到目前为止的答案):我不一定希望撤消在修改已经提交时有效,我将专注于具有开放事务的正在运行的应用程序.每当用户点击保存时,它意味着提交,但在保存之前 - 在同一事务期间 - 撤消应该有效.我知道使用数据库作为持久层只是一个实现细节,用户不应该为此烦恼.但是,如果我们认为"在数据库和GUI中撤消的想法是根本不同的东西",并且我们不对数据库使用撤销,那么无限撤消只是一个流行语.我知道"回滚是......不是用户撤消".

那么如何在同一个事务中给出"由于任何更改而产生的级联效果",实现客户端级撤销?

undo interface-implementation transactional-database

3
推荐指数
1
解决办法
2578
查看次数

如何撤消上次复选的复选框?

嗨,我创建了一个javascript函数来检查所选模块的数量是否大于给定值.因此,每次调用一个复选框时,都会调用该函数,该函数会遍历所有复选框并计算总数以查看它是否更大.但问题是当用户选中复选框并且总信用额大于该值时,我想将复选框设置为checked = false.但我没有撤消哪个复选框.在javascript中有任何撤消最终点击功能吗?

javascript checkbox undo

3
推荐指数
2
解决办法
4186
查看次数

有没有办法查看撤消堆栈?

我正在学习撤消,我想要一种方法来查看撤消对象NSInvocation,undoManager以便我可以看到正在发生的事情.我在文档中看不到这样的东西,但也许有人知道一种方式.

谢谢.

macos cocoa undo objective-c

3
推荐指数
1
解决办法
591
查看次数

在Qt/C++中实现撤消功能(如Ctrl + Z)

我使用Qt 4.5,并C++在Windows XP上.

基本上我将有一个UI,用户将输入一些数据.他可以去修改UI中可用的值.UI将具有基本的Qt UI元素,如QLineEdit,QTableWidget等等,

所以现在,如果用户按下Undo按钮(或Ctrl+Z),则应在相应的UI元素中保留先前的值.

比方说,如果有QLineEdit文本25.现在用户修改为30.现在通过单击撤消,应保留旧值25.

与通常在许多应用程序中可用的撤消功能类似.有什么办法吗?

c++ qt undo qt4

3
推荐指数
2
解决办法
3879
查看次数

如何使DataGridView立即提交编辑?

我有一个主从布局,其中有一部分弹出菜单(“详细信息”)和一个有DataGridView的部分,其中包含行。

当DataGridView中的选定行更改时,弹出菜单状态将更新,而当弹出菜单更改时,DGV的选定行中的状态应更新。

当我更改弹出菜单的值时,除了 DataGridView中的行不会立即更新之外,所有这些工作均有效。我必须选择其他行才能查看我的修改。

我认为这是因为直到选择更改,才提交编辑。

我的问题是:如何使对弹出窗口的更改立即反映在DataGridView中?

我已经尝试过在弹出菜单的SelectionChangeCommitted处理程序中调用EndEdit(),但这没有任何效果。我对允许我创建一个DataGridView的技术感兴趣,该DataGridView的行为就像没有开始的撤消机制一样。理想情况下,该解决方案应该是通用的,并且可以移植到其他项目中。

c# datagridview undo master-detail

3
推荐指数
1
解决办法
2万
查看次数

使用jquery撤消上次执行的函数

是否有机会撤消最后一个被调用函数的执行.例如,我点击一个

<nav><a href="foo">...</a></nav>
Run Code Online (Sandbox Code Playgroud)

它有一个onclick-listener,类似的东西:

$(function() {
    $('nav a').on('click', function() {
        $('nav a').removeClass('active');
        $(this).addClass('active');
        $($(this).attr('href')).addClass('active');
        return false;
    });
});
Run Code Online (Sandbox Code Playgroud)

我正在寻找能够撤消最后一个函数执行的东西.有什么建议吗?谢谢!!!:)

jquery undo

3
推荐指数
1
解决办法
8551
查看次数

django-reversion undo功能 - 恢复多个对象

我正在尝试使用django-reversion在django项目中实现"撤消"功能,以防用户意外修改多个对象.使用管理面板将无法正常工作,因为必须逐个还原对象.

我的问题是我无法创建包含多个对象数据的修订版.
即使我这样做

with reversion.create_revision():
    Res.object.all().delete()
Run Code Online (Sandbox Code Playgroud)

然后我无法访问将此更改分组的修订版.它分为"one object one revision.models.Version"方式.

In [103]: reversion.models.Version.objects.all()
Out[103]: [<Version: #00001>, <Version: #00002>]
Run Code Online (Sandbox Code Playgroud)

我也试过了

reversion.models.Revision.objects.all().order_by('-date_created')[0].version_set.all()
Run Code Online (Sandbox Code Playgroud)

但它也只为一个已删除的Res对象返回了一个版本.好像我错过了什么.

python django undo django-reversion

3
推荐指数
1
解决办法
2891
查看次数

如何撤消strsplit以将多个字符合并为一个

假设我有一串字

txt = "The licenses for most software"
length(txt)
1
Run Code Online (Sandbox Code Playgroud)

我可以使用strsplit将其拆分为复合词

t = unlist(strsplit(txt, split=" "))
length(t)
5
Run Code Online (Sandbox Code Playgroud)

现在我想撤消我所做的事情。如何将5个单词重新连接到原始字符串中?

谢谢

r undo strsplit

3
推荐指数
1
解决办法
1843
查看次数

我们可以绘制一个使用Path对象的圆圈吗?[在参数中,如drawPath()]

我输入了一个使用Canvas的程序.

它提供了一个弹出菜单,提供3个绘图工具作为选项:

  1. 划伤屏幕时画线

  2. 根据屏幕上的起点和终点绘制线条

  3. 画一个圆圈

此外,还有以下选项:

  1. 明确

  2. 解开

在线上执行撤消时,根本不存在任何问题,因为两者都基于路径.(用途List<Path>).但是这里开始出现问题.使用Point对象绘制圆.所以问题是:

  1. 我不能让Android区分 - 绘制线条和圆圈的顺序.例如:我绘制5行,然后是5个圆(或者).目前没有任何情报可以遵循他们的绘画顺序.因此,用线条和圆圈一起取消画布会导致混乱.
  2. 当前代码(尚未深入调试)需要2次点击才能撤消一个圆而不是1.

我希望我很清楚.[Downvoters,如果被吸引,被要求输入原因,以指导这个初学者,一个通常的downvotes受害者,不知道改进的确切原因].

下面分享的代码(很复杂).我尝试将一个类专门用于每个绘图工具(直线,圆) - 它工作 - 除了 - 它没有在画布上绘制任何东西.所以,所有人都回来了.

码:

 package com.example.orbit_.undofortouch;

import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Point;
import android.os.Bundle;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.PopupMenu;
import android.widget.Toast;


import java.util.ArrayList;
import java.util.List;

public class MainActivity extends Activity {

    Button b1, b2, b3;
    PopupMenu …
Run Code Online (Sandbox Code Playgroud)

graphics android undo android-canvas android-drawable

3
推荐指数
1
解决办法
5952
查看次数

Matlab是否支持撤消代码删除

我只是想在Matlab上提出一个非常基本的问题,在使用Matlab时经常会遇到麻烦.

我偶尔会在使用Matlab时删除一些代码; 但是,似乎没有办法撤消删除或从我的代码中恢复这些块.

删除代码是否有撤消按钮或快捷方式?

如果我不记得那些大块并再次写作,这并不是什么大不了的事,但这似乎是一项繁琐的工作.

matlab undo

3
推荐指数
1
解决办法
3479
查看次数