From: Duncan C. <dun...@wo...> - 2003-10-31 02:03:37
|
On Sun, 2003-10-26 at 22:42, Axel Simon wrote: > > Some functions are not bound yet because of my confusion over GSLists. > > Could you point out which function in the API you would like to bind? > (Especially which function needs to read GSLists?) SourceTagTable.sourceTagTableAddTags needs to convert a [SourceTag] to a GSlist SourceTag.keywordListTagNew needs to convert a [String] to a GSList > > Stuff that remains to be done: > > * Sort out issue with ref counting > You should report this as a bug, me thinks. I've questioned it on one of the gtk lists. I've not got any response yet, if I don't get a reply I'll file it as a bug or ask the author. > Could you check out the current CVS? I hope I haven't forgotten anything > of the new stuff. Only thing missed was my errata to the Makefile, here's a patch against the current cvs: Index: Makefile =================================================================== RCS file: /cvsroot/gtk2hs/gtk2hs/sourceview/Makefile,v retrieving revision 1.2 diff -U2 -r1.2 Makefile --- Makefile 26 Oct 2003 22:29:51 -0000 1.2 +++ Makefile 31 Oct 2003 01:50:13 -0000 @@ -26,6 +26,6 @@ SourceLanguagesManager-HEADER = gtksourceview/gtksourceviewlanguagesmanager.h SourceTag-HEADER = gtksourceview/gtksourcetag.h -SourceTagTable-HEADER = gtksourceview/gtktagtable.h -SourceStyleScheme-HEADER = gtksourceview/gtkstlyescheme.h +SourceTagTable-HEADER = gtksourceview/gtksourcetagtable.h +SourceStyleScheme-HEADER = gtksourceview/gtksourcestylescheme.h endif I am having problems binding the SourceMarker module (and the various marker function in the SourceBuffer module). The problem is that GtkSourceMarker is a typedef of GtkTextMark (rather than a subclass) and c2hs doesn't understand that so all the {#call #}'s get turned into foreign import declarations using Ptr () rather than Ptr SourceMarker or Ptr TextMark. I'm not sure how to get around this, it's not just a matter of sticking castPtr everywhere as there's all the withforiengPtr business too. I could try pretending that GtkSourceMarker is a subclass of GtkTextMark. That should work as I don't think any code relies on being able to convert a GtkTextMark to a GtkSourceMarker (which is allowed if they are aliases but not if the have a super/subclass relationship). I've attached my current attempt so you can see what I'm talking about. Duncan |