您的位置:首页 > 运维架构 > Linux

linux dhcp配置服务

2013-12-30 16:25 239 查看
现在的项目中有一个文本编辑器(类似记事本的),是之前的程序员写的,他是自己管理redo-undo栈,我看了一下,根本没法用那个redo-undo功能(只能redo-undo一次,晕死),而且其中的逻辑超级乱。

我改写了一下,代码还算简洁,由于是公司的项目,我不能贴代码,只能讲讲我实现的思路。

具体就是在编辑框输入的同时,将前面的输入压到undo栈,但要注意,当前在文本框的文本应该将其入redo栈。

每次编辑框发生修改时,undo栈压入的是redo栈的top元素,然后当前编辑框中的文本再入redo栈。但要注意的是编辑框刚打开时是有初始化值的(类似记事本打开一个txt文件,txt中本身存在内容),因此一开始的时候这个初始值是要压入到undo栈而不能压入到redo栈。

做undo的时候注意undo栈不能一直pop,因为undo的底元素师文本框的初始值。
而redo的时候redo栈也不能一直pop,因为redo栈的顶元素是最后修改键入的那个元素。

而文本框显示的值是redo或者undo的最新值。当然,这个值如前面所说,是栈里面的元素,可能这个元素是栈中弹出的元素,也可能只是取栈顶的元素(看是否到达了redo-undo栈的size为1)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: