Plugs (Glade, Bonobo)

Plugs are special add on modules to PonG. There are two default plugs, the bonobo control plug and the glade plug. Plugs are an alternate way to create widgets. For example you can lay out widgets using glade if the layout engine of PonG ends up too constraining. A plug can manage one or more widgets and must know them by name.

The glade plug loads a file and displays a certain widget from it in place of a group or a widget in a pane. When PonG needs to set a value on a certain widget. It will first see if it itself doesn't know of such a widget. If not, it will ask all the plugs if they know a widget of this name. So the widget name you specified for keys is that which you defined inside glade itself. Of course you will need to use the PonG native widgets inside of glade and for this purpose all native widgets implement a _new method (e.g. pong_slider_new), you will have to use the glade interface for custom widgets.

The bonobo plug is used only for a single widget as a replacement for any builtin widget. It is a standard BonoboControl, that however implements the GNOME::PonG::ControlInterface interface. More on that later. To use the bonobo control you define the query string by which you will get this control, for example you could use the OAFIID directly.

Both the glade and bonobo plugs can load widgets which are not connected to any configuration keys which can be any widgets or controls you want, and don't of course have to support the PonG specific interfaces.