|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
<html>
|
|
Packit |
1e8aac |
<head>
|
|
Packit |
1e8aac |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
Packit |
1e8aac |
<title>Python Gtk widgets support: Glade User Interface Designer Reference Manual</title>
|
|
Packit |
1e8aac |
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
|
|
Packit |
1e8aac |
<link rel="home" href="index.html" title="Glade User Interface Designer Reference Manual">
|
|
Packit |
1e8aac |
<link rel="up" href="catalog.html" title="Part I. Adding your custom widgets">
|
|
Packit |
1e8aac |
<link rel="prev" href="properties.html" title="Property Class Definitions">
|
|
Packit |
1e8aac |
<link rel="next" href="core.html" title="Part II. Glade Core">
|
|
Packit |
1e8aac |
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
|
Packit |
1e8aac |
<link rel="stylesheet" href="style.css" type="text/css">
|
|
Packit |
1e8aac |
</head>
|
|
Packit |
1e8aac |
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
Python Gtk widgets support
|
|
Packit |
1e8aac |
Add python support to your catalog —
|
|
Packit |
1e8aac |
How to write and install a catalog for a python widget library
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
Introduction
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
Glade supports loading widgets coded in python by linking and running the python
|
|
Packit |
1e8aac |
interpreter from the gladepython catalog plugin.
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
So in order for glade to include your python gtk widgets you will have to:
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
a) specify gladepython support code as your plugin library.
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
b) set glade_python_init as you init function.
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
c) make sure your catalog name is the same as your python import library since
|
|
Packit |
1e8aac |
glade_python_init() will use this name to import your widgets into the
|
|
Packit |
1e8aac |
interpreter.
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
<glade-catalog name="pythonplugin" library="gladepython"
|
|
Packit |
1e8aac |
domain="glade-3" depends="gtk+">
|
|
Packit |
1e8aac |
<init-function>glade_python_init</init-function>
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
<glade-widget-classes>
|
|
Packit |
1e8aac |
<glade-widget-class title="MyBox" name="MyBox" generic-name="mybox"/>
|
|
Packit |
1e8aac |
</glade-widget-classes>
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
<glade-widget-group name="python" title="Python">
|
|
Packit |
1e8aac |
<glade-widget-class-ref name="MyBox"/>
|
|
Packit |
1e8aac |
</glade-widget-group>
|
|
Packit |
1e8aac |
</glade-catalog>
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
Glade's python interpreter will look up for your widgets in the same
|
|
Packit |
1e8aac |
places it looks
|
|
Packit |
1e8aac |
for regular catalogs plugins, that is $GLADE_ENV_MODULE_PATH
|
|
Packit |
1e8aac |
enviroment variable
|
|
Packit |
1e8aac |
and `pkg-config --variable=moduledir gladeui-2.0`
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
So the easiest thing would be to make a symlink in one of those directory, just
|
|
Packit |
1e8aac |
do not forget that the name should be the one specified in your catalog name.
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
pythonplugin.py
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
from gi.repository import Gtk
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
class MyBox(Gtk.HBox):
|
|
Packit |
1e8aac |
__gtype_name__ = 'MyBox'
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
def __init__(self):
|
|
Packit |
1e8aac |
Gtk.HBox.__init__(self)
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
Generated by GTK-Doc V1.28
|
|
Packit |
1e8aac |
</body>
|
|
Packit |
1e8aac |
</html>
|