2

Gtk# 是否提供了将格式化文本从 TextView / Textbuffer 写入文件的可能性?
最合理的文件格式是什么:XML、RTF、HTML?
如果没有可用的东西:
有没有一种简单的方法来逐步遍历 TextBuffer 的 TextIter 元素?我能想象的唯一方法是:

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

我希望有更好的方法
感谢
Harald的帮助

4

1 回答 1

2

是的,您可以将文本缓冲区的内容以 GTK 的内部序列化格式保存到文件中——这保证了文本缓冲区和序列化文本之间可以存在一对一的对应关系。签出Gtk.TextBuffer.RegisterSerializeTagsetGtk.TextBuffer.Serialize等。

您还可以编写自己的序列化转换器并注册它们。我曾经为 RTF 写过一篇;Sourceforge 页面。但是,要让它在 Mono 中工作,您可能必须以某种方式编写绑定。最新版本确实适用于 GObject Introspection,但据我所知,这对 Mono 不可用。我愿意帮助您编写绑定,但我对编写 Mono 绑定一无所知。如果你最终写了一个,请告诉我,我会将它包含在项目中。

于 2012-05-19T21:41:57.433 回答