diff -r ffa851df0825 -r 2fb8b9db1c86 symbian-qemu-0.9.1-12/python-2.6.1/Mac/Modules/ctl/ctledit.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/symbian-qemu-0.9.1-12/python-2.6.1/Mac/Modules/ctl/ctledit.py Fri Jul 31 15:01:17 2009 +0100 @@ -0,0 +1,45 @@ +# FindControlUnderMouse() returns an existing control, not a new one, +# so create this one by hand. +f = Function(ExistingControlHandle, 'FindControlUnderMouse', + (Point, 'inWhere', InMode), + (WindowRef, 'inWindow', InMode), + (SInt16, 'outPart', OutMode), +) +functions.append(f) + +f = Function(ControlHandle, 'as_Control', + (Handle, 'h', InMode)) +functions.append(f) + +f = Method(Handle, 'as_Resource', (ControlHandle, 'ctl', InMode)) +methods.append(f) + +f = Method(void, 'GetControlRect', (ControlHandle, 'ctl', InMode), (Rect, 'rect', OutMode)) +methods.append(f) + +DisposeControl_body = """ + if (!PyArg_ParseTuple(_args, "")) + return NULL; + if ( _self->ob_itself ) { + SetControlReference(_self->ob_itself, (long)0); /* Make it forget about us */ + DisposeControl(_self->ob_itself); + _self->ob_itself = NULL; + } + Py_INCREF(Py_None); + _res = Py_None; + return _res; +""" + +f = ManualGenerator("DisposeControl", DisposeControl_body) +f.docstring = lambda : "() -> None" + +methods.append(f) + +# All CreateXxxXxxControl() functions return a new object in an output +# parameter; these should however be managed by us (we're creating them +# after all), so set the type to ControlRef. +for f in functions: + if f.name.startswith("Create"): + v = f.argumentList[-1] + if v.type == ExistingControlHandle: + v.type = ControlRef