2012-05-18 119 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綁定一無所知。如果你最終寫了一個,請告訴我,我會將它包含在項目中。

相關問題