diff options
author | Johan Dahlin <zilch@src.gnome.org> | 2003-01-07 22:55:12 +0000 |
---|---|---|
committer | Johan Dahlin <zilch@src.gnome.org> | 2003-01-07 22:55:12 +0000 |
commit | 164aa1628e25513e723501ee685fdce59d20d740 (patch) | |
tree | 3cacfc6f36123ee105223a1dcb57239478f7a678 | |
parent | 717914fd814ac64d6896c545a090c2e9e177ee96 (diff) | |
download | pygtk-164aa1628e25513e723501ee685fdce59d20d740.tar.gz |
Add default paramter.
* gtk/gtk.defs (gtk_text_tag_new): Add default paramter.
* pangomodule.c (initpango): Added SCALE_* constants, patch by
John Finlay, fixes #102731.
* gtk/gtk.override (_wrap_gtk_text_buffer_create_tag): Modify to
accept keyword parameters, largely based upon patch by John
Finlay, fixes #102628
* gtk/gtk.defs (GtkTextBuffer.get_slice): default last parameter
to TRUE. #102607
(GtkTextBuffer.get_text): ditto. #102607
(GtkTextBuffer.create_mark): Default last param. to FALSE. #102627
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | gtk/gtk.defs | 8 | ||||
-rw-r--r-- | gtk/gtk.override | 42 | ||||
-rw-r--r-- | pangomodule.c | 17 |
4 files changed, 72 insertions, 9 deletions
@@ -1,5 +1,19 @@ 2003-01-07 Johan Dahlin <jdahlin@async.com.br> + * gtk/gtk.defs (gtk_text_tag_new): Add default paramter. + + * pangomodule.c (initpango): Added SCALE_* constants, patch by + John Finlay, fixes #102731. + + * gtk/gtk.override (_wrap_gtk_text_buffer_create_tag): Modify to + accept keyword parameters, largely based upon patch by John + Finlay, fixes #102628 + + * gtk/gtk.defs (GtkTextBuffer.get_slice): default last parameter + to TRUE. #102607 + (GtkTextBuffer.get_text): ditto. #102607 + (GtkTextBuffer.create_mark): Default last param. to FALSE. #102627 + * setup.py, MANIFEST.in: Added distutils support * Makefile.am (EXTRA_DIST): Added setup.py and MANIFEST.in here. diff --git a/gtk/gtk.defs b/gtk/gtk.defs index 098d397e..bda7ff6c 100644 --- a/gtk/gtk.defs +++ b/gtk/gtk.defs @@ -11255,7 +11255,7 @@ (parameters '("const-GtkTextIter*" "start") '("const-GtkTextIter*" "end") - '("gboolean" "include_hidden_chars") + '("gboolean" "include_hidden_chars" (default "TRUE")) ) ) @@ -11266,7 +11266,7 @@ (parameters '("const-GtkTextIter*" "start") '("const-GtkTextIter*" "end") - '("gboolean" "include_hidden_chars") + '("gboolean" "include_hidden_chars" (default "TRUE")) ) ) @@ -11306,7 +11306,7 @@ (parameters '("const-gchar*" "mark_name" (null-ok)) '("const-GtkTextIter*" "where") - '("gboolean" "left_gravity") + '("gboolean" "left_gravity" (default "FALSE")) ) ) @@ -12360,7 +12360,7 @@ (is-constructor-of GtkTextTag) (return-type "GtkTextTag*") (parameters - '("const-gchar*" "name") + '("const-gchar*" "name" (null-ok) (default "NULL")) ) ) diff --git a/gtk/gtk.override b/gtk/gtk.override index f006b2ac..09dddb86 100644 --- a/gtk/gtk.override +++ b/gtk/gtk.override @@ -5997,15 +5997,14 @@ override gtk_text_buffer_create_tag kwargs static PyObject * _wrap_gtk_text_buffer_create_tag(PyGObject *self, PyObject *args, PyObject *kwargs) { - static char *kwlist[] = { "tag_name", NULL }; - gchar *tag_name; + gchar *tag_name = NULL; GtkTextTag *tag; GtkTextTagTable *table; - if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "s:GtkTextBuffer.create_tag", kwlist, - &tag_name)) + if (!PyArg_ParseTuple(args, "|z:GtkTextBuffer.create_tag", + &tag_name)) { return NULL; + } table = GTK_TEXT_TAG_TABLE(GTK_TEXT_BUFFER(self->obj)->tag_table); if (tag_name && table && g_hash_table_lookup(table->hash, tag_name)) { @@ -6020,6 +6019,39 @@ _wrap_gtk_text_buffer_create_tag(PyGObject *self, PyObject *args, PyObject *kwar tag = gtk_text_buffer_create_tag(GTK_TEXT_BUFFER(self->obj), tag_name, NULL); + + /* set tag properties if any */ + if (kwargs) { + gint i = 0; + PyObject *prop, *val; + + while (PyDict_Next(kwargs, &i, &prop, &val)) { + GParamSpec *pspec; + GValue value = { 0, }; + gchar *prop_str = PyString_AsString(prop); + + pspec = g_object_class_find_property (G_OBJECT_GET_CLASS(tag), + prop_str); + if (!pspec) { + PyErr_Format(PyExc_TypeError, + "unsupported tag property `%s'", + prop_str); + /* XXX: Free tag? */ + return NULL; + } + + g_value_init(&value, G_PARAM_SPEC_VALUE_TYPE(pspec)); + if (pyg_value_from_pyobject(&value, val) < 0) { + PyErr_Format(PyExc_TypeError, + "could not convert tag property '%s' to correct type", + prop_str); + /* XXX: Free tag? */ + return NULL; + } + g_object_set_property((GObject *)tag, prop_str, &value); + g_value_unset(&value); + } + } return pygobject_new((GObject *)tag); } %% diff --git a/pangomodule.c b/pangomodule.c index 3d8a64f3..b974e629 100644 --- a/pangomodule.c +++ b/pangomodule.c @@ -5,6 +5,8 @@ #include <Python.h> #include <pygobject.h> +#include <pango/pango-font.h> + /* include any extra headers needed here */ void pypango_register_classes(PyObject *d); @@ -25,6 +27,21 @@ initpango(void) pypango_register_classes(d); pypango_add_constants(m, "PANGO_"); + + PyModule_AddObject(m, "SCALE_XX_SMALL", + PyFloat_FromDouble(PANGO_SCALE_XX_SMALL)); + PyModule_AddObject(m, "SCALE_X_SMALL", + PyFloat_FromDouble(PANGO_SCALE_X_SMALL)); + PyModule_AddObject(m, "SCALE_SMALL", + PyFloat_FromDouble(PANGO_SCALE_SMALL)); + PyModule_AddObject(m, "SCALE_MEDIUM", + PyFloat_FromDouble(PANGO_SCALE_MEDIUM)); + PyModule_AddObject(m, "SCALE_LARGE", + PyFloat_FromDouble(PANGO_SCALE_LARGE)); + PyModule_AddObject(m, "SCALE_X_LARGE", + PyFloat_FromDouble(PANGO_SCALE_LARGE)); + PyModule_AddObject(m, "SCALE_XX_LARGE", + PyFloat_FromDouble(PANGO_SCALE_LARGE)); /* add anything else to the module dictionary (such as constants) */ |