2009-08-16 12 views
1

我是新來的。如何從/向文件讀取或寫入GTK TreeStores?

如何將TreeStore存儲到文件?我可以通過TreeModel接口存儲下層TreeStore中的特定值,但是有什麼方法可以「抓取」整個下層TreeStore作爲值,還是必須遍歷TreeStore,一次存儲一行?

/J

+1

爲什麼問題標記爲「haskell」? – 2009-08-17 11:30:15

回答

2

你必須自己遍歷TreeStore。

問題是,商店沒有任何外部表示。 Haskell類型通常具有可用於序列化的Read和Show實例(假設讀取。show ===該類型的id,這對它來說是不禮貌的)。 Read和Show並不適合所有的序列化需求(它們在時間或序列化大小方面效率都不高),但在這種情況下,您可以使用Data.Binary。

外部數據類型(包括GLib和Gtk類型)通常不具有Read,Show或Binary實例,因此您需要編寫自己的實例,或者只需編寫一個通過遍歷存儲生成String或ByteString的函數手動。