我有一个包含几个 GtkSourceView 小部件的应用程序。主界面是一个包含多个“单元格”的表格——每个单元格都是一个 GtkSourceView。GtkSourceView 内置了对撤消的支持,但是每个小部件都有自己的“撤消堆栈”。我想在整个工作表上都有相同的撤消堆栈。
例如:假设最后一次编辑是在 SourceView A 中进行的,倒数第二次编辑是在 SourceView B 中。无论哪个 SourceView 具有焦点,第一次按 Ctrl-Z 应该恢复 A 中的更改,第二次按应该恢复B 的变化。
有没有一种方法可以在保持多个 SourceView 小部件的同时完成此操作,或者我最好自己尝试实现这种类型的撤消功能?
注意:我认为尝试将整个工作表放在单个 SourceView 中会太笨重。另外,我正在使用 Python。