diff options
| author | James Henstridge <james@daa.com.au> | 2001-07-03 02:52:05 +0000 |
|---|---|---|
| committer | James Henstridge <jamesh@src.gnome.org> | 2001-07-03 02:52:05 +0000 |
| commit | 08789548c7dcf822eae6b21116ed505e1c6b7f42 (patch) | |
| tree | 281a8a5de01b7d2942642663b21d78c1b9cad428 | |
| parent | f75d268b4d693a201e7fdbc590f1a30543e5e763 (diff) | |
| download | pygtk-08789548c7dcf822eae6b21116ed505e1c6b7f42.tar.gz | |
add pygtk-codegen-2.0 to list of files to be processed.
2001-07-03 James Henstridge <james@daa.com.au>
* configure.in (AC_OUTPUT): add pygtk-codegen-2.0 to list of files
to be processed.
* codegen/codegen.py (register_types): fix typo s/parser/defsparser/
* gtk/Makefile.am ($(srcdir)/gtk.c): register types from
pango.defs.
* gtk/gtk.override (init): import the PangoContext and PangoLayout
classes from the pango module.
| -rw-r--r-- | ChangeLog | 13 | ||||
| -rw-r--r-- | Makefile.am | 7 | ||||
| -rw-r--r-- | codegen/.cvsignore | 1 | ||||
| -rw-r--r-- | codegen/Makefile.am | 4 | ||||
| -rw-r--r-- | codegen/codegen.py | 2 | ||||
| -rw-r--r-- | configure.in | 2 | ||||
| -rw-r--r-- | gtk/Makefile.am | 31 | ||||
| -rw-r--r-- | gtk/gtk.override | 26 |
8 files changed, 61 insertions, 25 deletions
@@ -1,5 +1,18 @@ 2001-07-03 James Henstridge <james@daa.com.au> + * configure.in (AC_OUTPUT): add pygtk-codegen-2.0 to list of files + to be processed. + + * codegen/codegen.py (register_types): fix typo s/parser/defsparser/ + + * gtk/Makefile.am ($(srcdir)/gtk.c): register types from + pango.defs. + + * gtk/gtk.override (init): import the PangoContext and PangoLayout + classes from the pango module. + +2001-07-02 James Henstridge <james@daa.com.au> + * pango.defs: add is-constructor-of arguments to some defs, and add fields to some object and boxed defs. diff --git a/Makefile.am b/Makefile.am index f5fef185..5061fcbb 100644 --- a/Makefile.am +++ b/Makefile.am @@ -30,7 +30,9 @@ pangomodule_la_LIBADD = $(PANGO_LIBS) $(srcdir)/pango.c: $(srcdir)/pango.defs $(srcdir)/pango.override -chmod a+w $(srcdir) cd $(srcdir) \ - && $(PYTHON) codegen/codegen.py -o pango.override -p pypango pango.defs > gen-pango.c \ + && $(PYTHON) codegen/codegen.py \ + --override pango.override \ + --prefix pypango pango.defs > gen-pango.c \ && cp gen-pango.c pango.c \ && rm -f gen-pango.c @@ -41,6 +43,9 @@ noinst_PYTHON = ltihooks.py dist-hook: -rm -f $(distdir)/pango.c +defsdir = $(pkgdatadir)/2.0/defs +defs_DATA = pango.defs + EXTRA_DIST = \ pygtk.spec \ MAPPING \ diff --git a/codegen/.cvsignore b/codegen/.cvsignore index 9d478f8e..da730506 100644 --- a/codegen/.cvsignore +++ b/codegen/.cvsignore @@ -3,4 +3,5 @@ Makefile.in *.pyc *.pyo *.defs +pygtk-codegen-2.0 diff --git a/codegen/Makefile.am b/codegen/Makefile.am index 050cf1cd..7f5d88b3 100644 --- a/codegen/Makefile.am +++ b/codegen/Makefile.am @@ -1,4 +1,6 @@ +bin_SCRIPTS = pygtk-codegen-2.0 + codegendir = $(pkgdatadir)/2.0/codegen codegen_PYTHON = \ @@ -15,4 +17,4 @@ codegen_PYTHON = \ override.py \ scmexpr.py -EXTRA_DIST = README.defs +EXTRA_DIST = README.defs pygtk-codegen-2.0.in diff --git a/codegen/codegen.py b/codegen/codegen.py index b5f4113c..573246b5 100644 --- a/codegen/codegen.py +++ b/codegen/codegen.py @@ -775,7 +775,7 @@ if __name__ == '__main__': elif opt in ('-p', '--prefix'): prefix = arg elif opt in ('-r', '--register'): - p = parser.DefsParser(arg) + p = defsparser.DefsParser(arg) p.startParsing() register_types(p) del p diff --git a/configure.in b/configure.in index dd563973..121908a7 100644 --- a/configure.in +++ b/configure.in @@ -67,6 +67,6 @@ if test "x$enable_numpy" != xno; then CPPFLAGS="$save_CPPFLAGS" fi -AC_OUTPUT(Makefile codegen/Makefile gtk/Makefile) +AC_OUTPUT(Makefile codegen/Makefile gtk/Makefile codegen/pygtk-codegen-2.0) diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 2522073c..df96cd3f 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -1,6 +1,5 @@ -INCLUDES = -I$(top_srcdir) $(PYTHON_INCLUDES) $(GTK_CFLAGS) \ - $(GDK_IMLIB_CFLAGS) $(LIBGLADE_CFLAGS) $(GTKGL_CFLAGS) -Wall +INCLUDES = -I$(top_srcdir) $(PYTHON_INCLUDES) $(GTK_CFLAGS) -Wall pygtkdir = $(pythondir)/gtk pygtk_PYTHON = __init__.py GTK.py GDK.py @@ -28,28 +27,18 @@ $(srcdir)/gtk.c: $(srcdir)/gtk.defs $(srcdir)/gdk.defs \ $(srcdir)/gtk-extrafuncs.defs $(srcdir)/gtk.override -chmod a+w $(srcdir) cd $(srcdir) \ - && $(PYTHON) ../codegen/codegen.py -o gtk.override -p pygtk gtk.defs > gen-gtk.c \ + && $(PYTHON) ../codegen/codegen.py \ + --register ../pango.defs \ + --override gtk.override \ + --prefix pygtk gtk.defs > gen-gtk.c \ && cp gen-gtk.c gtk.c \ && rm -f gen-gtk.c -$(srcdir)/libglade.c: $(srcdir)/libglade.defs $(srcdir)/libglade.override - -chmod a+w $(srcdir) - cd $(srcdir) \ - && $(PYTHON) ../codegen/codegen.py -r gtk.defs -o libglade.override -p libglade libglade.defs > gen-libglade.c \ - && cp gen-libglade.c libglade.c \ - && rm -f gen-libglade.c - -$(srcdir)/gtkgl.c: $(srcdir)/gtkgl.defs $(srcdir)/gtkgl.override - -chmod a+w $(srcdir) - cd $(srcdir) \ - && $(PYTHON) ../codegen/codegen.py -r gtk.defs -o gtkgl.override -p pygtkgl gtkgl.defs > gen-gtkgl.c \ - && cp gen-gtkgl.c gtkgl.c \ - && rm -f gen-gtkgl.c - - # a hack so that gtk.c is not included in the final package. dist-hook: - -rm -f $(distdir)/gtk.c $(distdir)/libglade.c $(distdir)/gtkgl.c + -rm -f $(distdir)/gtk.c + +defsdir = $(pkgdatadir)/2.0/defs +defs_DATA = gtk.defs gtk-extrafuncs.defs gdk.defs -EXTRA_DIST = gtk.defs gtk-extrafuncs.defs gdk.defs gtk.override \ - libglade.defs libglade.override gtkgl.defs gtkgl.override +EXTRA_DIST = gtk.defs gtk-extrafuncs.defs gdk.defs gtk.override diff --git a/gtk/gtk.override b/gtk/gtk.override index 0e1f1790..149afc92 100644 --- a/gtk/gtk.override +++ b/gtk/gtk.override @@ -20,10 +20,19 @@ headers static PyExtensionClass *_PyGObject_Type; #define PyGObject_Type (*_PyGObject_Type) +static PyExtensionClass *_PyPangoContext_Type; +#define PyPangoContext_Type (*_PyPangoContext_Type) +static PyExtensionClass *_PyPangoFont_Type; +#define PyPangoFont_Type (*_PyPangoFont_Type) +static PyExtensionClass *_PyPangoLayout_Type; +#define PyPangoLayout_Type (*_PyPangoLayout_Type) + %% init { PyObject *pygobject = PyImport_ImportModule("gobject"); + PyObject *pypango; + if (pygobject != NULL) { PyObject *module_dict = PyModule_GetDict(pygobject); @@ -33,6 +42,23 @@ init Py_FatalError("could not import gobject"); return; } + pypango = PyImport_ImportModule("pango"); + if (pypango != NULL) { + PyObject *module_dict = PyModule_GetDict(pypango); + + _PyPangoContext_Type = + (PyExtensionClass *)PyDict_GetItemString(module_dict, + "PangoContext"); + _PyPangoFont_Type = + (PyExtensionClass *)PyDict_GetItemString(module_dict, + "PangoFont"); + _PyPangoLayout_Type = + (PyExtensionClass *)PyDict_GetItemString(module_dict, + "PangoLayout"); + } else { + Py_FatalError("could not import pango"); + return; + } } %% |
