| 
									
										
										
										
											2001-12-13 21:24:37 +00:00
										 |  |  | # 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) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1999-02-07 14:02:03 +00:00
										 |  |  | f = Function(ControlHandle, 'as_Control', | 
					
						
							|  |  |  | 	(Handle, 'h', InMode)) | 
					
						
							|  |  |  | functions.append(f) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1999-12-23 14:32:06 +00:00
										 |  |  | f = Method(Handle, 'as_Resource', (ControlHandle, 'ctl', InMode)) | 
					
						
							| 
									
										
										
										
											1995-06-18 20:16:33 +00:00
										 |  |  | methods.append(f) | 
					
						
							| 
									
										
										
										
											1996-10-01 10:46:46 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-03-21 16:25:23 +00:00
										 |  |  | f = Method(void, 'GetControlRect', (ControlHandle, 'ctl', InMode), (Rect, 'rect', OutMode)) | 
					
						
							|  |  |  | methods.append(f) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1996-10-01 10:46:46 +00:00
										 |  |  | DisposeControl_body = """
 | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	if ( _self->ob_itself ) { | 
					
						
							| 
									
										
										
										
											1997-09-20 17:40:22 +00:00
										 |  |  | 		SetControlReference(_self->ob_itself, (long)0); /* Make it forget about us */ | 
					
						
							| 
									
										
										
										
											1996-10-01 10:46:46 +00:00
										 |  |  | 		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) | 
					
						
							| 
									
										
										
										
											2001-12-13 21:24:37 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # 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 |