Blame doc/html/pythonsupport.html

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
Home
Packit 1e8aac
Up
Packit 1e8aac
Prev
Packit 1e8aac
Next
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>