星期四, 六月 07, 2007

GtkSourceView可控的undo

GtkSourceView是GNome下常用的编辑控件,常用于源码的编辑和显示,gedit就是用了这个控件,并且因为它有undo功能(标准的TextView没有),所以我也喜欢把它用在各种地方替代TextView。

一个小问题是,undo功能有时是不需要的,确切的说是不能要的,比如你实现一个简单的文本编辑器,load一个文本文件之后,显然GtkSourceView会被更新,但这时候如果undo,就会回到load之前的内容,这应该是不正确的逻辑, GtkSourceView当然考虑了这种情况,它提供了begin_not_undoable_action和end_not_undoable_action接口,意思很直白,将load操作嵌入在这两个调用中间,就不会出现undo回到load之前的情况了,实际上以后的undo只能回到调用end_not_undoable_action的时候了。

0 Comments:

发表评论

<< Home