Hello Axel,

I see. Without a safe toTreeStore or toListStore, there is no point exposing the type of the model. I think the solution would be including a TreeStoreFilter and ListStoreFilter implementing the TreeModelFilter similar to how TreeStore and ListStore implement TreeModel. As I am not capable or willing to make such a patch, it is just a thought. I am instead creating a similar structure in Haskell to keep both references together. 

Thanks for the response,


On Sunday, July 22, 2012, Axel Simon wrote:
Hi Kevin,

there's always a problem about exposing things: on the one hand, we don't want to expose API functions that are internal. On the other hand, people should be able to extend the library with their own widgets and for that some internal, possibly unsafe, functions need to be exposed.

So, there's probably no harm in exporting TypedTreeModelFilter but you probably also need unsafeTreeModelToGeneric. Maybe we should export ModelView.Types completely and put in the documentation that it should not be used by the end user.


On 22.07.2012, at 06:21, kevin ulin wrote:

> Is there a reason the type TypedTreeModelFilter is not exposed in Graphics.UI.Gtk.ModelView.TreeModelFilter?
> It is hidden and as a result the constructor treeModelFilterNew results in a type that cannot be used in type definitions outside of that module.
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________
> Gtk2hs-users mailing list
> Gtk2hs-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gtk2hs-users