2011-05-24 9 views
1

私はいくつかのGtkSourceViewウィジェットを含むアプリケーションを持っています。メインインターフェイスは、複数の「セル」を含むシートで、それぞれがGtkSourceViewです。 GtkSourceViewにはUNDOのサポートが組み込まれていますが、各ウィジェットには独自の「元に戻すスタック」があります。私はシート全体に同じ取り消しスタックを持たせたいと思います。複数のGtkSourceViews間で取り消し履歴をリンクする

例:最後の編集がSourceView Aで行われ、最後の編集がSourceView Bであったとします。どのSourceViewにフォーカスがあるかにかかわらず、Ctrl-Zを押すとAの変更が元に戻ります。 2回目のプレスでBの変更を元に戻す必要があります。

複数のSourceViewウィジェットを維持しながらこれを達成する方法はありますか、このタイプの取り消し機能を自分で実装しようとする方が良いですか?

注:1枚のSourceViewの中にシート全体を収めようとするのは大変だと思います。また、私はPythonを使用しています。

答えて

2

はい、Ctrl + Zホットキーを独自の元に戻すメニュー項目にバインドします。このメニュー項目では、ソースビューが変更された順序を追跡し、適切なソースビューで元に戻す方法を呼び出します。

+0

ありがとうございました。私はそれを考えなかったとは信じられない –

関連する問題