|
1 # FindControlUnderMouse() returns an existing control, not a new one, |
|
2 # so create this one by hand. |
|
3 f = Function(ExistingControlHandle, 'FindControlUnderMouse', |
|
4 (Point, 'inWhere', InMode), |
|
5 (WindowRef, 'inWindow', InMode), |
|
6 (SInt16, 'outPart', OutMode), |
|
7 ) |
|
8 functions.append(f) |
|
9 |
|
10 f = Function(ControlHandle, 'as_Control', |
|
11 (Handle, 'h', InMode)) |
|
12 functions.append(f) |
|
13 |
|
14 f = Method(Handle, 'as_Resource', (ControlHandle, 'ctl', InMode)) |
|
15 methods.append(f) |
|
16 |
|
17 f = Method(void, 'GetControlRect', (ControlHandle, 'ctl', InMode), (Rect, 'rect', OutMode)) |
|
18 methods.append(f) |
|
19 |
|
20 DisposeControl_body = """ |
|
21 if (!PyArg_ParseTuple(_args, "")) |
|
22 return NULL; |
|
23 if ( _self->ob_itself ) { |
|
24 SetControlReference(_self->ob_itself, (long)0); /* Make it forget about us */ |
|
25 DisposeControl(_self->ob_itself); |
|
26 _self->ob_itself = NULL; |
|
27 } |
|
28 Py_INCREF(Py_None); |
|
29 _res = Py_None; |
|
30 return _res; |
|
31 """ |
|
32 |
|
33 f = ManualGenerator("DisposeControl", DisposeControl_body) |
|
34 f.docstring = lambda : "() -> None" |
|
35 |
|
36 methods.append(f) |
|
37 |
|
38 # All CreateXxxXxxControl() functions return a new object in an output |
|
39 # parameter; these should however be managed by us (we're creating them |
|
40 # after all), so set the type to ControlRef. |
|
41 for f in functions: |
|
42 if f.name.startswith("Create"): |
|
43 v = f.argumentList[-1] |
|
44 if v.type == ExistingControlHandle: |
|
45 v.type = ControlRef |