Связывание истории отмен между несколькими GtkSourceViews - PullRequest
1 голос
/ 24 мая 2011

У меня есть приложение, которое содержит несколько виджетов GtkSourceView. Основной интерфейс представляет собой лист, содержащий несколько «ячеек» - каждая из которых представляет собой GtkSourceView. GtkSourceView имеет встроенную поддержку отмены, но каждый виджет имеет свой собственный «стек отмены». Я хотел бы иметь одинаковый стек отмены по всему листу.

Например: скажем, последнее изменение было выполнено в SourceView A, а второе - последнее редактирование было в SourceView B. Независимо от того, какой SourceView находится в фокусе, первое нажатие Ctrl-Z должно вернуть изменение в A, а второе нажмите должно отменить изменения в B.

Есть ли способ, которым я могу сделать это, сохраняя при этом несколько виджетов SourceView, или мне лучше попытаться реализовать такую ​​функцию отмены самостоятельно?

Примечание: я думаю, что было бы слишком неуклюже пытаться поместить весь лист в единый SourceView. Также я использую Python.

1 Ответ

2 голосов
/ 24 мая 2011

Да, свяжите горячую клавишу Ctrl-Z с вашим собственным пунктом меню Отменить, в котором вы отслеживаете порядок, в котором были изменены исходные представления, и вызываете метод отмены в соответствующем исходном виде.

...