2011-05-24 23 views
1

我有一個包含幾個GtkSourceView小部件的應用程序。主界面是一個包含多個「單元格」的表單 - 每個單元格都是一個GtkSourceView。 GtkSourceView內置了對撤消的支持,但每個小部件都有自己的「撤消堆棧」。我希望在整個工作表中都有相同的撤消堆棧。在多個GtkSourceView之間鏈接撤消歷史

例如:假設上一次編輯是在SourceView A中進行的,而第二次編輯是在SourceView B.不管哪個SourceView有焦點,第一次按下Ctrl-Z應該還原A中的更改,第二次按應該恢復B中的變化。

有沒有一種方法可以在保持多個SourceView小部件的情況下完成此操作,還是我最好嘗試自己實現這種類型的撤消功能?

注意:我認爲將整個工作表放在一個SourceView中會太笨重。另外,我正在使用Python。

回答

2

是的,將Ctrl-Z熱鍵綁定到您自己的Undo菜單項,其中您將跟蹤源視圖的更改順序,並在相應的sourceview上調用undo方法。

+0

謝謝。不能相信我沒有想到這一點 – 2011-05-24 18:25:27