2012-05-18 83 views
2

Gtk#是否提供了将格式化文本从TextView/Textbuffer写入文件的可能性?
什么是最合理的文件格式被使用:XML,RTF,HTML?
如果没有可用的东西:
有没有一种简单的方法来浏览TextBuffer的TextIter元素? 我能想象到的唯一方法是:将Gtk#文本缓冲区内容保存到文件

for (i=0; i<TextBuffer.CharCount; i++){ 
    iter=TextBuffer.GetIterAtOffset(i); 
    writeIterAndTagToFile(iter); 
} 

我希望有一个更好的方法
感谢您的帮助
问候哈拉尔

回答

2

是的,你可以在文本缓冲区的内容保存到一个文件,采用GTK的内部序列化格式 - 这保证了文本缓冲区和序列化文本之间可以一一对应。检出Gtk.TextBuffer.RegisterSerializeTagset,Gtk.TextBuffer.Serialize

您也可以编写自己的序列化转换器并注册它们。我曾经为RTF写过一篇文章; Sourceforge page。然而,要在Mono中运行它,你可能必须以某种方式编写一个绑定。最新版本可以与GObject Introspection配合使用,但据我所知,这还不适用于Mono。我愿意帮你写一个绑定,但我对写Mono绑定一无所知。如果你最终写了一个,请告诉我,我会将它包含在项目中。

相关问题