[pygtk] unable to wrap my Interface
John Finlay
finlay at moeraki.com
Wed Aug 15 01:52:42 WST 2007
varun_shrivastava wrote:
> hi
> i have inherited from GTypeInterface, but i am not able to generate the
> .defs file from the script h2def.py
>
> After i run the script, the .defs file show my inherited class as
>
> define-object MyInterface
>
> but it should be define-interface MyInterface
>
> I have no idea why the script is recognizing it as an object not as
> interface.
> My .h file looks like this:
> #ifndef __GTK_MY_INTERFACE_H__
> #define __GTK_MY_INTERFACE_H__
>
> #include <glib-object.h>
>
> #define GTK_TYPE_MY_INTERFACE (gtk_my_interface_get_type ())
> #define GTK_MY_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),
> GTK_TYPE_MY_INTERFACE, GtkMyInterface))
> #define GTK_IS_MY_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),
> GTK_TYPE_MY_INTERFACE))
> #define GTK_MY_INTERFACE_GET_IFACE(obj)
> (G_TYPE_INSTANCE_GET_INTERFACE((obj), GTK_TYPE_MY_INTERFACE,
> GtkMyInterfaceIface))
> #define GTK_IS_MY_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),
> GTK_TYPE_MY_INTERFACE))
>
> typedef struct _GtkMyInterface GtkMyInterface;
> typedef struct _GtkMyInterfaceIface GtkMyInterfaceIface;
>
> struct _GtkMyInterfaceIface {
> GTypeInterface base_interface;
>
> };
>
> GType gtk_my_interface_get_type (void);
>
> #endif /* __GTK_MY_INTERFACE_H__ */
>
>
> kindly help
>
h2def.py doesn't write define-interface lines if I recall correctly -
just change the define-object line. You could try defsgen.py:
http://svn.gnome.org/viewcvs/pygtk/trunk/codegen/defsgen.py?view=log
which uses ctypes to generate .defs - its more comprehensive in
generating .defs.
John
More information about the pygtk
mailing list