CN106598926A - 操作撤销方法及装置 - Google Patents
操作撤销方法及装置 Download PDFInfo
- Publication number
- CN106598926A CN106598926A CN201611073097.4A CN201611073097A CN106598926A CN 106598926 A CN106598926 A CN 106598926A CN 201611073097 A CN201611073097 A CN 201611073097A CN 106598926 A CN106598926 A CN 106598926A
- Authority
- CN
- China
- Prior art keywords
- display location
- identity
- edit operation
- edit
- stack
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000008859 change Effects 0.000 claims description 7
- 230000006378 damage Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004899 motility Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 2
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种操作撤销方法及装置,属于终端技术领域。该方法包括:当检测到第一对象的操作撤销指令时,基于第一对象的对象标识,确定第二对象,第一对象为当前页面中在第一显示位置显示的对象,且第一对象为对第二对象进行编辑操作之后得到;确定第二显示位置;将当前页面中第一显示位置显示的第一对象删除,并在第二显示位置显示第二对象,以实现操作的撤销。本发明实施例基于第一对象的对象标识,可以直接确定第二对象,而无需对第一对象执行逆操作得到第二对象,从而缩短了撤销操作的时间,提高了撤销操作的效率。此外,用户可以针对当前页面中想要撤销的对象触发操作撤销指令,从而增大了撤销操作的灵活性。
Description
技术领域
本发明涉及终端技术领域,特别涉及一种操作撤销方法及装置。
背景技术
随着终端技术的快速发展,对图片、文字等对象进行编辑已经成为终端的一项基本功能,用户可以通过终端对对象进行编辑操作,比如对图片进行旋转、放大等等,当用户认为自己最近完成的操作是误操作,或者认为该操作未达到自己希望的效果时,用户可以对已完成的操作进行撤销,从而使该操作对应的对象恢复到操作前的状态。
通常采用的操作撤销方法为:当终端接收到撤销指令时,从用于存储对象的堆栈中,对最后进入堆栈的对象执行逆操作,以实现操作的撤销。其中逆操作为与已完成的操作相反的操作。
然而,在逆操作比较复杂的情况下,执行逆操作的时间会较长,从而降低了操作撤销的效率。此外,由于终端只能对最后进入堆栈的对象执行逆操作,因此,终端无法对针对其他对象的操作进行撤销。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种操作撤销方法及装置。所述技术方案如下:
一方面,提供了一种操作撤销方法,所述方法包括:
当检测到第一对象的操作撤销指令时,基于所述第一对象的对象标识,确定第二对象,所述第一对象为为对所述第二对象进行编辑操作之后在第一显示位置显示得到,且所述第一对象为当前页面中显示的任一对象;
确定第二显示位置,所述第二显示位置为显示所述第一对象之前在所述当前页面中显示所述第二对象的位置;
将所述当前页面中所述第一显示位置显示的所述第一对象删除,并在所述第二显示位置显示所述第二对象,以实现操作的撤销。
可选地,所述基于所述第一对象的对象标识,确定第二对象之前,还包括:
当检测到所述第二对象的编辑操作时,对所述第二对象执行所述编辑操作,得到所述第一对象;
确定所述第一显示位置,并在所述第一显示位置显示所述第一对象;
显示所述第一对象之后,将所述第二对象存储在所述对象标识对应的对象堆栈的栈顶,所述对象堆栈用于存储在不同编辑操作状态下的对象;
相应地,所述基于所述第一对象的对象标识,确定第二对象,包括:
从所述对象标识对应的对象堆栈中,获取位于栈顶的对象,并将获取的对象确定为所述第二对象。
可选地,所述基于所述第一对象的对象标识,确定第二对象之前,还包括:
当检测到所述第二对象的编辑操作时,对所述第二对象执行所述编辑操作,得到所述第一对象;
确定所述第一显示位置,并在所述第一显示位置显示所述第一对象;
显示所述第一对象之后,将所述对象标识、对所述第二对象执行所述编辑操作的操作时间和所述第二对象,存储在对象标识、操作时间与对象之间的对应关系中;
相应地,所述基于所述第一对象的对象标识,确定第二对象,包括:
基于所述第一对象的对象标识,从存储的对象标识、操作时间与对象之间的对应关系中,获取操作时间与当前时间最近的对象,并将获取的对象确定为所述第二对象。
可选地,所述确定第二显示位置,包括:
当所述编辑操作属于第一类操作时,将所述第一显示位置确定为所述第二显示位置,所述第一类操作为未改变对象显示位置的操作;
当所述编辑操作属于第二类操作时,基于所述对象标识和所述第二对象,从存储的对象标识、对象与显示位置之间的对应关系中,获取所述第二显示位置,所述第二类操作为改变对象显示位置的操作。
可选地,所述对所述第二对象执行所述编辑操作,得到所述第一对象之后,还包括:
当所述编辑操作属于第二类操作时,将所述对象标识、所述第二对象和所述第二显示位置,存储在对象标识、对象与显示位置之间的对应关系中。
另一方面,提供了一种操作撤销装置,所述装置包括:
第一确定模块,用于当检测到第一对象的操作撤销指令时,基于所述第一对象的对象标识,确定第二对象,所述第一对象为对所述第二对象进行编辑操作之后在第一显示位置显示得到,且所述第一对象为当前页面中显示的任一对象;
第二确定模块,用于确定第二显示位置,所述第二显示位置为显示所述第一对象之前在所述当前页面中显示所述第二对象的位置;
撤销模块,用于将所述当前页面中所述第一显示位置显示的所述第一对象删除,并在所述第二显示位置显示所述第二对象,以实现操作的撤销。
可选地,所述装置还包括:
第一编辑模块,用于当检测到所述第二对象的编辑操作时,对所述第二对象执行所述编辑操作,得到所述第一对象;
第三确定模块,用于确定所述第一显示位置,并在所述第一显示位置显示所述第一对象;
第一存储模块,用于显示所述第一对象之后,将所述第二对象存储在所述对象标识对应的对象堆栈的栈顶,所述对象堆栈用于存储在不同编辑操作状态下的对象;
相应地,所述第一确定模块包括:
第一确定单元,用于当检测到第一对象的操作撤销指令时,从所述对象标识对应的对象堆栈中,获取位于栈顶的对象,并将获取的对象确定为所述第二对象。
可选地,所述装置还包括:
第二编辑模块,用于当检测到所述第二对象的编辑操作时,对所述第二对象执行所述编辑操作,得到所述第一对象;
第四确定模块,用于确定所述第一显示位置,并在所述第一显示位置显示所述第一对象;
第二存储模块,用于显示所述第一对象之后,将所述对象标识、对所述第二对象执行所述编辑操作的操作时间和所述第二对象,存储在对象标识、操作时间与对象之间的对应关系中;
相应地,所述第一确定模块包括:
第二确定单元,用于当检测到第一对象的操作撤销指令时,基于所述第一对象的对象标识,从存储的对象标识、操作时间与对象之间的对应关系中,获取操作时间与当前时间最近的对象,并将获取的对象确定为所述第二对象。
可选地,所述第二确定模块包括:
第三确定单元,用于当所述编辑操作属于第一类操作时,将所述第一显示位置确定为所述第二显示位置,所述第一类操作为未改变对象显示位置的操作;
获取单元,用于当所述编辑操作属于第二类操作时,基于所述对象标识和所述第二对象,从存储的对象标识、对象与显示位置之间的对应关系中,获取所述第二显示位置,所述第二类操作为改变对象显示位置的操作。
可选地,所述装置还包括:
第三存储模块,用于当所述编辑操作属于第二类操作时,将所述对象标识、所述第二对象和所述第二显示位置,存储在对象标识、对象与显示位置之间的对应关系中。
本发明实施例提供的技术方案带来的有益效果是:在本发明实施例中,当检测到第一对象的操作撤销指令时,基于第一对象的对象标识,可以确定第二对象,也即是确定处于编辑操作之前的状态的对象,由于第二对象可以事先存储在本地,因此终端可以基于第一对象的对象标识,直接确定第二对象,而无需对第一对象执行逆操作,由于无需执行逆操作,因此缩短了撤销操作的时间,进而提高了撤销操作的效率。由于第一对象可以为当前页面中显示的任一对象,因此操作撤销指令可以为针对当前页面中的任一对象的操作撤销指令,也即是用户可以对想要撤销的对象进行撤销,而不是只能对最近执行编辑操作的对象所对应的编辑操作进行撤销,从而增大了撤销操作的灵活性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种操作撤销方法的流程图;
图2A是本发明实施例提供的一种操作撤销装置的框图;
图2B是本发明实施例提供的另一种操作撤销装置的框图;
图2C是本发明实施例提供的第三种操作撤销装置的框图;
图2D是本发明实施例提供的第二确定模块的框图;
图2E是本发明实施例提供的第四种操作撤销装置的框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种操作撤销方法,参见图1,该方法包括:
步骤101:当检测到第一对象的操作撤销指令时,基于第一对象的对象标识,确定第二对象,第一对象为对第二对象进行编辑操作之后在第一显示位置显示得到,且第一对象为当前页面中显示的任一对象。
需要说明的是,该操作撤销指令可以由当前使用终端的用户通过指定操作触发,该指定操作可以为对第一对象的点击操作、预设轨迹的滑动操作等等。
另外,当终端创建第二对象时,可以为第二对象分配一个对象标识,由于第一对象为对第二对象进行编辑操作之后得到,因此,第一对象和第二对象实质上为内容相同的对象在不同状态下的表现,比如当第二对象为图片1时,编辑操作为放大操作时,对第二对象图片1进行放大操作之后得到的第一对象为放大后的图片1,也即是第一对象和第二对象的内容相同,但状态不同,也即尺寸不同。由于第一对象和第二对象实质上为内容相同的对象在不同状态下的表现,因此,当终端对第二对象进行编辑操作之后得到第一对象时,可以将为第二对象分配第一对象的对象标识,也即是第一对象与第二对象的对象标识相同。其中,对象标识可以为一组数字序号,比如第一对象的对象标识可以为1,0001等等。
再者,该编辑操作可以包括放大操作、缩小操作、旋转操作,显示位置移动操作、改变字体颜色操作等等。
其中,终端基于第一对象的对象标识,确定第二对象的实现方式可以为下述两种方式:
第一种确定方式:从对象标识对应的对象堆栈中,获取位于栈顶的对象,并将获取的对象确定为第二对象,对象堆栈用于存储在不同编辑操作状态下的对象。
由于在对象标识对应的对象堆栈中,终端可以根据执行编辑操作的时间,将不同编辑操作状态下的对象从栈底至栈顶依次排列,也即是位于栈底的对象为处于未编辑状态的对象,即编辑操作的时间最早的对象,而位于栈顶的对象为编辑操作的时间最晚的对象,因此,终端可以从对象标识对应的对象堆栈中,将位于栈顶的对象确定为第二对象,也即是确定处于最近一次编辑操作之前的状态的对象。由于每个对象标识都对应一个对象堆栈,因此,终端可以根据用户通过指定操作选择的对象的对象标识,对针对用户选择的对象所进行的编辑操作进行撤销。
比如,当前页面中显示的第一对象可以为图片4,图片4的对象标识可以为0001,对象标识0001对应的对象堆栈可以为如下表1所示的堆栈,在0001对象堆栈中,图片1可以为对图片4执行编辑操作的时间最早的对象,也即图片4对应的最初创建的对象,图片2可以为对图片1执行放大操作之后得到,图片3可以为对图片2执行旋转操作之后得到,而图片4可以为对图片3执行缩小操作之后得到,因此,终端可以从0001对象堆栈中,将位于栈顶的图片3确定为第二对象,也即是确定图片4之前最近编辑的对象。
表1 0001对象堆栈
需要说明的是,本发明实施例中仅以上述表1所示的对象堆栈为例进行说明,上述表1并不对本发明实施例构成限定。
进一步地,当终端按照上述第一种方式确定第二对象时,在检测到第一对象的操作撤销指令之前,终端还可以执行下述步骤(1),包括:当检测到第二对象的编辑操作时,对第二对象执行编辑操作,得到第一对象;确定第一显示位置,并在第一显示位置显示第一对象;显示第一对象之后,将第二对象存储在对象标识对应的对象堆栈的栈顶。
第二种确定方式:基于第一对象的对象标识,从存储的对象标识、操作时间与对象之间的对应关系中,获取操作时间与当前时间最近的对象,并将获取的对象确定为第二对象。
当用户需要撤销针对某个对象的编辑操作时,可以认为此时用户想要撤销的是针对该对象最近执行的一次编辑操作,因此,终端还可以通过上述第二种确定方式确定第二对象,也即是确定处于最近一次编辑操作之前的状态的对象。此外,由于对象标识、操作时间与对象之间的对应关系中存储有对各个对象执行编辑操作的操作时间,因此,当当前使用终端的用户未选择对象时,也即是终端检测到未针对任何对象的操作撤销指令时,可以认为用户只想撤销最近执行的操作,此时终端可以直接从存储的对象标识、操作时间与对象之间的对应关系中,获取操作时间与当前时间最近的对象,并将获取的对象确定为第二对象。
比如,当前时间可以为2016.01.01.10:02:00,第一对象可以为图片014,第一对象的对象标识可以为0001,终端存储的对象标识、操作时间与对象之间的对应关系可以为如下表2所示的对应关系,终端基于第一对象图片014的对象标识0001,可以从如下表2所示的对象标识、操作时间与对象之间的对应关系中,获取操作时间与当前时间2016.01.01.10:02:00最近的对象图片013,并将获取的对象图片013确定为第二对象。
表2
对象标识 | 操作时间 | 对象 |
0001 | 2016.01.01.09:59:00 | 图片011 |
0001 | 2016.01.01.10:00:00 | 图片012 |
0001 | 2016.01.01.10:00:45 | 图片013 |
0002 | 2016.01.01.10:01:13 | 图片021 |
…… | …… | …… |
需要说明的是,本发明实施例中仅以如上表2所示的对象标识、操作时间与对象之间的对应关系为例进行说明,上述表2并不对本发明实施例构成限定。
进一步地,当终端按照上述第二种方式确定第二对象时,在检测到第一对象的操作撤销指令之前,终端还可以执行下述步骤(2),包括:当检测到第二对象的编辑操作时,对第二对象执行编辑操作,得到第一对象;确定第一显示位置,并在第一显示位置显示第一对象;显示第一对象之后,将对象标识、对第二对象执行编辑操作的操作时间和第二对象,存储在对象标识、操作时间与对象之间的对应关系中。
在实际应用中,终端还可以为第一对象设置指针,该指针可以指向第二对象的物理地址,之后终端可以基于第一对象的指针,直接获取到第二对象。此外,终端还可以在对第二对象进行编辑操作得到第一对象之后,将第二对象设置为第一对象的成员变量,之后终端可以基于第一对象,直接获取到第一对象的成员变量第二对象。其中,设置指针和设置成员变量的方式可以参考相关技术,本发明实施例对此不做详细阐述。
进一步地,当终端在步骤(1)或步骤(2)中对第二对象进行编辑操作得到第一对象之后,还可以将执行下述步骤(3)和步骤(4)中的任一步骤。
步骤(3):将对第二对象执行的编辑操作与存储的第一类操作列表以及第二类操作列表中的操作进行对比,以确定该编辑操作属于第一类操作还是第二类操作;当该编辑操作属于第二类操作时,将第二对象的对象标识、第二对象和第二显示位置,存储在对象标识、对象与显示位置之间的对应关系中。
其中,第一类操作为未改变对象显示位置的操作,第一类操作可以包括放大操作、缩小操作、旋转操作、改变字体颜色操作、标亮操作等等。第二类操作为改变对象显示位置的操作,第二类操作可以包括显示位置移动操作等等。
当终端执行上述步骤(3)时,如果该编辑操作属于第一类操作,则终端可以确定第一对象和第二对象的显示位置相同,此时终端可以不执行任何操作,而如果该编辑操作属于第二类操作,则终端可以确定第一对象和第二对象的显示位置不同,此时终端可以将第二对象的对象标识、第二对象和第二显示位置,存储在对象标识、对象与显示位置之间的对应关系中,以当对该编辑操作进行撤销时,可以从该对应关系中获取第二显示位置。
步骤(4):将第二对象的对象标识、第二对象和第二显示位置,存储在对象标识、对象与显示位置之间的对应关系中。
当终端执行上述步骤(4)时,终端无需区分该编辑操作属于第一类操作还是第二类操作,也即是无论该编辑操作属于第一类操作还是第二类操作,终端都可以直接将第二对象的对象标识、第二对象和第二显示位置,存储在对象标识、对象与显示位置之间的对应关系中,而此时第二显示位置可能与第一显示位置相同,即该编辑操作属于第一类操作的情况下,第二显示位置也可能与第一显示位置不同,即该编辑操作属于第二类操作的情况下。
此外,终端在对第二对象进行编辑操作得到第一对象之后,还可以将第一对象存储在最新状态列表中,该最新状态列表用于存储当前页面中显示的各个对象,也即是每个对象标识对应的对象中处于最新状态的对象,在终端突然断电或者需要重新还原当前页面的情况下,终端还可以将该最新状态列表中存储的各个对象显示在屏幕上,以还原当前页面。
更进一步地,在执行上述步骤(1)或步骤(2)之前,终端还可以执行下述步骤,包括:当检测到第三对象的对象创建指令时,在第三显示位置显示第三对象,第三显示位置为创建对象指令所携带的显示位置;为第三对象分配对象标识;将第三对象的对象标识、第三对象和第三显示位置存储在对象标识、对象与显示位置之间的对应关系中。
其中,第三对象为第一对象对应的处于最初始状态的对象,也即是终端首先创建第三对象,然后对第三对象进行某种编辑操作之后可以得到第二对象,然后再对第二对象进行某种编辑操作之后可以得到第一对象。
需要说明的是,第三对象的对象标识为终端创建第三对象时,为第三对象分配的对象标识,用于将第三对象与当前页面中显示的其他对象进行区分,也即是终端可以为当前页面中的各个对象分别分配不同的对象标识,从而根据对象标识可以确定对应的对象。
步骤102:确定第二显示位置,该第二显示位置为显示第一对象之前在当前页面中显示第二对象的位置。
其中,当终端在步骤(1)或步骤(2)中对第二对象进行编辑操作得到第一对象之后,还执行步骤(3)时,终端确定第二显示位置的方式可以为:当该编辑操作属于第一类操作时,将第一显示位置确定为第二显示位置;当该编辑操作属于第二类操作时,基于对象标识和第二对象,从存储的对象标识、对象与显示位置之间的对应关系中,获取第二显示位置。
当对第二对象执行的编辑操作属于第一类操作时,终端可以确定对第二对象执行编辑操作时未改变第二对象的显示位置,也即是对第二对象进行编辑操作之后得到的第一对象与第二对象的显示位置相同,因此,终端可以直接将第一显示位置确定为第二显示位置。
当对第二对象执行的编辑操作属于第二类操作时,终端可以确定对第二对象执行编辑操作时第二对象的显示位置发生改变,也即是对第二对象进行编辑操作之后得到的第一对象与第二对象的显示位置不同,因此,终端需要从储的对象标识、对象与显示位置之间的对应关系中获取第二显示位置。
当终端在步骤(1)或步骤(2)中对第二对象进行编辑操作得到第一对象之后,还执行步骤(4)时,终端确定第二显示位置的方式可以为:基于对象标识和第二对象,从存储的对象标识、对象与显示位置之间的对应关系中,获取第二显示位置。
步骤103:将当前页面中第一显示位置显示的第一对象删除,并在第二显示位置显示第二对象,以实现操作的撤销。
当终端需要撤销对第二对象的编辑操作时,可以认为第一对象并非用户想要得到的对象,此时终端不需要显示第一对象,因此,终端可以将当前页面中第一显示位置显示的第一对象删除。当终端需要撤销对第二对象的编辑操作时,可以认为用户想要得到执行编辑操作之前的第二对象,因此终端可以在第二位置显示第二对象,也即是在执行编辑操作之前的位置显示执行编辑操作之前的对象,从而撤销对第二对象的操作。
在本发明实施例中,当检测到第一对象的操作撤销指令时,基于第一对象的对象标识,可以确定第二对象,也即是确定处于编辑操作之前的状态的对象,由于第二对象可以事先存储在本地,因此终端可以基于第一对象的对象标识,直接确定第二对象,而无需对第一对象执行逆操作得到第二对象,由于无需执行逆操作,因此缩短了撤销操作的时间,进而提高了撤销操作的效率。由于第一对象可以为当前页面中显示的任一对象,因此操作撤销指令可以为针对当前页面中的任一对象的操作撤销指令,也即是用户可以对想要撤销的对象进行撤销,而不是只能对最近执行编辑操作的对象所对应的编辑操作进行撤销,从而增大了撤销操作的灵活性。
本发明实施例提供了一种操作撤销装置200,参见图2A,该装置包括:第一确定模块201、第二确定模块202和撤销模块203。
第一确定模块201,用于当检测到第一对象的操作撤销指令时,基于第一对象的对象标识,确定第二对象,第一对象为对第二对象进行编辑操作之后在第一显示位置显示得到,且第一对象为当前页面中显示的任一对象;
第二确定模块202,用于确定第二显示位置,第二显示位置为显示第一对象之前在当前页面中显示第二对象的位置;
撤销模块203,用于将当前页面中第一显示位置显示的第一对象删除,并在第二显示位置显示第二对象,以实现操作的撤销。
可选地,参见图2B,该装置还包括:
第一编辑模块204,用于当检测到第二对象的编辑操作时,对第二对象执行编辑操作,得到第一对象;
第三确定模块205,用于确定第一显示位置,并在第一显示位置显示第一对象;
第一存储模块206,用于显示第一对象之后,将第二对象存储在对象标识对应的对象堆栈的栈顶,对象堆栈用于存储在不同编辑操作状态下的对象;
相应地,第一确定模块201包括:
第一确定单元,用于当检测到第一对象的操作撤销指令时,从对象标识对应的对象堆栈中,获取位于栈顶的对象,并将获取的对象确定为第二对象。
可选地,参见图2C,该装置还包括:
第二编辑模块207,用于当检测到第二对象的编辑操作时,对第二对象执行编辑操作,得到第一对象;
第四确定模块208,用于确定第一显示位置,并在第一显示位置显示第一对象;
第二存储模块209,用于显示第一对象之后,将对象标识、对第二对象执行编辑操作的操作时间和第二对象,存储在对象标识、操作时间与对象之间的对应关系中;
相应地,第一确定模块201包括:
第二确定单元,用于当检测到第一对象的操作撤销指令时,基于第一对象的对象标识,从存储的对象标识、操作时间与对象之间的对应关系中,获取操作时间与当前时间最近的对象,并将获取的对象确定为第二对象。
可选地,参见图2D,第二确定模块202包括:
第三确定单元2021,用于当编辑操作属于第一类操作时,将第一显示位置确定为第二显示位置,第一类操作为未改变对象显示位置的操作;
获取单元2022,用于当编辑操作属于第二类操作时,基于对象标识和第二对象,从存储的对象标识、对象与显示位置之间的对应关系中,获取第二显示位置,第二类操作为改变对象显示位置的操作。
可选地,参见图2E,该装置还包括:
第三存储模块210,用于当编辑操作属于第二类操作时,将对象标识、第二对象和第二显示位置,存储在对象标识、对象与显示位置之间的对应关系中。
综上所述,在本发明实施例中,当检测到第一对象的操作撤销指令时,基于第一对象的对象标识,可以确定第二对象,也即是确定处于编辑操作之前的状态的对象,由于第二对象可以事先存储在本地,因此终端可以基于第一对象的对象标识,直接确定第二对象,而无需对第一对象执行逆操作得到第二对象,由于无需执行逆操作,因此缩短了撤销操作的时间,进而提高了撤销操作的效率。由于第一对象可以为当前页面中显示的任一对象,因此操作撤销指令可以为针对当前页面中的任一对象的操作撤销指令,也即是用户可以对想要撤销的对象进行撤销,而不是只能对最近执行编辑操作的对象所对应的编辑操作进行撤销,从而增大了撤销操作的灵活性。
需要说明的是:上述实施例提供的操作撤销装置在撤销操作时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的操作撤销装置与操作撤销方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种操作撤销方法,其特征在于,所述方法包括:
当检测到第一对象的操作撤销指令时,基于所述第一对象的对象标识,确定第二对象,所述第一对象为对所述第二对象进行编辑操作之后在第一显示位置显示得到,且所述第一对象为当前页面中显示的任一对象;
确定第二显示位置,所述第二显示位置为显示所述第一对象之前在所述当前页面中显示所述第二对象的位置;
将所述当前页面中所述第一显示位置显示的所述第一对象删除,并在所述第二显示位置显示所述第二对象,以实现操作的撤销。
2.如权利要求1所述的方法,其特征在于,所述基于所述第一对象的对象标识,确定第二对象之前,还包括:
当检测到所述第二对象的编辑操作时,对所述第二对象执行所述编辑操作,得到所述第一对象;
确定所述第一显示位置,并在所述第一显示位置显示所述第一对象;
显示所述第一对象之后,将所述第二对象存储在所述对象标识对应的对象堆栈的栈顶,所述对象堆栈用于存储在不同编辑操作状态下的对象;
相应地,所述基于所述第一对象的对象标识,确定第二对象,包括:
从所述对象标识对应的对象堆栈中,获取位于栈顶的对象,并将获取的对象确定为所述第二对象。
3.如权利要求1所述的方法,其特征在于,所述基于所述第一对象的对象标识,确定第二对象之前,还包括:
当检测到所述第二对象的编辑操作时,对所述第二对象执行所述编辑操作,得到所述第一对象;
确定所述第一显示位置,并在所述第一显示位置显示所述第一对象;
显示所述第一对象之后,将所述对象标识、对所述第二对象执行所述编辑操作的操作时间和所述第二对象,存储在对象标识、操作时间与对象之间的对应关系中;
相应地,所述基于所述第一对象的对象标识,确定第二对象,包括:
基于所述第一对象的对象标识,从存储的对象标识、操作时间与对象之间的对应关系中,获取操作时间与当前时间最近的对象,并将获取的对象确定为所述第二对象。
4.如权利要求1-3任一所述的方法,其特征在于,所述确定第二显示位置,包括:
当所述编辑操作属于第一类操作时,将所述第一显示位置确定为所述第二显示位置,所述第一类操作为未改变对象显示位置的操作;
当所述编辑操作属于第二类操作时,基于所述对象标识和所述第二对象,从存储的对象标识、对象与显示位置之间的对应关系中,获取所述第二显示位置,所述第二类操作为改变对象显示位置的操作。
5.如权利要求2或3所述的方法,其特征在于,所述对所述第二对象执行所述编辑操作,得到所述第一对象之后,还包括:
当所述编辑操作属于第二类操作时,将所述对象标识、所述第二对象和所述第二显示位置,存储在对象标识、对象与显示位置之间的对应关系中。
6.一种操作撤销装置,其特征在于,所述装置包括:
第一确定模块,用于当检测到第一对象的操作撤销指令时,基于所述第一对象的对象标识,确定第二对象,所述第一对象为对所述第二对象进行编辑操作之后在第一显示位置显示得到,且所述第一对象为当前页面中显示的任一对象;
第二确定模块,用于确定第二显示位置,所述第二显示位置为显示所述第一对象之前在所述当前页面中显示所述第二对象的位置;
撤销模块,用于将所述当前页面中所述第一显示位置显示的所述第一对象删除,并在所述第二显示位置显示所述第二对象,以实现操作的撤销。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
第一编辑模块,用于当检测到所述第二对象的编辑操作时,对所述第二对象执行所述编辑操作,得到所述第一对象;
第三确定模块,用于确定所述第一显示位置,并在所述第一显示位置显示所述第一对象;
第一存储模块,用于显示所述第一对象之后,将所述第二对象存储在所述对象标识对应的对象堆栈的栈顶,所述对象堆栈用于存储在不同编辑操作状态下的对象;
相应地,所述第一确定模块包括:
第一确定单元,用于当检测到第一对象的操作撤销指令时,从所述对象标识对应的对象堆栈中,获取位于栈顶的对象,并将获取的对象确定为所述第二对象。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
第二编辑模块,用于当检测到所述第二对象的编辑操作时,对所述第二对象执行所述编辑操作,得到所述第一对象;
第四确定模块,用于确定所述第一显示位置,并在所述第一显示位置显示所述第一对象;
第二存储模块,用于显示所述第一对象之后,将所述对象标识、对所述第二对象执行所述编辑操作的操作时间和所述第二对象,存储在对象标识、操作时间与对象之间的对应关系中;
相应地,所述第一确定模块包括:
第二确定单元,用于当检测到第一对象的操作撤销指令时,基于所述第一对象的对象标识,从存储的对象标识、操作时间与对象之间的对应关系中,获取操作时间与当前时间最近的对象,并将获取的对象确定为所述第二对象。
9.如权利要求6-8任一所述的装置,其特征在于,所述第二确定模块包括:
第三确定单元,用于当所述编辑操作属于第一类操作时,将所述第一显示位置确定为所述第二显示位置,所述第一类操作为未改变对象显示位置的操作;
获取单元,用于当所述编辑操作属于第二类操作时,基于所述对象标识和所述第二对象,从存储的对象标识、对象与显示位置之间的对应关系中,获取所述第二显示位置,所述第二类操作为改变对象显示位置的操作。
10.如权利要求7或8所述的装置,其特征在于,所述装置还包括:
第三存储模块,用于当所述编辑操作属于第二类操作时,将所述对象标识、所述第二对象和所述第二显示位置,存储在对象标识、对象与显示位置之间的对应关系中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611073097.4A CN106598926B (zh) | 2016-11-29 | 2016-11-29 | 操作撤销方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611073097.4A CN106598926B (zh) | 2016-11-29 | 2016-11-29 | 操作撤销方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106598926A true CN106598926A (zh) | 2017-04-26 |
CN106598926B CN106598926B (zh) | 2020-04-21 |
Family
ID=58593595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611073097.4A Active CN106598926B (zh) | 2016-11-29 | 2016-11-29 | 操作撤销方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106598926B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108525297A (zh) * | 2018-03-07 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 动画显示方法、装置、存储介质和电子装置 |
CN109947334A (zh) * | 2017-12-21 | 2019-06-28 | 珠海金山办公软件有限公司 | 一种墨迹撤销方法、装置及电子设备 |
WO2020038171A1 (zh) * | 2018-08-20 | 2020-02-27 | 北京达佳互联信息技术有限公司 | 撤回图片文件的方法及其控制方法、装置及移动终端 |
CN111324400A (zh) * | 2018-12-17 | 2020-06-23 | 中兴通讯股份有限公司 | 一种显示方法、装置、终端和存储介质 |
CN111382127A (zh) * | 2020-02-12 | 2020-07-07 | 福建网龙计算机网络信息技术有限公司 | 一种撤消处理方法及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003036190A (ja) * | 2001-07-25 | 2003-02-07 | Oki Electric Ind Co Ltd | アンドゥ処理システム及びアンドゥ処理方法 |
CN101122906A (zh) * | 2006-08-09 | 2008-02-13 | 北京北大方正电子有限公司 | 一种文档存储方法及系统 |
CN102456036A (zh) * | 2010-10-20 | 2012-05-16 | 金蝶软件(中国)有限公司 | 一种操作撤销方法及系统 |
-
2016
- 2016-11-29 CN CN201611073097.4A patent/CN106598926B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003036190A (ja) * | 2001-07-25 | 2003-02-07 | Oki Electric Ind Co Ltd | アンドゥ処理システム及びアンドゥ処理方法 |
CN101122906A (zh) * | 2006-08-09 | 2008-02-13 | 北京北大方正电子有限公司 | 一种文档存储方法及系统 |
CN102456036A (zh) * | 2010-10-20 | 2012-05-16 | 金蝶软件(中国)有限公司 | 一种操作撤销方法及系统 |
Non-Patent Citations (2)
Title |
---|
CHUNBO ZHOU 等: "Object-based nonlinear undo model", 《PROCEEDINGS TWENTY-FIRST ANNUAL INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE》 * |
朱靖飞 等: "图形编辑系统下Undo/Redo操作的设计与实现", 《科学技术与工程》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947334A (zh) * | 2017-12-21 | 2019-06-28 | 珠海金山办公软件有限公司 | 一种墨迹撤销方法、装置及电子设备 |
CN109947334B (zh) * | 2017-12-21 | 2022-04-05 | 珠海金山办公软件有限公司 | 一种墨迹撤销方法、装置及电子设备 |
CN108525297A (zh) * | 2018-03-07 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 动画显示方法、装置、存储介质和电子装置 |
CN108525297B (zh) * | 2018-03-07 | 2019-05-24 | 腾讯科技(深圳)有限公司 | 动画显示方法、装置、存储介质和电子装置 |
WO2020038171A1 (zh) * | 2018-08-20 | 2020-02-27 | 北京达佳互联信息技术有限公司 | 撤回图片文件的方法及其控制方法、装置及移动终端 |
US11176192B2 (en) | 2018-08-20 | 2021-11-16 | Beijing Dajia Internet Information Technology Co., Ltd. | Method and apparatus for recalling image file, control method and apparatus for recalling image file, and mobile terminal |
CN111324400A (zh) * | 2018-12-17 | 2020-06-23 | 中兴通讯股份有限公司 | 一种显示方法、装置、终端和存储介质 |
CN111382127A (zh) * | 2020-02-12 | 2020-07-07 | 福建网龙计算机网络信息技术有限公司 | 一种撤消处理方法及终端 |
CN111382127B (zh) * | 2020-02-12 | 2023-05-23 | 福建网龙计算机网络信息技术有限公司 | 一种撤消处理方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN106598926B (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598926A (zh) | 操作撤销方法及装置 | |
CN103019586B (zh) | 用户界面管理方法及装置 | |
CN105378597B (zh) | 用于显示的方法及其电子装置 | |
CN103500191B (zh) | 一种流表配置、查询、表项删除方法及装置 | |
CN108345485A (zh) | 用于界面视图的标识方法及装置 | |
CN106202441A (zh) | 基于关系型数据库的数据处理方法、装置和系统 | |
CN103246638A (zh) | 一种信息粘贴方法和装置 | |
CN110531920A (zh) | 侧边工具栏的显示方法、装置、终端及存储介质 | |
CN105975142A (zh) | 图标移动方法和装置 | |
CN103383620B (zh) | 在移动终端上显示帮助信息的方法及移动终端 | |
CN106055462A (zh) | 一种时长获取方法和装置 | |
CN102708197B (zh) | 一种多媒体文件管理方法及装置 | |
CN104111934B (zh) | 电子地图搜索结果的展示方法以及电子地图客户端 | |
CN109117242A (zh) | 虚拟机垃圾回收调优方法、装置、电子设备及存储介质 | |
CN106201224A (zh) | 一种数据批量处理的方法及装置 | |
CN108255952A (zh) | 数据加载方法、装置、存储介质及电子设备 | |
CN107608585A (zh) | 一种应用程序的操作方法和设备以及移动终端 | |
CN104268012B (zh) | 一种图片数据处理方法及装置 | |
CN102023843A (zh) | 函数的调用方法、装置及智能卡 | |
CN110245149A (zh) | 元数据的版本管理方法及装置 | |
CN105933930A (zh) | 双卡模式下的搜网方法和装置 | |
CN105867788A (zh) | 一种信息显示方法和终端 | |
CN108121493A (zh) | 显示控制方法及相关产品 | |
CN105323368B (zh) | 批量选择方法及其移动终端 | |
CN107992763A (zh) | 一种文件系统的掉电保护方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 266555 Qingdao economic and Technological Development Zone, Shandong, Hong Kong Road, No. 218 Patentee after: Hisense Visual Technology Co., Ltd. Address before: 266555 Qingdao economic and Technological Development Zone, Shandong, Hong Kong Road, No. 218 Patentee before: QINGDAO HISENSE ELECTRONICS Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |