Hi Andy,

I cannot find anything wrong with the Makefile.

I installed webkit 1.1.10. Since the configure script requires at  
least version 1.1.14, I simply changed the configure file. When I run  
make, I get:

rm -f libHSgio.a
./mk/link-splitobjs.sh libHSgio.a gio/System/GIO/AsyncResult.o gio/ 
System/GIO/Base.o gio/System/GIO/Cancellable.o gio/System/GIO/ 
FileAttribute.o gio/System/GIO/File.o gio/System/GIO.o gio/System/GIO/ 
Types.o gio/System/GIO/Signals.o  gio/System/GIO/Base_stub.o
Linking libHSgio.a, for larger libs this can take quite some time...
ar: creating archive libHSgio.a
ranlib libHSgio.a
rm soegtk/Graphics/SOE/Gtk.hs
make: *** [all] Error 2

However, there's lots of output before this error message and  
scrolling up reveals that there was an error (I don't know why make  
doesn't stop immediately). Running make again gave me:

make  all-am
./tools/c2hs/c2hsLocal +RTS -RTS -igtk:glib:webkit --precomp=webkit/ 
webkit.precomp -o webkit/Graphics/UI/Gtk/WebKit/Types.hs webkit/ 
Graphics/UI/Gtk/WebKit/Types.chs
c2hsLocal: Errors during expansion of binding hooks:

webkit/Graphics/UI/Gtk/WebKit/Types.chs:232: (column 12) [ERROR]
   >>> Unknown identifier!
   Cannot find a definition for `NetworkResponse' in the header file.
webkit/Graphics/UI/Gtk/WebKit/Types.chs:255: (column 22) [ERROR]
   >>> Unknown identifier!
   Cannot find a definition for `webkit_network_response_get_type' in  
the header file.
webkit/Graphics/UI/Gtk/WebKit/Types.chs:448: (column 12) [ERROR]
   >>> Unknown identifier!
   Cannot find a definition for `WebDatabase' in the header file.
webkit/Graphics/UI/Gtk/WebKit/Types.chs:471: (column 22) [ERROR]
   >>> Unknown identifier!
   Cannot find a definition for `webkit_web_database_get_type' in the  
header file.
webkit/Graphics/UI/Gtk/WebKit/Types.chs:475: (column 12) [ERROR]
   >>> Unknown identifier!
   Cannot find a definition for `WebDataSource' in the header file.
webkit/Graphics/UI/Gtk/WebKit/Types.chs:498: (column 22) [ERROR]
   >>> Unknown identifier!
   Cannot find a definition for `webkit_web_data_source_get_type' in  
the header file.
webkit/Graphics/UI/Gtk/WebKit/Types.chs:502: (column 12) [ERROR]
   >>> Unknown identifier!
   Cannot find a definition for `WebResource' in the header file.
webkit/Graphics/UI/Gtk/WebKit/Types.chs:525: (column 22) [ERROR]
   >>> Unknown identifier!
   Cannot find a definition for `webkit_web_resource_get_type' in the  
header file.
webkit/Graphics/UI/Gtk/WebKit/Types.chs:529: (column 12) [ERROR]
   >>> Unknown identifier!
   Cannot find a definition for `SecurityOrigin' in the header file.
webkit/Graphics/UI/Gtk/WebKit/Types.chs:552: (column 22) [ERROR]
   >>> Unknown identifier!
   Cannot find a definition for `webkit_security_origin_get_type' in  
the header file.

make: *** [all] Error 2

Which means that the version of webkit I'm using is lacking certain  
types. I removed these types from tools/hierarchyGen/hierarchy.list  
but ran into problems of missing functions.

I think you just have to scroll up to find the actual error (or run  
make again). Since my packaging system doesn't provide webkit 1.10.14,  
I cannot build with the proper version right now.

On Mar 17, 2010, at 12:03, Andy Stewart wrote:

> Hi Axel,
>
> I want update all functions/signals under Widget to Gtk+ 2.18.

Please consider using the apiGen tool to generate these functions. If  
you don't, you are likely to forget an #ifdef or get the documentation  
wrong. Fixing these thing takes longer for me than merging the new  
functions generated by apiGen myself.


> Below are missing functions/singals:
> ------------------------------> Gtk+ 2.18 Update start  
> <------------------------------
> * TODO Missing Functions
> ** TODO gtk_widget_realize
> ** TODO gtk_widget_get_visual

I don't know if we ever need Visuals. I think they are a defined as  
type but there are no methods for Visual.
But in general I'm ok to bind these functions.

> ** TODO gtk_widget_hide_on_delete
> ** TODO gtk_widget_ensure_style
> ** TODO gtk_widget_get_default_visual
> ** TODO gtk_widget_modify_cursor
> ** TODO gtk_widget_pop_composite_child
> ** TODO gtk_widget_push_composite_child
> ** TODO gtk_widget_mnemonic_activate
> ** TODO gtk_widget_class_install_style_property
> ** TODO gtk_widget_class_find_style_property
> ** TODO gtk_widget_class_list_style_properties

> ** TODO gtk_widget_send_expose

The docs say that this function is rarely used. I don't think we  
should confuse the user with this.

> ** TODO gtk_widget_style_get_property

You have to come up with what a property may be. Letting the user deal  
with raw GValues is not an option as they can contain pointers.

> ** TODO gtk_widget_style_get_valist

We can't bind vararg functions.

> ** TODO gtk_widget_child_notify
> ** TODO gtk_widget_freeze_child_notify


> ** TODO gtk_widget_get_clipboard

Are you sure this is missing? Clipboard support is there, in principle.

> ** TODO gtk_widget_thaw_child_notify
> ** TODO gtk_widget_error_bell
> ** TODO gtk_widget_keynav_failed

There is little point in *calling* this function. You might bind it's  
signal.

> ** TODO gtk_widget_get_tooltip_markup
> ** TODO gtk_widget_set_tooltip_markup
> ** TODO gtk_widget_get_tooltip_text
> ** TODO gtk_widget_set_tooltip_text
> ** TODO gtk_widget_get_tooltip_window
> ** TODO gtk_widget_set_tooltip_window
> ** TODO gtk_widget_get_has_tooltip
> ** TODO gtk_widget_set_has_tooltip

All of these should be implemented as attributes, not as set/get  
functions.

> ** TODO gtk_widget_trigger_tooltip_query
> ** TODO gtk_widget_get_snapshot

> ** TODO gtk_widget_get_allocation
> ** TODO gtk_widget_set_allocation

Only the get variant is useful.

> ** TODO gtk_widget_get_double_buffered
> ** TODO gtk_widget_get_has_window

> ** TODO gtk_widget_set_has_window

We cannot allow users to call this functions.

> ** TODO gtk_widget_is_sensitive
> ** TODO gtk_widget_set_visible
> ** TODO gtk_widget_has_grab
> ** TODO gtk_widget_is_drawable
> ** TODO gtk_widget_is_toplevel
> ** TODO gtk_widget_set_window
> ** TODO gtk_widget_set_receives_default
> ** TODO gtk_widget_get_receives_default
> ** TODO gtk_requisition_copy
> ** TODO gtk_requisition_free
>
> * TODO Signal
> ** TODO"can-activate-accel"

> ** TODO"child-notify"

We need a way to handle properties of widgets. This needs some  
conceptual work, as in how to set and retrieve widget properties in a  
type safe way.

> ** TODO"client-event"

You need to add this even to EventM first.

> ** TODO"composited-changed"
> ** TODO"damage-event"
> ** TODO"direction-changed"

> ** TODO"drag-begin"
> ** TODO"drag-data-delete"
> ** TODO"drag-data-get"
> ** TODO"drag-data-received"
> ** TODO"drag-drop"
> ** TODO"drag-end"
> ** TODO"drag-failed"
> ** TODO"drag-leave"
> ** TODO"drag-motion"

No! Drag and drop is implemented and these are low-level signals that  
nobody should use.

> ** TODO"enter-notify-event"

Don't we have this?

> ** TODO"event"
> ** TODO"event-after"

I don't know if these are useful.

> ** TODO"expose-event"

Don't we have this?

> ** TODO"focus"
> ** TODO"grab-focus"
> ** TODO"grab-notify"
> ** TODO"hide"
> ** TODO"hierarchy-changed"
> ** TODO"keynav-failed"
> ** TODO"map"
> ** TODO"mnemonic-activate"
> ** TODO"move-focus"
> ** TODO"no-expose-event"
> ** TODO"parent-set"
> ** TODO"popup-menu"
> ** TODO"property-notify-event"
> ** TODO"query-tooltip"
> ** TODO"realize"

Some of these we have I believe.

> ** TODO"selection-clear-event"
> ** TODO"selection-get"
> ** TODO"selection-notify-event"
> ** TODO"selection-received"
> ** TODO"selection-request-event"

Do we not deal with these in Selection?


> ** TODO"show"
> ** TODO"show-help"
> ** TODO"size-allocate"
> ** TODO"size-request"
> ** TODO"state-changed"
> ** TODO"style-set"
> ** TODO"unmap"
> ** TODO"unrealize"
> ------------------------------> Gtk+ 2.18 Update end    
> <------------------------------
>

In order to ensure some quality of the binding, every function and  
signal that we bind needs to be understood. A lot of functions simply  
emit signals and a lot of signals are just there to trigger some  
default behaviour. I don't think we will ever need to enable the user  
to write their own instances of Widget and only then do these  
functions make sense.

Cheers,
Axel.


------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Gtk2hs-devel mailing list
Gtk2hs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtk2hs-devel

Reply via email to