symbian-qemu-0.9.1-12/python-2.6.1/Mac/Modules/ctl/ctledit.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     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