summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Blandford <jrb@gnome.org>2002-08-18 00:26:01 +0000
committerJonathan Blandford <jrb@src.gnome.org>2002-08-18 00:26:01 +0000
commit5613b947a84950d57bc9c519b04d279f91385aab (patch)
tree7e4238d42accda3b0420cd5718abbdfeeb310c01
parent72c2d7c854611cc5020cfb16b852facfa7880830 (diff)
downloadpygtk-5613b947a84950d57bc9c519b04d279f91385aab.tar.gz
Add a time_t parameter type.
Sat Aug 17 20:02:43 2002 Jonathan Blandford <jrb@gnome.org> * codegen/argtypes.py (TimeTArg.write_param): Add a time_t parameter type. Sat Aug 17 19:59:02 2002 Jonathan Blandford <jrb@gnome.org> * gnome/ui.defs: s/GnomeDataEdit/GnomeDateEdit
-rw-r--r--ChangeLog5
-rw-r--r--codegen/argtypes.py15
2 files changed, 20 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index c07fc516..6872d66b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Aug 17 20:02:43 2002 Jonathan Blandford <jrb@gnome.org>
+
+ * codegen/argtypes.py (TimeTArg.write_param): Add a time_t
+ parameter type.
+
2002-08-17 James Henstridge <james@daa.com.au>
* pygtype.c (pyg_value_from_pyobject): allow None when converting
diff --git a/codegen/argtypes.py b/codegen/argtypes.py
index 92fa3434..840afb57 100644
--- a/codegen/argtypes.py
+++ b/codegen/argtypes.py
@@ -188,6 +188,18 @@ class IntArg(ArgType):
info.varlist.add('int', 'ret')
info.codeafter.append(' return PyInt_FromLong(ret);')
+class TimeTArg(ArgType):
+ def write_param(self, ptype, pname, pdflt, pnull, info):
+ if pdflt:
+ info.varlist.add('time_t', pname + ' = ' + pdflt)
+ else:
+ info.varlist.add('time_t', pname)
+ info.arglist.append(pname)
+ info.add_parselist('i', ['&' + pname], [pname])
+ def write_return(self, ptype, ownsreturn, info):
+ info.varlist.add('time_t', 'ret')
+ info.codeafter.append(' return PyInt_FromLong(ret);')
+
class ULongArg(ArgType):
dflt = ' if (py_%(name)s)\n' \
' %(name)s = PyLong_AsUnsignedLong(py_%(name)s);\n'
@@ -736,6 +748,9 @@ matcher.register('guint16', arg)
matcher.register('gint16', arg)
matcher.register('gint32', arg)
+arg = TimeTArg()
+matcher.register('time_t', arg)
+
# If the system maxint is smaller than unsigned int, we need to use
# Long objects with PyLong_AsUnsignedLong
if sys.maxint >= (1L << 32):