如何从/向文件读取或写入GTK TreeStores?

时间:2009-08-16 22:41:19

标签: file haskell gtk treemodel

我是新手。

如何将TreeStore存储到文件中?我可以通过TreeModel接口存储来自底层TreeStore的特定值,但是有没有办法将整个底层TreeStore“抓取”为一个值,或者我是否必须遍历TreeStore,一次存储一行?

/ J

1 个答案:

答案 0 :(得分:2)

你必须自己遍历TreeStore。

问题是商店没有任何外部表示。 Haskell类型通常有一个Read和Show实例,可用于序列化(假设读取。显示=== id为该类型,这是不礼貌的)。读取和显示不适合所有序列化需求(它们在序列化的时间或大小上都不是特别有效),但在这些情况下,您可以使用Data.Binary。

外部数据类型(包括GLib和Gtk类型)往往没有Read,Show或Binary实例,因此您需要编写自己的实例,或者只需通过手动遍历存储来编写生成String或ByteString的函数