[pypy-commit] pypy stdlib-2.7.8: More methods for tkapp
alex_gaynor
noreply at buildbot.pypy.org
Wed Aug 27 19:18:30 CEST 2014
Author: Alex Gaynor <alex.gaynor at gmail.com>
Branch: stdlib-2.7.8
Changeset: r73084:27bd5f479a55
Date: 2014-08-27 10:18 -0700
http://bitbucket.org/pypy/pypy/changeset/27bd5f479a55/
Log: More methods for tkapp
diff --git a/lib_pypy/_tkinter/app.py b/lib_pypy/_tkinter/app.py
--- a/lib_pypy/_tkinter/app.py
+++ b/lib_pypy/_tkinter/app.py
@@ -474,6 +474,41 @@
self.raiseTclError()
return v[0]
+ def exprboolean(self, s):
+ if '\x00' in s:
+ raise TypeError
+ v = tkffi.new("int*")
+ res = tklib.Tcl_ExprBoolean(self.interp, s, v)
+ if res == tklib.TCL_ERROR:
+ self.raiseTclError()
+ return v[0]
+
+ def exprlong(self, s):
+ if '\x00' in s:
+ raise TypeError
+ v = tkffi.new("long*")
+ res = tklib.Tcl_ExprLong(self.interp, s, v)
+ if res == tklib.TCL_ERROR:
+ self.raiseTclError()
+ return v[0]
+
+ def exprdouble(self, s):
+ if '\x00' in s:
+ raise TypeError
+ v = tkffi.new("double*")
+ res = tklib.Tcl_ExprDouble(self.interp, s, v)
+ if res == tklib.TCL_ERROR:
+ self.raiseTclError()
+ return v[0]
+
+ def exprstring(self, s):
+ if '\x00' in s:
+ raise TypeError
+ res = tklib.Tcl_ExprString(self.interp, s)
+ if res == tklib.TCL_ERROR:
+ self.raiseTclError()
+ return tkffi.string(tklib.Tcl_GetStringResult(self.interp))
+
def mainloop(self, threshold):
self._check_tcl_appartment()
self.dispatching = True
diff --git a/lib_pypy/_tkinter/tklib.py b/lib_pypy/_tkinter/tklib.py
--- a/lib_pypy/_tkinter/tklib.py
+++ b/lib_pypy/_tkinter/tklib.py
@@ -76,6 +76,11 @@
char *Tcl_GetStringFromObj(Tcl_Obj* objPtr, int* lengthPtr);
unsigned char *Tcl_GetByteArrayFromObj(Tcl_Obj* objPtr, int* lengthPtr);
+int Tcl_ExprBoolean(Tcl_Interp* interp, const char *expr, int *booleanPtr);
+int Tcl_ExprLong(Tcl_Interp* interp, const char *expr, long* longPtr);
+int Tcl_ExprDouble(Tcl_Interp* interp, const char *expr, double* doublePtr);
+int Tcl_ExprString(Tcl_Interp* interp, const char *expr);
+
Tcl_UniChar *Tcl_GetUnicode(Tcl_Obj* objPtr);
int Tcl_GetCharLength(Tcl_Obj* objPtr);
More information about the pypy-commit
mailing list