Blob Blame History Raw
<refentry id="pythonsupport" revision="26 Feb 2011">
   <refentrytitle>Python Gtk widgets support</refentrytitle>
   <refmiscinfo>Glade UI</refmiscinfo>
   <refname>Add python support to your catalog</refname>
How to write and install a catalog for a python widget library

Glade supports loading widgets coded in python by linking and running the python
interpreter from the gladepython catalog plugin.

So in order for glade to include your python gtk widgets you will have to:

a) specify gladepython support code as your plugin library.

b) set glade_python_init as you init function.

c) make sure your catalog name is the same as your python import library since
glade_python_init() will use this name to import your widgets into the

<glade-catalog name="pythonplugin" library="gladepython"
domain="glade-3" depends="gtk+">

   <glade-widget-class title="MyBox" name="MyBox" generic-name="mybox"/>

 <glade-widget-group name="python" title="Python">
   <glade-widget-class-ref name="MyBox"/>

Glade's python interpreter will look up for your widgets in the same
places it looks
for regular catalogs plugins, that is $GLADE_ENV_MODULE_PATH
enviroment variable
and `pkg-config --variable=moduledir gladeui-2.0`

So the easiest thing would be to make a symlink in one of those directory, just
do not forget that the name should be the one specified in your catalog name.

from gi.repository import Gtk

class MyBox(Gtk.HBox):
       __gtype_name__ = 'MyBox'

       def __init__(self):