2010-07-17 3 views
2

Итак, я пытаюсь написать богатый текстовый редактор в PyGTK и изначально использовал старый, сторонний скрипт InteractivePangoBuffer от Gourmet, чтобы сделать это. Хотя это сработало хорошо, по-прежнему было много ошибок, из-за которых было сложно использовать время от времени, поэтому я решил написать свои собственные текстовые теги. У меня есть отображение и, как правило, работает нормально, но теперь я застрял в попытке выяснить, как экспортировать их в файл при сохранении. Я видел, что у других была та же проблема, что и у меня, хотя я не видел никаких решений. Я не сталкивался с какой-либо функцией (встроенной или другой), которая приближается к фактическому получению начального и конечного положения каждого фрагмента текста с применением текстового текста, чтобы я мог его использовать.Сохранение gtk.TextTags в файл?

я пришел с одной идеей, которая теоретически должна работать, идя текст, используя gtk.TextBuffer.get_iter_at_offset(), gtk.TextIter.get_offset(), gtk.TextIter.begins_tag() и gtk.TextIter .ends_tag(), чтобы проверить каждый символ, чтобы узнать, начинается ли он или заканчивается тэг, и если да, поместите соответствующий код. Это было бы ужасно неэффективным и медленным, особенно на больших документах, однако, мне интересно, есть ли у кого-нибудь лучшее решение?

ответ

0

Возможно, вы используете gtk.TextIter.forward_to_tag_toggle(). То есть петля над всеми тегами, которые у вас есть, и для каждого тега сканирует буфер для позиции, в которую он переключается.

+0

Спасибо, что сделал это для меня! Не могу поверить, что я пропустил это! У меня есть экономия, работающая довольно эффективно. Если кто-то хочет посмотреть, что я сделал, посмотрите здесь: http://pastebin.com/A3SpdV4z – Smartboy

Смежные вопросы