/Mac/Modules/ctl/ctledit.py
http://unladen-swallow.googlecode.com/ · Python · 45 lines · 33 code · 7 blank · 5 comment · 3 complexity · 597db21ecf841757620a726ce3c3fbd3 MD5 · raw file
- # 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