Отмена, возврат и проверка наличия изменений

otmena vozvrat i proverka nalichiya izmenenij Примеры законченных программ с графическим интерфейсом

Еще одной новинкой в версии PyEdit для третьего издания стала поддержка неограниченного количества отмен и возвратов (undo/redo) операций редактирования, проверка наличия изменений перед завершением редактора, а также перед выполнением операций открытия, запуска и создания нового файла, чтобы при необходимости запросить сохранение этих изменений. Теперь запрос подтверждения на выход или перезапись файла выводится уже не каждый раз, а только если текст в окне редактора действительно изменился. Библиотека Tk версии 8.4 (или выше) предоставляет прикладной интерфейс, который упрощает реализацию обеих этих возможностей, — Tk сохраняет стеки отмены и возврата операций редактирования автоматически. Они включаются с помощью параметра undo настройки виджета Text и доступны с помощью методов edit_undo и edit_redo. Аналогично метод edit_reset очищает стеки (например, после открытия нового файла), а метод edit_modified проверяет или устанавливает признак наличия изменений в тексте.

Отмену вырезания и вставки текста из буфера обмена сразу после их выполнения реализовать совсем несложно (простой вставкой текста из буфера обмена или вырезанием вставленного и выделенного текста), но усовершенствованная поддержка операций отмены/возврата более полная и проще в использовании. Во втором издании книги реализация отмены была предложена в качестве самостоятельного упражнения, но она стала практически тривиальной благодаря новому прикладному интерфейсу библиотеки Tk.

Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, I том, 2011

Каталог сайтов Всего.ру
Оцените статью
Секреты программирования
Добавить комментарий