Ubuntu – Porting “import gobject” to use GObject-Introspection. (PyGTK to PyGI and GTK 3)

gtk3portingpygipygtkpython

I've been trying to port a library from PyGTK to use GI and GTK3. The problem is I can't find any resources specific to the gobject imports, but only for GTK. I was hoping that if someone would translate the following for me, I would get a grasp of how to do this stuff. The GTK things itself seems to be fairly well documented, but I can't find anything about this.


__gsignals__ = {'cell-edited' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE,
    (gobject.TYPE_PYOBJECT, gobject.TYPE_PYOBJECT, gobject.TYPE_PYOBJECT, 
    gobject.TYPE_PYOBJECT, gobject.TYPE_PYOBJECT)), 'selection-changed' : 
    (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, (gobject.TYPE_PYOBJECT,))}

My assumption was, since I couldn't find any specific documentation, that it would be a matter of changing the name of the constants, but I can't find any replacements.

Best Answer

Think I've cracked the code after dir()-ing everything I could find in the GObject class =>

G_SIGNAL_RUN_FIRST is found in the GSignalFlags enum, which translates to GObject.SignalFlags.RUN_FIRST. This is consistent, so G_SIGNAL_MATCH_ID found in the enum GSignalMatchType translates to GObject.SignalMatchType.ID.

Not entirely obvious, but easy enough once you know what to look for.