2010-07-17 6 views
2

Alors j'essaie d'écrire un éditeur de texte riche en PyGTK, et à l'origine utilisé l'ancien script tiers InteractivePangoBuffer de Gourmet pour ce faire. Bien que cela a fonctionné, il y avait encore beaucoup de bugs avec ce qui rendait frustrant d'utiliser à certains moments, alors j'ai décidé d'écrire mes propres balises de texte. Je les ai affichés et généralement fonctionne bien, mais maintenant je suis coincé à essayer de comprendre comment les exporter dans un fichier lors de l'enregistrement. J'ai vu que d'autres ont eu le même problème que moi, bien que je n'ai pas vu de solutions. Je n'ai rencontré aucune fonction (intégrée ou autre) qui se rapproche de la position de début et de fin de chaque morceau de texte avec un texte appliqué pour que je puisse l'utiliser.Enregistrement de gtk.TextTags dans un fichier?

Je suis venu avec une idée qui devrait fonctionner en théorie, en marchant le texte en utilisant gtk.TextBuffer.get_iter_at_offset(), gtk.TextIter.get_offset(), gtk.TextIter.begins_tag(), et gtk.TextIter .ends_tag() afin de vérifier chaque caractère pour voir s'il commence ou se termine une étiquette et, si oui, mettez le code approprié. Ce serait terriblement inefficace et lent, surtout pour les documents plus volumineux, alors je me demande si quelqu'un a de meilleures solutions?

Répondre

0

Vous pouvez probablement utiliser gtk.TextIter.forward_to_tag_toggle(). C'est à dire. boucle sur toutes les balises que vous avez et pour chaque balise balayer le tampon pour la position où il est basculé.

+0

Merci, ça l'a fait pour moi! Je ne peux pas croire que je l'ai raté! J'ai sauvé de travailler plutôt efficacement maintenant. Si quelqu'un se soucie de voir ce que j'ai fait, regardez ici: http://pastebin.com/A3SpdV4z – Smartboy

Questions connexes