文件查看器与撤销重做功能实现
在开发文件查看器的过程中,我们会遇到诸多挑战,如限制光标移动范围、实现文本滚动以及支持插入、删除和撤销重做等功能。接下来,我们将详细探讨这些功能的实现方法。
1. 工厂方法与裁剪功能
为了尽可能复用代码,我们引入了工厂方法。在 BufferApp 类中,将创建窗口、缓冲区和光标的构造函数调用放在工厂方法中,这样在后续版本中更改使用的类时,只需重写相应的工厂方法,而无需重写整个 _setup 方法。
class BufferApp(DispatchApp):
def __init__(self, size, lines):
super().__init__(size, lines)
def _setup(self, screen):
self._screen = screen
self._make_window()
self._make_buffer()
self._make_cursor()
def _make_window(self):
self._window = Window(self._screen, self._size)
def _make_buffer(self):
self._buffer = Buffer(self._lines)
def _make_cursor(self):
self._cursor = Cursor()
文件查看器与撤销重做功能详解
超级会员免费看
订阅专栏 解锁全文
785

被折叠的 条评论
为什么被折叠?



