Modify framebuffer and NGA framebuffer to read screen size from board model dtb file. Optimise memory usuage of frame buffer
Add example minigui application with hooks to profiler (which writes results to S:\). Modified NGA framebuffer to run its own dfc queue at high priority
/* ========================== Module _Ctl =========================== */
#include "Python.h"
#ifndef __LP64__
#include "pymactoolbox.h"
/* Macro to test whether a weak-loaded CFM function exists */
#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
PyErr_SetString(PyExc_NotImplementedError, \
"Not available in this shared library/OS version"); \
return NULL; \
}} while(0)
#include <Carbon/Carbon.h>
#ifdef USE_TOOLBOX_OBJECT_GLUE
extern PyObject *_CtlObj_New(ControlHandle);
extern int _CtlObj_Convert(PyObject *, ControlHandle *);
#define CtlObj_New _CtlObj_New
#define CtlObj_Convert _CtlObj_Convert
#endif
static PyObject *CtlObj_WhichControl(ControlHandle);
#define as_Control(h) ((ControlHandle)h)
#define as_Resource(ctl) ((Handle)ctl)
#define GetControlRect(ctl, rectp) GetControlBounds(ctl, rectp)
#define MAXTABS 32 /* maximum number of tabs that we support in a tabs control */
/*
** Parse/generate ControlFontStyleRec records
*/
#if 0 /* Not needed */
static PyObject *
ControlFontStyle_New(ControlFontStyleRec *itself)
{
return Py_BuildValue("hhhhhhO&O&", itself->flags, itself->font,
itself->size, itself->style, itself->mode, itself->just,
QdRGB_New, &itself->foreColor, QdRGB_New, &itself->backColor);
}
#endif
static int
ControlFontStyle_Convert(PyObject *v, ControlFontStyleRec *itself)
{
return PyArg_Parse(v, "(hhhhhhO&O&)", &itself->flags,
&itself->font, &itself->size, &itself->style, &itself->mode,
&itself->just, QdRGB_Convert, &itself->foreColor,
QdRGB_Convert, &itself->backColor);
}
/*
** Parse/generate ControlID records
*/
static PyObject *
PyControlID_New(ControlID *itself)
{
return Py_BuildValue("O&l", PyMac_BuildOSType, itself->signature, itself->id);
}
static int
PyControlID_Convert(PyObject *v, ControlID *itself)
{
return PyArg_Parse(v, "(O&l)", PyMac_GetOSType, &itself->signature, &itself->id);
}
/*
** generate DataBrowserListViewColumnDesc records
*/
static int
DataBrowserTableViewColumnDesc_Convert(PyObject *v, DataBrowserTableViewColumnDesc *itself)
{
return PyArg_Parse(v, "(lO&l)",
&itself->propertyID,
PyMac_GetOSType, &itself->propertyType,
&itself->propertyFlags);
}
static int
ControlButtonContentInfo_Convert(PyObject *v, ControlButtonContentInfo *itself)
{
return PyArg_Parse(v, "(hO&)",
&itself->contentType,
OptResObj_Convert, &itself->u.iconSuite);
}
static int
DataBrowserListViewHeaderDesc_Convert(PyObject *v, DataBrowserListViewHeaderDesc *itself)
{
itself->version = kDataBrowserListViewLatestHeaderDesc;
return PyArg_Parse(v, "(HHhO&HO&O&)",
&itself->minimumWidth,
&itself->maximumWidth,
&itself->titleOffset,
CFStringRefObj_Convert, &itself->titleString,
&itself->initialOrder,
ControlFontStyle_Convert, &itself->btnFontStyle,
ControlButtonContentInfo_Convert, &itself->btnContentInfo);
}
static int
DataBrowserListViewColumnDesc_Convert(PyObject *v, DataBrowserListViewColumnDesc *itself)
{
return PyArg_Parse(v, "(O&O&)",
DataBrowserTableViewColumnDesc_Convert, &itself->propertyDesc,
DataBrowserListViewHeaderDesc_Convert, &itself->headerBtnDesc);
}
/* TrackControl and HandleControlClick callback support */
#define kMyControlActionProcTag 'ACTN' /* not an official tag, only for internal use */
static PyObject *tracker;
static ControlActionUPP mytracker_upp;
static ControlActionUPP myactionproc_upp;
static ControlUserPaneKeyDownUPP mykeydownproc_upp;
static ControlUserPaneFocusUPP myfocusproc_upp;
static ControlUserPaneDrawUPP mydrawproc_upp;
static ControlUserPaneIdleUPP myidleproc_upp;
static ControlUserPaneHitTestUPP myhittestproc_upp;
static ControlUserPaneTrackingUPP mytrackingproc_upp;
static int settrackfunc(PyObject *); /* forward */
static void clrtrackfunc(void); /* forward */
static int setcallback(PyObject *, OSType, PyObject *, UniversalProcPtr *);
static PyObject *Ctl_Error;
/* ---------------------- Object type Control ----------------------- */
PyTypeObject Control_Type;
#define CtlObj_Check(x) ((x)->ob_type == &Control_Type || PyObject_TypeCheck((x), &Control_Type))
typedef struct ControlObject {
PyObject_HEAD
ControlHandle ob_itself;
PyObject *ob_callbackdict;
} ControlObject;
PyObject *CtlObj_New(ControlHandle itself)
{
ControlObject *it;
if (itself == NULL) return PyMac_Error(resNotFound);
it = PyObject_NEW(ControlObject, &Control_Type);
if (it == NULL) return NULL;
it->ob_itself = itself;
SetControlReference(itself, (long)it);
it->ob_callbackdict = NULL;
return (PyObject *)it;
}
int CtlObj_Convert(PyObject *v, ControlHandle *p_itself)
{
if (!CtlObj_Check(v))
{
PyErr_SetString(PyExc_TypeError, "Control required");
return 0;
}
*p_itself = ((ControlObject *)v)->ob_itself;
return 1;
}
static void CtlObj_dealloc(ControlObject *self)
{
Py_XDECREF(self->ob_callbackdict);
if (self->ob_itself)SetControlReference(self->ob_itself, (long)0); /* Make it forget about us */
self->ob_type->tp_free((PyObject *)self);
}
static PyObject *CtlObj_HiliteControl(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
ControlPartCode hiliteState;
#ifndef HiliteControl
PyMac_PRECHECK(HiliteControl);
#endif
if (!PyArg_ParseTuple(_args, "h",
&hiliteState))
return NULL;
HiliteControl(_self->ob_itself,
hiliteState);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_ShowControl(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
#ifndef ShowControl
PyMac_PRECHECK(ShowControl);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
ShowControl(_self->ob_itself);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_HideControl(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
#ifndef HideControl
PyMac_PRECHECK(HideControl);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
HideControl(_self->ob_itself);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_IsControlActive(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
Boolean _rv;
#ifndef IsControlActive
PyMac_PRECHECK(IsControlActive);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = IsControlActive(_self->ob_itself);
_res = Py_BuildValue("b",
_rv);
return _res;
}
static PyObject *CtlObj_IsControlVisible(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
Boolean _rv;
#ifndef IsControlVisible
PyMac_PRECHECK(IsControlVisible);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = IsControlVisible(_self->ob_itself);
_res = Py_BuildValue("b",
_rv);
return _res;
}
static PyObject *CtlObj_ActivateControl(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
#ifndef ActivateControl
PyMac_PRECHECK(ActivateControl);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = ActivateControl(_self->ob_itself);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_DeactivateControl(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
#ifndef DeactivateControl
PyMac_PRECHECK(DeactivateControl);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = DeactivateControl(_self->ob_itself);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_SetControlVisibility(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
Boolean inIsVisible;
Boolean inDoDraw;
#ifndef SetControlVisibility
PyMac_PRECHECK(SetControlVisibility);
#endif
if (!PyArg_ParseTuple(_args, "bb",
&inIsVisible,
&inDoDraw))
return NULL;
_err = SetControlVisibility(_self->ob_itself,
inIsVisible,
inDoDraw);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_IsControlEnabled(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
Boolean _rv;
#ifndef IsControlEnabled
PyMac_PRECHECK(IsControlEnabled);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = IsControlEnabled(_self->ob_itself);
_res = Py_BuildValue("b",
_rv);
return _res;
}
static PyObject *CtlObj_EnableControl(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
#ifndef EnableControl
PyMac_PRECHECK(EnableControl);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = EnableControl(_self->ob_itself);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_DisableControl(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
#ifndef DisableControl
PyMac_PRECHECK(DisableControl);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = DisableControl(_self->ob_itself);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_Draw1Control(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
#ifndef Draw1Control
PyMac_PRECHECK(Draw1Control);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
Draw1Control(_self->ob_itself);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetBestControlRect(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
Rect outRect;
SInt16 outBaseLineOffset;
#ifndef GetBestControlRect
PyMac_PRECHECK(GetBestControlRect);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetBestControlRect(_self->ob_itself,
&outRect,
&outBaseLineOffset);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&h",
PyMac_BuildRect, &outRect,
outBaseLineOffset);
return _res;
}
static PyObject *CtlObj_SetControlFontStyle(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
ControlFontStyleRec inStyle;
#ifndef SetControlFontStyle
PyMac_PRECHECK(SetControlFontStyle);
#endif
if (!PyArg_ParseTuple(_args, "O&",
ControlFontStyle_Convert, &inStyle))
return NULL;
_err = SetControlFontStyle(_self->ob_itself,
&inStyle);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_DrawControlInCurrentPort(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
#ifndef DrawControlInCurrentPort
PyMac_PRECHECK(DrawControlInCurrentPort);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
DrawControlInCurrentPort(_self->ob_itself);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_SetUpControlBackground(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
SInt16 inDepth;
Boolean inIsColorDevice;
#ifndef SetUpControlBackground
PyMac_PRECHECK(SetUpControlBackground);
#endif
if (!PyArg_ParseTuple(_args, "hb",
&inDepth,
&inIsColorDevice))
return NULL;
_err = SetUpControlBackground(_self->ob_itself,
inDepth,
inIsColorDevice);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_SetUpControlTextColor(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
SInt16 inDepth;
Boolean inIsColorDevice;
#ifndef SetUpControlTextColor
PyMac_PRECHECK(SetUpControlTextColor);
#endif
if (!PyArg_ParseTuple(_args, "hb",
&inDepth,
&inIsColorDevice))
return NULL;
_err = SetUpControlTextColor(_self->ob_itself,
inDepth,
inIsColorDevice);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_DragControl(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
Point startPoint;
Rect limitRect;
Rect slopRect;
DragConstraint axis;
#ifndef DragControl
PyMac_PRECHECK(DragControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&O&H",
PyMac_GetPoint, &startPoint,
PyMac_GetRect, &limitRect,
PyMac_GetRect, &slopRect,
&axis))
return NULL;
DragControl(_self->ob_itself,
startPoint,
&limitRect,
&slopRect,
axis);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_TestControl(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
ControlPartCode _rv;
Point testPoint;
#ifndef TestControl
PyMac_PRECHECK(TestControl);
#endif
if (!PyArg_ParseTuple(_args, "O&",
PyMac_GetPoint, &testPoint))
return NULL;
_rv = TestControl(_self->ob_itself,
testPoint);
_res = Py_BuildValue("h",
_rv);
return _res;
}
static PyObject *CtlObj_HandleControlContextualMenuClick(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
Point inWhere;
Boolean menuDisplayed;
#ifndef HandleControlContextualMenuClick
PyMac_PRECHECK(HandleControlContextualMenuClick);
#endif
if (!PyArg_ParseTuple(_args, "O&",
PyMac_GetPoint, &inWhere))
return NULL;
_err = HandleControlContextualMenuClick(_self->ob_itself,
inWhere,
&menuDisplayed);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("b",
menuDisplayed);
return _res;
}
static PyObject *CtlObj_GetControlClickActivation(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
Point inWhere;
EventModifiers inModifiers;
ClickActivationResult outResult;
#ifndef GetControlClickActivation
PyMac_PRECHECK(GetControlClickActivation);
#endif
if (!PyArg_ParseTuple(_args, "O&H",
PyMac_GetPoint, &inWhere,
&inModifiers))
return NULL;
_err = GetControlClickActivation(_self->ob_itself,
inWhere,
inModifiers,
&outResult);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("l",
outResult);
return _res;
}
static PyObject *CtlObj_HandleControlKey(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
ControlPartCode _rv;
SInt16 inKeyCode;
SInt16 inCharCode;
EventModifiers inModifiers;
#ifndef HandleControlKey
PyMac_PRECHECK(HandleControlKey);
#endif
if (!PyArg_ParseTuple(_args, "hhH",
&inKeyCode,
&inCharCode,
&inModifiers))
return NULL;
_rv = HandleControlKey(_self->ob_itself,
inKeyCode,
inCharCode,
inModifiers);
_res = Py_BuildValue("h",
_rv);
return _res;
}
static PyObject *CtlObj_HandleControlSetCursor(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
Point localPoint;
EventModifiers modifiers;
Boolean cursorWasSet;
#ifndef HandleControlSetCursor
PyMac_PRECHECK(HandleControlSetCursor);
#endif
if (!PyArg_ParseTuple(_args, "O&H",
PyMac_GetPoint, &localPoint,
&modifiers))
return NULL;
_err = HandleControlSetCursor(_self->ob_itself,
localPoint,
modifiers,
&cursorWasSet);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("b",
cursorWasSet);
return _res;
}
static PyObject *CtlObj_MoveControl(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
SInt16 h;
SInt16 v;
#ifndef MoveControl
PyMac_PRECHECK(MoveControl);
#endif
if (!PyArg_ParseTuple(_args, "hh",
&h,
&v))
return NULL;
MoveControl(_self->ob_itself,
h,
v);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_SizeControl(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
SInt16 w;
SInt16 h;
#ifndef SizeControl
PyMac_PRECHECK(SizeControl);
#endif
if (!PyArg_ParseTuple(_args, "hh",
&w,
&h))
return NULL;
SizeControl(_self->ob_itself,
w,
h);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_SetControlTitle(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
Str255 title;
#ifndef SetControlTitle
PyMac_PRECHECK(SetControlTitle);
#endif
if (!PyArg_ParseTuple(_args, "O&",
PyMac_GetStr255, title))
return NULL;
SetControlTitle(_self->ob_itself,
title);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetControlTitle(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
Str255 title;
#ifndef GetControlTitle
PyMac_PRECHECK(GetControlTitle);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
GetControlTitle(_self->ob_itself,
title);
_res = Py_BuildValue("O&",
PyMac_BuildStr255, title);
return _res;
}
static PyObject *CtlObj_SetControlTitleWithCFString(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
CFStringRef inString;
#ifndef SetControlTitleWithCFString
PyMac_PRECHECK(SetControlTitleWithCFString);
#endif
if (!PyArg_ParseTuple(_args, "O&",
CFStringRefObj_Convert, &inString))
return NULL;
_err = SetControlTitleWithCFString(_self->ob_itself,
inString);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_CopyControlTitleAsCFString(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
CFStringRef outString;
#ifndef CopyControlTitleAsCFString
PyMac_PRECHECK(CopyControlTitleAsCFString);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = CopyControlTitleAsCFString(_self->ob_itself,
&outString);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CFStringRefObj_New, outString);
return _res;
}
static PyObject *CtlObj_GetControlValue(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
SInt16 _rv;
#ifndef GetControlValue
PyMac_PRECHECK(GetControlValue);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = GetControlValue(_self->ob_itself);
_res = Py_BuildValue("h",
_rv);
return _res;
}
static PyObject *CtlObj_SetControlValue(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
SInt16 newValue;
#ifndef SetControlValue
PyMac_PRECHECK(SetControlValue);
#endif
if (!PyArg_ParseTuple(_args, "h",
&newValue))
return NULL;
SetControlValue(_self->ob_itself,
newValue);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetControlMinimum(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
SInt16 _rv;
#ifndef GetControlMinimum
PyMac_PRECHECK(GetControlMinimum);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = GetControlMinimum(_self->ob_itself);
_res = Py_BuildValue("h",
_rv);
return _res;
}
static PyObject *CtlObj_SetControlMinimum(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
SInt16 newMinimum;
#ifndef SetControlMinimum
PyMac_PRECHECK(SetControlMinimum);
#endif
if (!PyArg_ParseTuple(_args, "h",
&newMinimum))
return NULL;
SetControlMinimum(_self->ob_itself,
newMinimum);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetControlMaximum(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
SInt16 _rv;
#ifndef GetControlMaximum
PyMac_PRECHECK(GetControlMaximum);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = GetControlMaximum(_self->ob_itself);
_res = Py_BuildValue("h",
_rv);
return _res;
}
static PyObject *CtlObj_SetControlMaximum(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
SInt16 newMaximum;
#ifndef SetControlMaximum
PyMac_PRECHECK(SetControlMaximum);
#endif
if (!PyArg_ParseTuple(_args, "h",
&newMaximum))
return NULL;
SetControlMaximum(_self->ob_itself,
newMaximum);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetControlViewSize(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
SInt32 _rv;
#ifndef GetControlViewSize
PyMac_PRECHECK(GetControlViewSize);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = GetControlViewSize(_self->ob_itself);
_res = Py_BuildValue("l",
_rv);
return _res;
}
static PyObject *CtlObj_SetControlViewSize(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
SInt32 newViewSize;
#ifndef SetControlViewSize
PyMac_PRECHECK(SetControlViewSize);
#endif
if (!PyArg_ParseTuple(_args, "l",
&newViewSize))
return NULL;
SetControlViewSize(_self->ob_itself,
newViewSize);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetControl32BitValue(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
SInt32 _rv;
#ifndef GetControl32BitValue
PyMac_PRECHECK(GetControl32BitValue);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = GetControl32BitValue(_self->ob_itself);
_res = Py_BuildValue("l",
_rv);
return _res;
}
static PyObject *CtlObj_SetControl32BitValue(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
SInt32 newValue;
#ifndef SetControl32BitValue
PyMac_PRECHECK(SetControl32BitValue);
#endif
if (!PyArg_ParseTuple(_args, "l",
&newValue))
return NULL;
SetControl32BitValue(_self->ob_itself,
newValue);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetControl32BitMaximum(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
SInt32 _rv;
#ifndef GetControl32BitMaximum
PyMac_PRECHECK(GetControl32BitMaximum);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = GetControl32BitMaximum(_self->ob_itself);
_res = Py_BuildValue("l",
_rv);
return _res;
}
static PyObject *CtlObj_SetControl32BitMaximum(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
SInt32 newMaximum;
#ifndef SetControl32BitMaximum
PyMac_PRECHECK(SetControl32BitMaximum);
#endif
if (!PyArg_ParseTuple(_args, "l",
&newMaximum))
return NULL;
SetControl32BitMaximum(_self->ob_itself,
newMaximum);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetControl32BitMinimum(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
SInt32 _rv;
#ifndef GetControl32BitMinimum
PyMac_PRECHECK(GetControl32BitMinimum);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = GetControl32BitMinimum(_self->ob_itself);
_res = Py_BuildValue("l",
_rv);
return _res;
}
static PyObject *CtlObj_SetControl32BitMinimum(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
SInt32 newMinimum;
#ifndef SetControl32BitMinimum
PyMac_PRECHECK(SetControl32BitMinimum);
#endif
if (!PyArg_ParseTuple(_args, "l",
&newMinimum))
return NULL;
SetControl32BitMinimum(_self->ob_itself,
newMinimum);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_IsValidControlHandle(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
Boolean _rv;
#ifndef IsValidControlHandle
PyMac_PRECHECK(IsValidControlHandle);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = IsValidControlHandle(_self->ob_itself);
_res = Py_BuildValue("b",
_rv);
return _res;
}
static PyObject *CtlObj_SetControlID(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
ControlID inID;
#ifndef SetControlID
PyMac_PRECHECK(SetControlID);
#endif
if (!PyArg_ParseTuple(_args, "O&",
PyControlID_Convert, &inID))
return NULL;
_err = SetControlID(_self->ob_itself,
&inID);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetControlID(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
ControlID outID;
#ifndef GetControlID
PyMac_PRECHECK(GetControlID);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetControlID(_self->ob_itself,
&outID);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
PyControlID_New, &outID);
return _res;
}
static PyObject *CtlObj_SetControlCommandID(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 inCommandID;
#ifndef SetControlCommandID
PyMac_PRECHECK(SetControlCommandID);
#endif
if (!PyArg_ParseTuple(_args, "l",
&inCommandID))
return NULL;
_err = SetControlCommandID(_self->ob_itself,
inCommandID);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetControlCommandID(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 outCommandID;
#ifndef GetControlCommandID
PyMac_PRECHECK(GetControlCommandID);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetControlCommandID(_self->ob_itself,
&outCommandID);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("l",
outCommandID);
return _res;
}
static PyObject *CtlObj_RemoveControlProperty(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
OSType propertyCreator;
OSType propertyTag;
#ifndef RemoveControlProperty
PyMac_PRECHECK(RemoveControlProperty);
#endif
if (!PyArg_ParseTuple(_args, "O&O&",
PyMac_GetOSType, &propertyCreator,
PyMac_GetOSType, &propertyTag))
return NULL;
_err = RemoveControlProperty(_self->ob_itself,
propertyCreator,
propertyTag);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetControlPropertyAttributes(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
OSType propertyCreator;
OSType propertyTag;
UInt32 attributes;
#ifndef GetControlPropertyAttributes
PyMac_PRECHECK(GetControlPropertyAttributes);
#endif
if (!PyArg_ParseTuple(_args, "O&O&",
PyMac_GetOSType, &propertyCreator,
PyMac_GetOSType, &propertyTag))
return NULL;
_err = GetControlPropertyAttributes(_self->ob_itself,
propertyCreator,
propertyTag,
&attributes);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("l",
attributes);
return _res;
}
static PyObject *CtlObj_ChangeControlPropertyAttributes(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
OSType propertyCreator;
OSType propertyTag;
UInt32 attributesToSet;
UInt32 attributesToClear;
#ifndef ChangeControlPropertyAttributes
PyMac_PRECHECK(ChangeControlPropertyAttributes);
#endif
if (!PyArg_ParseTuple(_args, "O&O&ll",
PyMac_GetOSType, &propertyCreator,
PyMac_GetOSType, &propertyTag,
&attributesToSet,
&attributesToClear))
return NULL;
_err = ChangeControlPropertyAttributes(_self->ob_itself,
propertyCreator,
propertyTag,
attributesToSet,
attributesToClear);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetControlRegion(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
ControlPartCode inPart;
RgnHandle outRegion;
#ifndef GetControlRegion
PyMac_PRECHECK(GetControlRegion);
#endif
if (!PyArg_ParseTuple(_args, "hO&",
&inPart,
ResObj_Convert, &outRegion))
return NULL;
_err = GetControlRegion(_self->ob_itself,
inPart,
outRegion);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetControlVariant(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
ControlVariant _rv;
#ifndef GetControlVariant
PyMac_PRECHECK(GetControlVariant);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = GetControlVariant(_self->ob_itself);
_res = Py_BuildValue("h",
_rv);
return _res;
}
static PyObject *CtlObj_SetControlAction(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
PyObject* actionProc;
UniversalProcPtr c_callback;
#ifndef SetControlAction
PyMac_PRECHECK(SetControlAction);
#endif
if (!PyArg_ParseTuple(_args, "O",
&actionProc))
return NULL;
SetControlAction(_self->ob_itself,
myactionproc_upp);
Py_INCREF(Py_None);
_res = Py_None;
setcallback((PyObject*)_self, kMyControlActionProcTag, actionProc, &c_callback);
return _res;
}
static PyObject *CtlObj_SetControlReference(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
SInt32 data;
#ifndef SetControlReference
PyMac_PRECHECK(SetControlReference);
#endif
if (!PyArg_ParseTuple(_args, "l",
&data))
return NULL;
SetControlReference(_self->ob_itself,
data);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetControlReference(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
SInt32 _rv;
#ifndef GetControlReference
PyMac_PRECHECK(GetControlReference);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = GetControlReference(_self->ob_itself);
_res = Py_BuildValue("l",
_rv);
return _res;
}
static PyObject *CtlObj_EmbedControl(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
ControlHandle inContainer;
#ifndef EmbedControl
PyMac_PRECHECK(EmbedControl);
#endif
if (!PyArg_ParseTuple(_args, "O&",
CtlObj_Convert, &inContainer))
return NULL;
_err = EmbedControl(_self->ob_itself,
inContainer);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_AutoEmbedControl(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
WindowPtr inWindow;
#ifndef AutoEmbedControl
PyMac_PRECHECK(AutoEmbedControl);
#endif
if (!PyArg_ParseTuple(_args, "O&",
WinObj_Convert, &inWindow))
return NULL;
_err = AutoEmbedControl(_self->ob_itself,
inWindow);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetSuperControl(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
ControlHandle outParent;
#ifndef GetSuperControl
PyMac_PRECHECK(GetSuperControl);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetSuperControl(_self->ob_itself,
&outParent);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_WhichControl, outParent);
return _res;
}
static PyObject *CtlObj_CountSubControls(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
UInt16 outNumChildren;
#ifndef CountSubControls
PyMac_PRECHECK(CountSubControls);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = CountSubControls(_self->ob_itself,
&outNumChildren);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("H",
outNumChildren);
return _res;
}
static PyObject *CtlObj_GetIndexedSubControl(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
UInt16 inIndex;
ControlHandle outSubControl;
#ifndef GetIndexedSubControl
PyMac_PRECHECK(GetIndexedSubControl);
#endif
if (!PyArg_ParseTuple(_args, "H",
&inIndex))
return NULL;
_err = GetIndexedSubControl(_self->ob_itself,
inIndex,
&outSubControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_WhichControl, outSubControl);
return _res;
}
static PyObject *CtlObj_SetControlSupervisor(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
ControlHandle inBoss;
#ifndef SetControlSupervisor
PyMac_PRECHECK(SetControlSupervisor);
#endif
if (!PyArg_ParseTuple(_args, "O&",
CtlObj_Convert, &inBoss))
return NULL;
_err = SetControlSupervisor(_self->ob_itself,
inBoss);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetControlFeatures(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
UInt32 outFeatures;
#ifndef GetControlFeatures
PyMac_PRECHECK(GetControlFeatures);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetControlFeatures(_self->ob_itself,
&outFeatures);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("l",
outFeatures);
return _res;
}
static PyObject *CtlObj_GetControlDataSize(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
ControlPartCode inPart;
ResType inTagName;
Size outMaxSize;
#ifndef GetControlDataSize
PyMac_PRECHECK(GetControlDataSize);
#endif
if (!PyArg_ParseTuple(_args, "hO&",
&inPart,
PyMac_GetOSType, &inTagName))
return NULL;
_err = GetControlDataSize(_self->ob_itself,
inPart,
inTagName,
&outMaxSize);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("l",
outMaxSize);
return _res;
}
static PyObject *CtlObj_HandleControlDragTracking(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
DragTrackingMessage inMessage;
DragReference inDrag;
Boolean outLikesDrag;
#ifndef HandleControlDragTracking
PyMac_PRECHECK(HandleControlDragTracking);
#endif
if (!PyArg_ParseTuple(_args, "hO&",
&inMessage,
DragObj_Convert, &inDrag))
return NULL;
_err = HandleControlDragTracking(_self->ob_itself,
inMessage,
inDrag,
&outLikesDrag);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("b",
outLikesDrag);
return _res;
}
static PyObject *CtlObj_HandleControlDragReceive(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
DragReference inDrag;
#ifndef HandleControlDragReceive
PyMac_PRECHECK(HandleControlDragReceive);
#endif
if (!PyArg_ParseTuple(_args, "O&",
DragObj_Convert, &inDrag))
return NULL;
_err = HandleControlDragReceive(_self->ob_itself,
inDrag);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_SetControlDragTrackingEnabled(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
Boolean inTracks;
#ifndef SetControlDragTrackingEnabled
PyMac_PRECHECK(SetControlDragTrackingEnabled);
#endif
if (!PyArg_ParseTuple(_args, "b",
&inTracks))
return NULL;
_err = SetControlDragTrackingEnabled(_self->ob_itself,
inTracks);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_IsControlDragTrackingEnabled(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
Boolean outTracks;
#ifndef IsControlDragTrackingEnabled
PyMac_PRECHECK(IsControlDragTrackingEnabled);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = IsControlDragTrackingEnabled(_self->ob_itself,
&outTracks);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("b",
outTracks);
return _res;
}
static PyObject *CtlObj_GetControlBounds(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
Rect bounds;
#ifndef GetControlBounds
PyMac_PRECHECK(GetControlBounds);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
GetControlBounds(_self->ob_itself,
&bounds);
_res = Py_BuildValue("O&",
PyMac_BuildRect, &bounds);
return _res;
}
static PyObject *CtlObj_IsControlHilited(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
Boolean _rv;
#ifndef IsControlHilited
PyMac_PRECHECK(IsControlHilited);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = IsControlHilited(_self->ob_itself);
_res = Py_BuildValue("b",
_rv);
return _res;
}
static PyObject *CtlObj_GetControlHilite(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
UInt16 _rv;
#ifndef GetControlHilite
PyMac_PRECHECK(GetControlHilite);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = GetControlHilite(_self->ob_itself);
_res = Py_BuildValue("H",
_rv);
return _res;
}
static PyObject *CtlObj_GetControlOwner(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
WindowPtr _rv;
#ifndef GetControlOwner
PyMac_PRECHECK(GetControlOwner);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = GetControlOwner(_self->ob_itself);
_res = Py_BuildValue("O&",
WinObj_New, _rv);
return _res;
}
static PyObject *CtlObj_GetControlDataHandle(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
Handle _rv;
#ifndef GetControlDataHandle
PyMac_PRECHECK(GetControlDataHandle);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = GetControlDataHandle(_self->ob_itself);
_res = Py_BuildValue("O&",
ResObj_New, _rv);
return _res;
}
static PyObject *CtlObj_GetControlPopupMenuHandle(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
MenuHandle _rv;
#ifndef GetControlPopupMenuHandle
PyMac_PRECHECK(GetControlPopupMenuHandle);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = GetControlPopupMenuHandle(_self->ob_itself);
_res = Py_BuildValue("O&",
MenuObj_New, _rv);
return _res;
}
static PyObject *CtlObj_GetControlPopupMenuID(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
short _rv;
#ifndef GetControlPopupMenuID
PyMac_PRECHECK(GetControlPopupMenuID);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = GetControlPopupMenuID(_self->ob_itself);
_res = Py_BuildValue("h",
_rv);
return _res;
}
static PyObject *CtlObj_SetControlDataHandle(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
Handle dataHandle;
#ifndef SetControlDataHandle
PyMac_PRECHECK(SetControlDataHandle);
#endif
if (!PyArg_ParseTuple(_args, "O&",
ResObj_Convert, &dataHandle))
return NULL;
SetControlDataHandle(_self->ob_itself,
dataHandle);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_SetControlBounds(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
Rect bounds;
#ifndef SetControlBounds
PyMac_PRECHECK(SetControlBounds);
#endif
if (!PyArg_ParseTuple(_args, "O&",
PyMac_GetRect, &bounds))
return NULL;
SetControlBounds(_self->ob_itself,
&bounds);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_SetControlPopupMenuHandle(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
MenuHandle popupMenu;
#ifndef SetControlPopupMenuHandle
PyMac_PRECHECK(SetControlPopupMenuHandle);
#endif
if (!PyArg_ParseTuple(_args, "O&",
MenuObj_Convert, &popupMenu))
return NULL;
SetControlPopupMenuHandle(_self->ob_itself,
popupMenu);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_SetControlPopupMenuID(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
short menuID;
#ifndef SetControlPopupMenuID
PyMac_PRECHECK(SetControlPopupMenuID);
#endif
if (!PyArg_ParseTuple(_args, "h",
&menuID))
return NULL;
SetControlPopupMenuID(_self->ob_itself,
menuID);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetBevelButtonMenuValue(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
SInt16 outValue;
#ifndef GetBevelButtonMenuValue
PyMac_PRECHECK(GetBevelButtonMenuValue);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetBevelButtonMenuValue(_self->ob_itself,
&outValue);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("h",
outValue);
return _res;
}
static PyObject *CtlObj_SetBevelButtonMenuValue(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
SInt16 inValue;
#ifndef SetBevelButtonMenuValue
PyMac_PRECHECK(SetBevelButtonMenuValue);
#endif
if (!PyArg_ParseTuple(_args, "h",
&inValue))
return NULL;
_err = SetBevelButtonMenuValue(_self->ob_itself,
inValue);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetBevelButtonMenuHandle(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
MenuHandle outHandle;
#ifndef GetBevelButtonMenuHandle
PyMac_PRECHECK(GetBevelButtonMenuHandle);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetBevelButtonMenuHandle(_self->ob_itself,
&outHandle);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
MenuObj_New, outHandle);
return _res;
}
static PyObject *CtlObj_SetBevelButtonContentInfo(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
ControlButtonContentInfo inContent;
#ifndef SetBevelButtonContentInfo
PyMac_PRECHECK(SetBevelButtonContentInfo);
#endif
if (!PyArg_ParseTuple(_args, "O&",
ControlButtonContentInfo_Convert, &inContent))
return NULL;
_err = SetBevelButtonContentInfo(_self->ob_itself,
&inContent);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_SetBevelButtonTransform(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
IconTransformType transform;
#ifndef SetBevelButtonTransform
PyMac_PRECHECK(SetBevelButtonTransform);
#endif
if (!PyArg_ParseTuple(_args, "h",
&transform))
return NULL;
_err = SetBevelButtonTransform(_self->ob_itself,
transform);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_SetDisclosureTriangleLastValue(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
SInt16 inValue;
#ifndef SetDisclosureTriangleLastValue
PyMac_PRECHECK(SetDisclosureTriangleLastValue);
#endif
if (!PyArg_ParseTuple(_args, "h",
&inValue))
return NULL;
_err = SetDisclosureTriangleLastValue(_self->ob_itself,
inValue);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetTabContentRect(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
Rect outContentRect;
#ifndef GetTabContentRect
PyMac_PRECHECK(GetTabContentRect);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetTabContentRect(_self->ob_itself,
&outContentRect);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
PyMac_BuildRect, &outContentRect);
return _res;
}
static PyObject *CtlObj_SetTabEnabled(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
SInt16 inTabToHilite;
Boolean inEnabled;
#ifndef SetTabEnabled
PyMac_PRECHECK(SetTabEnabled);
#endif
if (!PyArg_ParseTuple(_args, "hb",
&inTabToHilite,
&inEnabled))
return NULL;
_err = SetTabEnabled(_self->ob_itself,
inTabToHilite,
inEnabled);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_SetImageWellContentInfo(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
ControlButtonContentInfo inContent;
#ifndef SetImageWellContentInfo
PyMac_PRECHECK(SetImageWellContentInfo);
#endif
if (!PyArg_ParseTuple(_args, "O&",
ControlButtonContentInfo_Convert, &inContent))
return NULL;
_err = SetImageWellContentInfo(_self->ob_itself,
&inContent);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_SetImageWellTransform(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
IconTransformType inTransform;
#ifndef SetImageWellTransform
PyMac_PRECHECK(SetImageWellTransform);
#endif
if (!PyArg_ParseTuple(_args, "h",
&inTransform))
return NULL;
_err = SetImageWellTransform(_self->ob_itself,
inTransform);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserViewStyle(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
OSType style;
#ifndef GetDataBrowserViewStyle
PyMac_PRECHECK(GetDataBrowserViewStyle);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserViewStyle(_self->ob_itself,
&style);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
PyMac_BuildOSType, style);
return _res;
}
static PyObject *CtlObj_SetDataBrowserViewStyle(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
OSType style;
#ifndef SetDataBrowserViewStyle
PyMac_PRECHECK(SetDataBrowserViewStyle);
#endif
if (!PyArg_ParseTuple(_args, "O&",
PyMac_GetOSType, &style))
return NULL;
_err = SetDataBrowserViewStyle(_self->ob_itself,
style);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_EnableDataBrowserEditCommand(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
Boolean _rv;
UInt32 command;
#ifndef EnableDataBrowserEditCommand
PyMac_PRECHECK(EnableDataBrowserEditCommand);
#endif
if (!PyArg_ParseTuple(_args, "l",
&command))
return NULL;
_rv = EnableDataBrowserEditCommand(_self->ob_itself,
command);
_res = Py_BuildValue("b",
_rv);
return _res;
}
static PyObject *CtlObj_ExecuteDataBrowserEditCommand(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 command;
#ifndef ExecuteDataBrowserEditCommand
PyMac_PRECHECK(ExecuteDataBrowserEditCommand);
#endif
if (!PyArg_ParseTuple(_args, "l",
&command))
return NULL;
_err = ExecuteDataBrowserEditCommand(_self->ob_itself,
command);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserSelectionAnchor(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 first;
UInt32 last;
#ifndef GetDataBrowserSelectionAnchor
PyMac_PRECHECK(GetDataBrowserSelectionAnchor);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserSelectionAnchor(_self->ob_itself,
&first,
&last);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("ll",
first,
last);
return _res;
}
static PyObject *CtlObj_MoveDataBrowserSelectionAnchor(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 direction;
Boolean extendSelection;
#ifndef MoveDataBrowserSelectionAnchor
PyMac_PRECHECK(MoveDataBrowserSelectionAnchor);
#endif
if (!PyArg_ParseTuple(_args, "lb",
&direction,
&extendSelection))
return NULL;
_err = MoveDataBrowserSelectionAnchor(_self->ob_itself,
direction,
extendSelection);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_OpenDataBrowserContainer(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 container;
#ifndef OpenDataBrowserContainer
PyMac_PRECHECK(OpenDataBrowserContainer);
#endif
if (!PyArg_ParseTuple(_args, "l",
&container))
return NULL;
_err = OpenDataBrowserContainer(_self->ob_itself,
container);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_CloseDataBrowserContainer(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 container;
#ifndef CloseDataBrowserContainer
PyMac_PRECHECK(CloseDataBrowserContainer);
#endif
if (!PyArg_ParseTuple(_args, "l",
&container))
return NULL;
_err = CloseDataBrowserContainer(_self->ob_itself,
container);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_SortDataBrowserContainer(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 container;
Boolean sortChildren;
#ifndef SortDataBrowserContainer
PyMac_PRECHECK(SortDataBrowserContainer);
#endif
if (!PyArg_ParseTuple(_args, "lb",
&container,
&sortChildren))
return NULL;
_err = SortDataBrowserContainer(_self->ob_itself,
container,
sortChildren);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserItems(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 container;
Boolean recurse;
UInt32 state;
Handle items;
#ifndef GetDataBrowserItems
PyMac_PRECHECK(GetDataBrowserItems);
#endif
if (!PyArg_ParseTuple(_args, "lblO&",
&container,
&recurse,
&state,
ResObj_Convert, &items))
return NULL;
_err = GetDataBrowserItems(_self->ob_itself,
container,
recurse,
state,
items);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserItemCount(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 container;
Boolean recurse;
UInt32 state;
UInt32 numItems;
#ifndef GetDataBrowserItemCount
PyMac_PRECHECK(GetDataBrowserItemCount);
#endif
if (!PyArg_ParseTuple(_args, "lbl",
&container,
&recurse,
&state))
return NULL;
_err = GetDataBrowserItemCount(_self->ob_itself,
container,
recurse,
state,
&numItems);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("l",
numItems);
return _res;
}
static PyObject *CtlObj_IsDataBrowserItemSelected(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
Boolean _rv;
UInt32 item;
#ifndef IsDataBrowserItemSelected
PyMac_PRECHECK(IsDataBrowserItemSelected);
#endif
if (!PyArg_ParseTuple(_args, "l",
&item))
return NULL;
_rv = IsDataBrowserItemSelected(_self->ob_itself,
item);
_res = Py_BuildValue("b",
_rv);
return _res;
}
static PyObject *CtlObj_GetDataBrowserItemState(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 item;
UInt32 state;
#ifndef GetDataBrowserItemState
PyMac_PRECHECK(GetDataBrowserItemState);
#endif
if (!PyArg_ParseTuple(_args, "l",
&item))
return NULL;
_err = GetDataBrowserItemState(_self->ob_itself,
item,
&state);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("l",
state);
return _res;
}
static PyObject *CtlObj_RevealDataBrowserItem(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 item;
UInt32 propertyID;
UInt8 options;
#ifndef RevealDataBrowserItem
PyMac_PRECHECK(RevealDataBrowserItem);
#endif
if (!PyArg_ParseTuple(_args, "llb",
&item,
&propertyID,
&options))
return NULL;
_err = RevealDataBrowserItem(_self->ob_itself,
item,
propertyID,
options);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_SetDataBrowserActiveItems(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
Boolean active;
#ifndef SetDataBrowserActiveItems
PyMac_PRECHECK(SetDataBrowserActiveItems);
#endif
if (!PyArg_ParseTuple(_args, "b",
&active))
return NULL;
_err = SetDataBrowserActiveItems(_self->ob_itself,
active);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserActiveItems(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
Boolean active;
#ifndef GetDataBrowserActiveItems
PyMac_PRECHECK(GetDataBrowserActiveItems);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserActiveItems(_self->ob_itself,
&active);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("b",
active);
return _res;
}
static PyObject *CtlObj_SetDataBrowserScrollBarInset(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
Rect insetRect;
#ifndef SetDataBrowserScrollBarInset
PyMac_PRECHECK(SetDataBrowserScrollBarInset);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = SetDataBrowserScrollBarInset(_self->ob_itself,
&insetRect);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
PyMac_BuildRect, &insetRect);
return _res;
}
static PyObject *CtlObj_GetDataBrowserScrollBarInset(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
Rect insetRect;
#ifndef GetDataBrowserScrollBarInset
PyMac_PRECHECK(GetDataBrowserScrollBarInset);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserScrollBarInset(_self->ob_itself,
&insetRect);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
PyMac_BuildRect, &insetRect);
return _res;
}
static PyObject *CtlObj_SetDataBrowserTarget(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 target;
#ifndef SetDataBrowserTarget
PyMac_PRECHECK(SetDataBrowserTarget);
#endif
if (!PyArg_ParseTuple(_args, "l",
&target))
return NULL;
_err = SetDataBrowserTarget(_self->ob_itself,
target);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserTarget(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 target;
#ifndef GetDataBrowserTarget
PyMac_PRECHECK(GetDataBrowserTarget);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserTarget(_self->ob_itself,
&target);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("l",
target);
return _res;
}
static PyObject *CtlObj_SetDataBrowserSortOrder(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt16 order;
#ifndef SetDataBrowserSortOrder
PyMac_PRECHECK(SetDataBrowserSortOrder);
#endif
if (!PyArg_ParseTuple(_args, "H",
&order))
return NULL;
_err = SetDataBrowserSortOrder(_self->ob_itself,
order);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserSortOrder(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt16 order;
#ifndef GetDataBrowserSortOrder
PyMac_PRECHECK(GetDataBrowserSortOrder);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserSortOrder(_self->ob_itself,
&order);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("H",
order);
return _res;
}
static PyObject *CtlObj_SetDataBrowserScrollPosition(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 top;
UInt32 left;
#ifndef SetDataBrowserScrollPosition
PyMac_PRECHECK(SetDataBrowserScrollPosition);
#endif
if (!PyArg_ParseTuple(_args, "ll",
&top,
&left))
return NULL;
_err = SetDataBrowserScrollPosition(_self->ob_itself,
top,
left);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserScrollPosition(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 top;
UInt32 left;
#ifndef GetDataBrowserScrollPosition
PyMac_PRECHECK(GetDataBrowserScrollPosition);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserScrollPosition(_self->ob_itself,
&top,
&left);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("ll",
top,
left);
return _res;
}
static PyObject *CtlObj_SetDataBrowserHasScrollBars(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
Boolean horiz;
Boolean vert;
#ifndef SetDataBrowserHasScrollBars
PyMac_PRECHECK(SetDataBrowserHasScrollBars);
#endif
if (!PyArg_ParseTuple(_args, "bb",
&horiz,
&vert))
return NULL;
_err = SetDataBrowserHasScrollBars(_self->ob_itself,
horiz,
vert);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserHasScrollBars(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
Boolean horiz;
Boolean vert;
#ifndef GetDataBrowserHasScrollBars
PyMac_PRECHECK(GetDataBrowserHasScrollBars);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserHasScrollBars(_self->ob_itself,
&horiz,
&vert);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("bb",
horiz,
vert);
return _res;
}
static PyObject *CtlObj_SetDataBrowserSortProperty(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 property;
#ifndef SetDataBrowserSortProperty
PyMac_PRECHECK(SetDataBrowserSortProperty);
#endif
if (!PyArg_ParseTuple(_args, "l",
&property))
return NULL;
_err = SetDataBrowserSortProperty(_self->ob_itself,
property);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserSortProperty(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 property;
#ifndef GetDataBrowserSortProperty
PyMac_PRECHECK(GetDataBrowserSortProperty);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserSortProperty(_self->ob_itself,
&property);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("l",
property);
return _res;
}
static PyObject *CtlObj_SetDataBrowserSelectionFlags(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 selectionFlags;
#ifndef SetDataBrowserSelectionFlags
PyMac_PRECHECK(SetDataBrowserSelectionFlags);
#endif
if (!PyArg_ParseTuple(_args, "l",
&selectionFlags))
return NULL;
_err = SetDataBrowserSelectionFlags(_self->ob_itself,
selectionFlags);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserSelectionFlags(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 selectionFlags;
#ifndef GetDataBrowserSelectionFlags
PyMac_PRECHECK(GetDataBrowserSelectionFlags);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserSelectionFlags(_self->ob_itself,
&selectionFlags);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("l",
selectionFlags);
return _res;
}
static PyObject *CtlObj_SetDataBrowserPropertyFlags(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 property;
UInt32 flags;
#ifndef SetDataBrowserPropertyFlags
PyMac_PRECHECK(SetDataBrowserPropertyFlags);
#endif
if (!PyArg_ParseTuple(_args, "ll",
&property,
&flags))
return NULL;
_err = SetDataBrowserPropertyFlags(_self->ob_itself,
property,
flags);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserPropertyFlags(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 property;
UInt32 flags;
#ifndef GetDataBrowserPropertyFlags
PyMac_PRECHECK(GetDataBrowserPropertyFlags);
#endif
if (!PyArg_ParseTuple(_args, "l",
&property))
return NULL;
_err = GetDataBrowserPropertyFlags(_self->ob_itself,
property,
&flags);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("l",
flags);
return _res;
}
static PyObject *CtlObj_SetDataBrowserEditText(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
CFStringRef text;
#ifndef SetDataBrowserEditText
PyMac_PRECHECK(SetDataBrowserEditText);
#endif
if (!PyArg_ParseTuple(_args, "O&",
CFStringRefObj_Convert, &text))
return NULL;
_err = SetDataBrowserEditText(_self->ob_itself,
text);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_CopyDataBrowserEditText(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
CFStringRef text;
#ifndef CopyDataBrowserEditText
PyMac_PRECHECK(CopyDataBrowserEditText);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = CopyDataBrowserEditText(_self->ob_itself,
&text);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CFStringRefObj_New, text);
return _res;
}
static PyObject *CtlObj_GetDataBrowserEditText(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
CFMutableStringRef text;
#ifndef GetDataBrowserEditText
PyMac_PRECHECK(GetDataBrowserEditText);
#endif
if (!PyArg_ParseTuple(_args, "O&",
CFMutableStringRefObj_Convert, &text))
return NULL;
_err = GetDataBrowserEditText(_self->ob_itself,
text);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_SetDataBrowserEditItem(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 item;
UInt32 property;
#ifndef SetDataBrowserEditItem
PyMac_PRECHECK(SetDataBrowserEditItem);
#endif
if (!PyArg_ParseTuple(_args, "ll",
&item,
&property))
return NULL;
_err = SetDataBrowserEditItem(_self->ob_itself,
item,
property);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserEditItem(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 item;
UInt32 property;
#ifndef GetDataBrowserEditItem
PyMac_PRECHECK(GetDataBrowserEditItem);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserEditItem(_self->ob_itself,
&item,
&property);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("ll",
item,
property);
return _res;
}
static PyObject *CtlObj_GetDataBrowserItemPartBounds(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 item;
UInt32 property;
OSType part;
Rect bounds;
#ifndef GetDataBrowserItemPartBounds
PyMac_PRECHECK(GetDataBrowserItemPartBounds);
#endif
if (!PyArg_ParseTuple(_args, "llO&",
&item,
&property,
PyMac_GetOSType, &part))
return NULL;
_err = GetDataBrowserItemPartBounds(_self->ob_itself,
item,
property,
part,
&bounds);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
PyMac_BuildRect, &bounds);
return _res;
}
static PyObject *CtlObj_RemoveDataBrowserTableViewColumn(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 column;
#ifndef RemoveDataBrowserTableViewColumn
PyMac_PRECHECK(RemoveDataBrowserTableViewColumn);
#endif
if (!PyArg_ParseTuple(_args, "l",
&column))
return NULL;
_err = RemoveDataBrowserTableViewColumn(_self->ob_itself,
column);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserTableViewColumnCount(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 numColumns;
#ifndef GetDataBrowserTableViewColumnCount
PyMac_PRECHECK(GetDataBrowserTableViewColumnCount);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserTableViewColumnCount(_self->ob_itself,
&numColumns);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("l",
numColumns);
return _res;
}
static PyObject *CtlObj_SetDataBrowserTableViewHiliteStyle(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 hiliteStyle;
#ifndef SetDataBrowserTableViewHiliteStyle
PyMac_PRECHECK(SetDataBrowserTableViewHiliteStyle);
#endif
if (!PyArg_ParseTuple(_args, "l",
&hiliteStyle))
return NULL;
_err = SetDataBrowserTableViewHiliteStyle(_self->ob_itself,
hiliteStyle);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserTableViewHiliteStyle(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 hiliteStyle;
#ifndef GetDataBrowserTableViewHiliteStyle
PyMac_PRECHECK(GetDataBrowserTableViewHiliteStyle);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserTableViewHiliteStyle(_self->ob_itself,
&hiliteStyle);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("l",
hiliteStyle);
return _res;
}
static PyObject *CtlObj_SetDataBrowserTableViewRowHeight(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt16 height;
#ifndef SetDataBrowserTableViewRowHeight
PyMac_PRECHECK(SetDataBrowserTableViewRowHeight);
#endif
if (!PyArg_ParseTuple(_args, "H",
&height))
return NULL;
_err = SetDataBrowserTableViewRowHeight(_self->ob_itself,
height);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserTableViewRowHeight(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt16 height;
#ifndef GetDataBrowserTableViewRowHeight
PyMac_PRECHECK(GetDataBrowserTableViewRowHeight);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserTableViewRowHeight(_self->ob_itself,
&height);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("H",
height);
return _res;
}
static PyObject *CtlObj_SetDataBrowserTableViewColumnWidth(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt16 width;
#ifndef SetDataBrowserTableViewColumnWidth
PyMac_PRECHECK(SetDataBrowserTableViewColumnWidth);
#endif
if (!PyArg_ParseTuple(_args, "H",
&width))
return NULL;
_err = SetDataBrowserTableViewColumnWidth(_self->ob_itself,
width);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserTableViewColumnWidth(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt16 width;
#ifndef GetDataBrowserTableViewColumnWidth
PyMac_PRECHECK(GetDataBrowserTableViewColumnWidth);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserTableViewColumnWidth(_self->ob_itself,
&width);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("H",
width);
return _res;
}
static PyObject *CtlObj_SetDataBrowserTableViewItemRowHeight(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 item;
UInt16 height;
#ifndef SetDataBrowserTableViewItemRowHeight
PyMac_PRECHECK(SetDataBrowserTableViewItemRowHeight);
#endif
if (!PyArg_ParseTuple(_args, "lH",
&item,
&height))
return NULL;
_err = SetDataBrowserTableViewItemRowHeight(_self->ob_itself,
item,
height);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserTableViewItemRowHeight(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 item;
UInt16 height;
#ifndef GetDataBrowserTableViewItemRowHeight
PyMac_PRECHECK(GetDataBrowserTableViewItemRowHeight);
#endif
if (!PyArg_ParseTuple(_args, "l",
&item))
return NULL;
_err = GetDataBrowserTableViewItemRowHeight(_self->ob_itself,
item,
&height);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("H",
height);
return _res;
}
static PyObject *CtlObj_SetDataBrowserTableViewNamedColumnWidth(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 column;
UInt16 width;
#ifndef SetDataBrowserTableViewNamedColumnWidth
PyMac_PRECHECK(SetDataBrowserTableViewNamedColumnWidth);
#endif
if (!PyArg_ParseTuple(_args, "lH",
&column,
&width))
return NULL;
_err = SetDataBrowserTableViewNamedColumnWidth(_self->ob_itself,
column,
width);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserTableViewNamedColumnWidth(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 column;
UInt16 width;
#ifndef GetDataBrowserTableViewNamedColumnWidth
PyMac_PRECHECK(GetDataBrowserTableViewNamedColumnWidth);
#endif
if (!PyArg_ParseTuple(_args, "l",
&column))
return NULL;
_err = GetDataBrowserTableViewNamedColumnWidth(_self->ob_itself,
column,
&width);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("H",
width);
return _res;
}
static PyObject *CtlObj_SetDataBrowserTableViewGeometry(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
Boolean variableWidthColumns;
Boolean variableHeightRows;
#ifndef SetDataBrowserTableViewGeometry
PyMac_PRECHECK(SetDataBrowserTableViewGeometry);
#endif
if (!PyArg_ParseTuple(_args, "bb",
&variableWidthColumns,
&variableHeightRows))
return NULL;
_err = SetDataBrowserTableViewGeometry(_self->ob_itself,
variableWidthColumns,
variableHeightRows);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserTableViewGeometry(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
Boolean variableWidthColumns;
Boolean variableHeightRows;
#ifndef GetDataBrowserTableViewGeometry
PyMac_PRECHECK(GetDataBrowserTableViewGeometry);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserTableViewGeometry(_self->ob_itself,
&variableWidthColumns,
&variableHeightRows);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("bb",
variableWidthColumns,
variableHeightRows);
return _res;
}
static PyObject *CtlObj_GetDataBrowserTableViewItemID(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 row;
UInt32 item;
#ifndef GetDataBrowserTableViewItemID
PyMac_PRECHECK(GetDataBrowserTableViewItemID);
#endif
if (!PyArg_ParseTuple(_args, "l",
&row))
return NULL;
_err = GetDataBrowserTableViewItemID(_self->ob_itself,
row,
&item);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("l",
item);
return _res;
}
static PyObject *CtlObj_SetDataBrowserTableViewItemRow(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 item;
UInt32 row;
#ifndef SetDataBrowserTableViewItemRow
PyMac_PRECHECK(SetDataBrowserTableViewItemRow);
#endif
if (!PyArg_ParseTuple(_args, "ll",
&item,
&row))
return NULL;
_err = SetDataBrowserTableViewItemRow(_self->ob_itself,
item,
row);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserTableViewItemRow(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 item;
UInt32 row;
#ifndef GetDataBrowserTableViewItemRow
PyMac_PRECHECK(GetDataBrowserTableViewItemRow);
#endif
if (!PyArg_ParseTuple(_args, "l",
&item))
return NULL;
_err = GetDataBrowserTableViewItemRow(_self->ob_itself,
item,
&row);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("l",
row);
return _res;
}
static PyObject *CtlObj_SetDataBrowserTableViewColumnPosition(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 column;
UInt32 position;
#ifndef SetDataBrowserTableViewColumnPosition
PyMac_PRECHECK(SetDataBrowserTableViewColumnPosition);
#endif
if (!PyArg_ParseTuple(_args, "ll",
&column,
&position))
return NULL;
_err = SetDataBrowserTableViewColumnPosition(_self->ob_itself,
column,
position);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserTableViewColumnPosition(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 column;
UInt32 position;
#ifndef GetDataBrowserTableViewColumnPosition
PyMac_PRECHECK(GetDataBrowserTableViewColumnPosition);
#endif
if (!PyArg_ParseTuple(_args, "l",
&column))
return NULL;
_err = GetDataBrowserTableViewColumnPosition(_self->ob_itself,
column,
&position);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("l",
position);
return _res;
}
static PyObject *CtlObj_GetDataBrowserTableViewColumnProperty(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 column;
UInt32 property;
#ifndef GetDataBrowserTableViewColumnProperty
PyMac_PRECHECK(GetDataBrowserTableViewColumnProperty);
#endif
if (!PyArg_ParseTuple(_args, "l",
&column))
return NULL;
_err = GetDataBrowserTableViewColumnProperty(_self->ob_itself,
column,
&property);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("l",
property);
return _res;
}
static PyObject *CtlObj_AutoSizeDataBrowserListViewColumns(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
#ifndef AutoSizeDataBrowserListViewColumns
PyMac_PRECHECK(AutoSizeDataBrowserListViewColumns);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = AutoSizeDataBrowserListViewColumns(_self->ob_itself);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_AddDataBrowserListViewColumn(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
DataBrowserListViewColumnDesc columnDesc;
UInt32 position;
#ifndef AddDataBrowserListViewColumn
PyMac_PRECHECK(AddDataBrowserListViewColumn);
#endif
if (!PyArg_ParseTuple(_args, "O&l",
DataBrowserListViewColumnDesc_Convert, &columnDesc,
&position))
return NULL;
_err = AddDataBrowserListViewColumn(_self->ob_itself,
&columnDesc,
position);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_SetDataBrowserListViewHeaderBtnHeight(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt16 height;
#ifndef SetDataBrowserListViewHeaderBtnHeight
PyMac_PRECHECK(SetDataBrowserListViewHeaderBtnHeight);
#endif
if (!PyArg_ParseTuple(_args, "H",
&height))
return NULL;
_err = SetDataBrowserListViewHeaderBtnHeight(_self->ob_itself,
height);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserListViewHeaderBtnHeight(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt16 height;
#ifndef GetDataBrowserListViewHeaderBtnHeight
PyMac_PRECHECK(GetDataBrowserListViewHeaderBtnHeight);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserListViewHeaderBtnHeight(_self->ob_itself,
&height);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("H",
height);
return _res;
}
static PyObject *CtlObj_SetDataBrowserListViewUsePlainBackground(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
Boolean usePlainBackground;
#ifndef SetDataBrowserListViewUsePlainBackground
PyMac_PRECHECK(SetDataBrowserListViewUsePlainBackground);
#endif
if (!PyArg_ParseTuple(_args, "b",
&usePlainBackground))
return NULL;
_err = SetDataBrowserListViewUsePlainBackground(_self->ob_itself,
usePlainBackground);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserListViewUsePlainBackground(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
Boolean usePlainBackground;
#ifndef GetDataBrowserListViewUsePlainBackground
PyMac_PRECHECK(GetDataBrowserListViewUsePlainBackground);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserListViewUsePlainBackground(_self->ob_itself,
&usePlainBackground);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("b",
usePlainBackground);
return _res;
}
static PyObject *CtlObj_SetDataBrowserListViewDisclosureColumn(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 column;
Boolean expandableRows;
#ifndef SetDataBrowserListViewDisclosureColumn
PyMac_PRECHECK(SetDataBrowserListViewDisclosureColumn);
#endif
if (!PyArg_ParseTuple(_args, "lb",
&column,
&expandableRows))
return NULL;
_err = SetDataBrowserListViewDisclosureColumn(_self->ob_itself,
column,
expandableRows);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserListViewDisclosureColumn(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 column;
Boolean expandableRows;
#ifndef GetDataBrowserListViewDisclosureColumn
PyMac_PRECHECK(GetDataBrowserListViewDisclosureColumn);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserListViewDisclosureColumn(_self->ob_itself,
&column,
&expandableRows);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("lb",
column,
expandableRows);
return _res;
}
static PyObject *CtlObj_GetDataBrowserColumnViewPath(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
Handle path;
#ifndef GetDataBrowserColumnViewPath
PyMac_PRECHECK(GetDataBrowserColumnViewPath);
#endif
if (!PyArg_ParseTuple(_args, "O&",
ResObj_Convert, &path))
return NULL;
_err = GetDataBrowserColumnViewPath(_self->ob_itself,
path);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserColumnViewPathLength(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
UInt32 pathLength;
#ifndef GetDataBrowserColumnViewPathLength
PyMac_PRECHECK(GetDataBrowserColumnViewPathLength);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserColumnViewPathLength(_self->ob_itself,
&pathLength);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("l",
pathLength);
return _res;
}
static PyObject *CtlObj_SetDataBrowserColumnViewDisplayType(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
OSType propertyType;
#ifndef SetDataBrowserColumnViewDisplayType
PyMac_PRECHECK(SetDataBrowserColumnViewDisplayType);
#endif
if (!PyArg_ParseTuple(_args, "O&",
PyMac_GetOSType, &propertyType))
return NULL;
_err = SetDataBrowserColumnViewDisplayType(_self->ob_itself,
propertyType);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetDataBrowserColumnViewDisplayType(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
OSType propertyType;
#ifndef GetDataBrowserColumnViewDisplayType
PyMac_PRECHECK(GetDataBrowserColumnViewDisplayType);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_err = GetDataBrowserColumnViewDisplayType(_self->ob_itself,
&propertyType);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
PyMac_BuildOSType, propertyType);
return _res;
}
static PyObject *CtlObj_as_Resource(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
Handle _rv;
#ifndef as_Resource
PyMac_PRECHECK(as_Resource);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = as_Resource(_self->ob_itself);
_res = Py_BuildValue("O&",
ResObj_New, _rv);
return _res;
}
static PyObject *CtlObj_GetControlRect(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
Rect rect;
#ifndef GetControlRect
PyMac_PRECHECK(GetControlRect);
#endif
if (!PyArg_ParseTuple(_args, ""))
return NULL;
GetControlRect(_self->ob_itself,
&rect);
_res = Py_BuildValue("O&",
PyMac_BuildRect, &rect);
return _res;
}
static PyObject *CtlObj_DisposeControl(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
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;
}
static PyObject *CtlObj_TrackControl(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
ControlPartCode _rv;
Point startPoint;
ControlActionUPP upp = 0;
PyObject *callback = 0;
if (!PyArg_ParseTuple(_args, "O&|O",
PyMac_GetPoint, &startPoint, &callback))
return NULL;
if (callback && callback != Py_None) {
if (PyInt_Check(callback) && PyInt_AS_LONG(callback) == -1)
upp = (ControlActionUPP)-1;
else {
settrackfunc(callback);
upp = mytracker_upp;
}
}
_rv = TrackControl(_self->ob_itself,
startPoint,
upp);
clrtrackfunc();
_res = Py_BuildValue("h",
_rv);
return _res;
}
static PyObject *CtlObj_HandleControlClick(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
ControlPartCode _rv;
Point startPoint;
SInt16 modifiers;
ControlActionUPP upp = 0;
PyObject *callback = 0;
if (!PyArg_ParseTuple(_args, "O&h|O",
PyMac_GetPoint, &startPoint,
&modifiers,
&callback))
return NULL;
if (callback && callback != Py_None) {
if (PyInt_Check(callback) && PyInt_AS_LONG(callback) == -1)
upp = (ControlActionUPP)-1;
else {
settrackfunc(callback);
upp = mytracker_upp;
}
}
_rv = HandleControlClick(_self->ob_itself,
startPoint,
modifiers,
upp);
clrtrackfunc();
_res = Py_BuildValue("h",
_rv);
return _res;
}
static PyObject *CtlObj_SetControlData(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
ControlPartCode inPart;
ResType inTagName;
Size bufferSize;
Ptr buffer;
if (!PyArg_ParseTuple(_args, "hO&s#",
&inPart,
PyMac_GetOSType, &inTagName,
&buffer, &bufferSize))
return NULL;
_err = SetControlData(_self->ob_itself,
inPart,
inTagName,
bufferSize,
buffer);
if (_err != noErr)
return PyMac_Error(_err);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetControlData(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
ControlPartCode inPart;
ResType inTagName;
Size bufferSize;
Ptr buffer;
Size outSize;
if (!PyArg_ParseTuple(_args, "hO&",
&inPart,
PyMac_GetOSType, &inTagName))
return NULL;
/* allocate a buffer for the data */
_err = GetControlDataSize(_self->ob_itself,
inPart,
inTagName,
&bufferSize);
if (_err != noErr)
return PyMac_Error(_err);
buffer = PyMem_NEW(char, bufferSize);
if (buffer == NULL)
return PyErr_NoMemory();
_err = GetControlData(_self->ob_itself,
inPart,
inTagName,
bufferSize,
buffer,
&outSize);
if (_err != noErr) {
PyMem_DEL(buffer);
return PyMac_Error(_err);
}
_res = Py_BuildValue("s#", buffer, outSize);
PyMem_DEL(buffer);
return _res;
}
static PyObject *CtlObj_SetControlData_Handle(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
ControlPartCode inPart;
ResType inTagName;
Handle buffer;
if (!PyArg_ParseTuple(_args, "hO&O&",
&inPart,
PyMac_GetOSType, &inTagName,
OptResObj_Convert, &buffer))
return NULL;
_err = SetControlData(_self->ob_itself,
inPart,
inTagName,
sizeof(buffer),
(Ptr)&buffer);
if (_err != noErr)
return PyMac_Error(_err);
_res = Py_None;
return _res;
}
static PyObject *CtlObj_GetControlData_Handle(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
ControlPartCode inPart;
ResType inTagName;
Size bufferSize;
Handle hdl;
if (!PyArg_ParseTuple(_args, "hO&",
&inPart,
PyMac_GetOSType, &inTagName))
return NULL;
/* Check it is handle-sized */
_err = GetControlDataSize(_self->ob_itself,
inPart,
inTagName,
&bufferSize);
if (_err != noErr)
return PyMac_Error(_err);
if (bufferSize != sizeof(Handle)) {
PyErr_SetString(Ctl_Error, "GetControlDataSize() != sizeof(Handle)");
return NULL;
}
_err = GetControlData(_self->ob_itself,
inPart,
inTagName,
sizeof(Handle),
(Ptr)&hdl,
&bufferSize);
if (_err != noErr) {
return PyMac_Error(_err);
}
_res = Py_BuildValue("O&", OptResObj_New, hdl);
return _res;
}
static PyObject *CtlObj_SetControlData_Callback(ControlObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
ControlPartCode inPart;
ResType inTagName;
PyObject *callback;
UniversalProcPtr c_callback;
if (!PyArg_ParseTuple(_args, "hO&O",
&inPart,
PyMac_GetOSType, &inTagName,
&callback))
return NULL;
if ( setcallback((PyObject *)_self, inTagName, callback, &c_callback) < 0 )
return NULL;
_err = SetControlData(_self->ob_itself,
inPart,
inTagName,
sizeof(c_callback),
(Ptr)&c_callback);
if (_err != noErr)
return PyMac_Error(_err);
_res = Py_None;
return _res;
}
static PyMethodDef CtlObj_methods[] = {
{"HiliteControl", (PyCFunction)CtlObj_HiliteControl, 1,
PyDoc_STR("(ControlPartCode hiliteState) -> None")},
{"ShowControl", (PyCFunction)CtlObj_ShowControl, 1,
PyDoc_STR("() -> None")},
{"HideControl", (PyCFunction)CtlObj_HideControl, 1,
PyDoc_STR("() -> None")},
{"IsControlActive", (PyCFunction)CtlObj_IsControlActive, 1,
PyDoc_STR("() -> (Boolean _rv)")},
{"IsControlVisible", (PyCFunction)CtlObj_IsControlVisible, 1,
PyDoc_STR("() -> (Boolean _rv)")},
{"ActivateControl", (PyCFunction)CtlObj_ActivateControl, 1,
PyDoc_STR("() -> None")},
{"DeactivateControl", (PyCFunction)CtlObj_DeactivateControl, 1,
PyDoc_STR("() -> None")},
{"SetControlVisibility", (PyCFunction)CtlObj_SetControlVisibility, 1,
PyDoc_STR("(Boolean inIsVisible, Boolean inDoDraw) -> None")},
{"IsControlEnabled", (PyCFunction)CtlObj_IsControlEnabled, 1,
PyDoc_STR("() -> (Boolean _rv)")},
{"EnableControl", (PyCFunction)CtlObj_EnableControl, 1,
PyDoc_STR("() -> None")},
{"DisableControl", (PyCFunction)CtlObj_DisableControl, 1,
PyDoc_STR("() -> None")},
{"Draw1Control", (PyCFunction)CtlObj_Draw1Control, 1,
PyDoc_STR("() -> None")},
{"GetBestControlRect", (PyCFunction)CtlObj_GetBestControlRect, 1,
PyDoc_STR("() -> (Rect outRect, SInt16 outBaseLineOffset)")},
{"SetControlFontStyle", (PyCFunction)CtlObj_SetControlFontStyle, 1,
PyDoc_STR("(ControlFontStyleRec inStyle) -> None")},
{"DrawControlInCurrentPort", (PyCFunction)CtlObj_DrawControlInCurrentPort, 1,
PyDoc_STR("() -> None")},
{"SetUpControlBackground", (PyCFunction)CtlObj_SetUpControlBackground, 1,
PyDoc_STR("(SInt16 inDepth, Boolean inIsColorDevice) -> None")},
{"SetUpControlTextColor", (PyCFunction)CtlObj_SetUpControlTextColor, 1,
PyDoc_STR("(SInt16 inDepth, Boolean inIsColorDevice) -> None")},
{"DragControl", (PyCFunction)CtlObj_DragControl, 1,
PyDoc_STR("(Point startPoint, Rect limitRect, Rect slopRect, DragConstraint axis) -> None")},
{"TestControl", (PyCFunction)CtlObj_TestControl, 1,
PyDoc_STR("(Point testPoint) -> (ControlPartCode _rv)")},
{"HandleControlContextualMenuClick", (PyCFunction)CtlObj_HandleControlContextualMenuClick, 1,
PyDoc_STR("(Point inWhere) -> (Boolean menuDisplayed)")},
{"GetControlClickActivation", (PyCFunction)CtlObj_GetControlClickActivation, 1,
PyDoc_STR("(Point inWhere, EventModifiers inModifiers) -> (ClickActivationResult outResult)")},
{"HandleControlKey", (PyCFunction)CtlObj_HandleControlKey, 1,
PyDoc_STR("(SInt16 inKeyCode, SInt16 inCharCode, EventModifiers inModifiers) -> (ControlPartCode _rv)")},
{"HandleControlSetCursor", (PyCFunction)CtlObj_HandleControlSetCursor, 1,
PyDoc_STR("(Point localPoint, EventModifiers modifiers) -> (Boolean cursorWasSet)")},
{"MoveControl", (PyCFunction)CtlObj_MoveControl, 1,
PyDoc_STR("(SInt16 h, SInt16 v) -> None")},
{"SizeControl", (PyCFunction)CtlObj_SizeControl, 1,
PyDoc_STR("(SInt16 w, SInt16 h) -> None")},
{"SetControlTitle", (PyCFunction)CtlObj_SetControlTitle, 1,
PyDoc_STR("(Str255 title) -> None")},
{"GetControlTitle", (PyCFunction)CtlObj_GetControlTitle, 1,
PyDoc_STR("() -> (Str255 title)")},
{"SetControlTitleWithCFString", (PyCFunction)CtlObj_SetControlTitleWithCFString, 1,
PyDoc_STR("(CFStringRef inString) -> None")},
{"CopyControlTitleAsCFString", (PyCFunction)CtlObj_CopyControlTitleAsCFString, 1,
PyDoc_STR("() -> (CFStringRef outString)")},
{"GetControlValue", (PyCFunction)CtlObj_GetControlValue, 1,
PyDoc_STR("() -> (SInt16 _rv)")},
{"SetControlValue", (PyCFunction)CtlObj_SetControlValue, 1,
PyDoc_STR("(SInt16 newValue) -> None")},
{"GetControlMinimum", (PyCFunction)CtlObj_GetControlMinimum, 1,
PyDoc_STR("() -> (SInt16 _rv)")},
{"SetControlMinimum", (PyCFunction)CtlObj_SetControlMinimum, 1,
PyDoc_STR("(SInt16 newMinimum) -> None")},
{"GetControlMaximum", (PyCFunction)CtlObj_GetControlMaximum, 1,
PyDoc_STR("() -> (SInt16 _rv)")},
{"SetControlMaximum", (PyCFunction)CtlObj_SetControlMaximum, 1,
PyDoc_STR("(SInt16 newMaximum) -> None")},
{"GetControlViewSize", (PyCFunction)CtlObj_GetControlViewSize, 1,
PyDoc_STR("() -> (SInt32 _rv)")},
{"SetControlViewSize", (PyCFunction)CtlObj_SetControlViewSize, 1,
PyDoc_STR("(SInt32 newViewSize) -> None")},
{"GetControl32BitValue", (PyCFunction)CtlObj_GetControl32BitValue, 1,
PyDoc_STR("() -> (SInt32 _rv)")},
{"SetControl32BitValue", (PyCFunction)CtlObj_SetControl32BitValue, 1,
PyDoc_STR("(SInt32 newValue) -> None")},
{"GetControl32BitMaximum", (PyCFunction)CtlObj_GetControl32BitMaximum, 1,
PyDoc_STR("() -> (SInt32 _rv)")},
{"SetControl32BitMaximum", (PyCFunction)CtlObj_SetControl32BitMaximum, 1,
PyDoc_STR("(SInt32 newMaximum) -> None")},
{"GetControl32BitMinimum", (PyCFunction)CtlObj_GetControl32BitMinimum, 1,
PyDoc_STR("() -> (SInt32 _rv)")},
{"SetControl32BitMinimum", (PyCFunction)CtlObj_SetControl32BitMinimum, 1,
PyDoc_STR("(SInt32 newMinimum) -> None")},
{"IsValidControlHandle", (PyCFunction)CtlObj_IsValidControlHandle, 1,
PyDoc_STR("() -> (Boolean _rv)")},
{"SetControlID", (PyCFunction)CtlObj_SetControlID, 1,
PyDoc_STR("(ControlID inID) -> None")},
{"GetControlID", (PyCFunction)CtlObj_GetControlID, 1,
PyDoc_STR("() -> (ControlID outID)")},
{"SetControlCommandID", (PyCFunction)CtlObj_SetControlCommandID, 1,
PyDoc_STR("(UInt32 inCommandID) -> None")},
{"GetControlCommandID", (PyCFunction)CtlObj_GetControlCommandID, 1,
PyDoc_STR("() -> (UInt32 outCommandID)")},
{"RemoveControlProperty", (PyCFunction)CtlObj_RemoveControlProperty, 1,
PyDoc_STR("(OSType propertyCreator, OSType propertyTag) -> None")},
{"GetControlPropertyAttributes", (PyCFunction)CtlObj_GetControlPropertyAttributes, 1,
PyDoc_STR("(OSType propertyCreator, OSType propertyTag) -> (UInt32 attributes)")},
{"ChangeControlPropertyAttributes", (PyCFunction)CtlObj_ChangeControlPropertyAttributes, 1,
PyDoc_STR("(OSType propertyCreator, OSType propertyTag, UInt32 attributesToSet, UInt32 attributesToClear) -> None")},
{"GetControlRegion", (PyCFunction)CtlObj_GetControlRegion, 1,
PyDoc_STR("(ControlPartCode inPart, RgnHandle outRegion) -> None")},
{"GetControlVariant", (PyCFunction)CtlObj_GetControlVariant, 1,
PyDoc_STR("() -> (ControlVariant _rv)")},
{"SetControlAction", (PyCFunction)CtlObj_SetControlAction, 1,
PyDoc_STR("(PyObject* actionProc) -> None")},
{"SetControlReference", (PyCFunction)CtlObj_SetControlReference, 1,
PyDoc_STR("(SInt32 data) -> None")},
{"GetControlReference", (PyCFunction)CtlObj_GetControlReference, 1,
PyDoc_STR("() -> (SInt32 _rv)")},
{"EmbedControl", (PyCFunction)CtlObj_EmbedControl, 1,
PyDoc_STR("(ControlHandle inContainer) -> None")},
{"AutoEmbedControl", (PyCFunction)CtlObj_AutoEmbedControl, 1,
PyDoc_STR("(WindowPtr inWindow) -> None")},
{"GetSuperControl", (PyCFunction)CtlObj_GetSuperControl, 1,
PyDoc_STR("() -> (ControlHandle outParent)")},
{"CountSubControls", (PyCFunction)CtlObj_CountSubControls, 1,
PyDoc_STR("() -> (UInt16 outNumChildren)")},
{"GetIndexedSubControl", (PyCFunction)CtlObj_GetIndexedSubControl, 1,
PyDoc_STR("(UInt16 inIndex) -> (ControlHandle outSubControl)")},
{"SetControlSupervisor", (PyCFunction)CtlObj_SetControlSupervisor, 1,
PyDoc_STR("(ControlHandle inBoss) -> None")},
{"GetControlFeatures", (PyCFunction)CtlObj_GetControlFeatures, 1,
PyDoc_STR("() -> (UInt32 outFeatures)")},
{"GetControlDataSize", (PyCFunction)CtlObj_GetControlDataSize, 1,
PyDoc_STR("(ControlPartCode inPart, ResType inTagName) -> (Size outMaxSize)")},
{"HandleControlDragTracking", (PyCFunction)CtlObj_HandleControlDragTracking, 1,
PyDoc_STR("(DragTrackingMessage inMessage, DragReference inDrag) -> (Boolean outLikesDrag)")},
{"HandleControlDragReceive", (PyCFunction)CtlObj_HandleControlDragReceive, 1,
PyDoc_STR("(DragReference inDrag) -> None")},
{"SetControlDragTrackingEnabled", (PyCFunction)CtlObj_SetControlDragTrackingEnabled, 1,
PyDoc_STR("(Boolean inTracks) -> None")},
{"IsControlDragTrackingEnabled", (PyCFunction)CtlObj_IsControlDragTrackingEnabled, 1,
PyDoc_STR("() -> (Boolean outTracks)")},
{"GetControlBounds", (PyCFunction)CtlObj_GetControlBounds, 1,
PyDoc_STR("() -> (Rect bounds)")},
{"IsControlHilited", (PyCFunction)CtlObj_IsControlHilited, 1,
PyDoc_STR("() -> (Boolean _rv)")},
{"GetControlHilite", (PyCFunction)CtlObj_GetControlHilite, 1,
PyDoc_STR("() -> (UInt16 _rv)")},
{"GetControlOwner", (PyCFunction)CtlObj_GetControlOwner, 1,
PyDoc_STR("() -> (WindowPtr _rv)")},
{"GetControlDataHandle", (PyCFunction)CtlObj_GetControlDataHandle, 1,
PyDoc_STR("() -> (Handle _rv)")},
{"GetControlPopupMenuHandle", (PyCFunction)CtlObj_GetControlPopupMenuHandle, 1,
PyDoc_STR("() -> (MenuHandle _rv)")},
{"GetControlPopupMenuID", (PyCFunction)CtlObj_GetControlPopupMenuID, 1,
PyDoc_STR("() -> (short _rv)")},
{"SetControlDataHandle", (PyCFunction)CtlObj_SetControlDataHandle, 1,
PyDoc_STR("(Handle dataHandle) -> None")},
{"SetControlBounds", (PyCFunction)CtlObj_SetControlBounds, 1,
PyDoc_STR("(Rect bounds) -> None")},
{"SetControlPopupMenuHandle", (PyCFunction)CtlObj_SetControlPopupMenuHandle, 1,
PyDoc_STR("(MenuHandle popupMenu) -> None")},
{"SetControlPopupMenuID", (PyCFunction)CtlObj_SetControlPopupMenuID, 1,
PyDoc_STR("(short menuID) -> None")},
{"GetBevelButtonMenuValue", (PyCFunction)CtlObj_GetBevelButtonMenuValue, 1,
PyDoc_STR("() -> (SInt16 outValue)")},
{"SetBevelButtonMenuValue", (PyCFunction)CtlObj_SetBevelButtonMenuValue, 1,
PyDoc_STR("(SInt16 inValue) -> None")},
{"GetBevelButtonMenuHandle", (PyCFunction)CtlObj_GetBevelButtonMenuHandle, 1,
PyDoc_STR("() -> (MenuHandle outHandle)")},
{"SetBevelButtonContentInfo", (PyCFunction)CtlObj_SetBevelButtonContentInfo, 1,
PyDoc_STR("(ControlButtonContentInfo inContent) -> None")},
{"SetBevelButtonTransform", (PyCFunction)CtlObj_SetBevelButtonTransform, 1,
PyDoc_STR("(IconTransformType transform) -> None")},
{"SetDisclosureTriangleLastValue", (PyCFunction)CtlObj_SetDisclosureTriangleLastValue, 1,
PyDoc_STR("(SInt16 inValue) -> None")},
{"GetTabContentRect", (PyCFunction)CtlObj_GetTabContentRect, 1,
PyDoc_STR("() -> (Rect outContentRect)")},
{"SetTabEnabled", (PyCFunction)CtlObj_SetTabEnabled, 1,
PyDoc_STR("(SInt16 inTabToHilite, Boolean inEnabled) -> None")},
{"SetImageWellContentInfo", (PyCFunction)CtlObj_SetImageWellContentInfo, 1,
PyDoc_STR("(ControlButtonContentInfo inContent) -> None")},
{"SetImageWellTransform", (PyCFunction)CtlObj_SetImageWellTransform, 1,
PyDoc_STR("(IconTransformType inTransform) -> None")},
{"GetDataBrowserViewStyle", (PyCFunction)CtlObj_GetDataBrowserViewStyle, 1,
PyDoc_STR("() -> (OSType style)")},
{"SetDataBrowserViewStyle", (PyCFunction)CtlObj_SetDataBrowserViewStyle, 1,
PyDoc_STR("(OSType style) -> None")},
{"EnableDataBrowserEditCommand", (PyCFunction)CtlObj_EnableDataBrowserEditCommand, 1,
PyDoc_STR("(UInt32 command) -> (Boolean _rv)")},
{"ExecuteDataBrowserEditCommand", (PyCFunction)CtlObj_ExecuteDataBrowserEditCommand, 1,
PyDoc_STR("(UInt32 command) -> None")},
{"GetDataBrowserSelectionAnchor", (PyCFunction)CtlObj_GetDataBrowserSelectionAnchor, 1,
PyDoc_STR("() -> (UInt32 first, UInt32 last)")},
{"MoveDataBrowserSelectionAnchor", (PyCFunction)CtlObj_MoveDataBrowserSelectionAnchor, 1,
PyDoc_STR("(UInt32 direction, Boolean extendSelection) -> None")},
{"OpenDataBrowserContainer", (PyCFunction)CtlObj_OpenDataBrowserContainer, 1,
PyDoc_STR("(UInt32 container) -> None")},
{"CloseDataBrowserContainer", (PyCFunction)CtlObj_CloseDataBrowserContainer, 1,
PyDoc_STR("(UInt32 container) -> None")},
{"SortDataBrowserContainer", (PyCFunction)CtlObj_SortDataBrowserContainer, 1,
PyDoc_STR("(UInt32 container, Boolean sortChildren) -> None")},
{"GetDataBrowserItems", (PyCFunction)CtlObj_GetDataBrowserItems, 1,
PyDoc_STR("(UInt32 container, Boolean recurse, UInt32 state, Handle items) -> None")},
{"GetDataBrowserItemCount", (PyCFunction)CtlObj_GetDataBrowserItemCount, 1,
PyDoc_STR("(UInt32 container, Boolean recurse, UInt32 state) -> (UInt32 numItems)")},
{"IsDataBrowserItemSelected", (PyCFunction)CtlObj_IsDataBrowserItemSelected, 1,
PyDoc_STR("(UInt32 item) -> (Boolean _rv)")},
{"GetDataBrowserItemState", (PyCFunction)CtlObj_GetDataBrowserItemState, 1,
PyDoc_STR("(UInt32 item) -> (UInt32 state)")},
{"RevealDataBrowserItem", (PyCFunction)CtlObj_RevealDataBrowserItem, 1,
PyDoc_STR("(UInt32 item, UInt32 propertyID, UInt8 options) -> None")},
{"SetDataBrowserActiveItems", (PyCFunction)CtlObj_SetDataBrowserActiveItems, 1,
PyDoc_STR("(Boolean active) -> None")},
{"GetDataBrowserActiveItems", (PyCFunction)CtlObj_GetDataBrowserActiveItems, 1,
PyDoc_STR("() -> (Boolean active)")},
{"SetDataBrowserScrollBarInset", (PyCFunction)CtlObj_SetDataBrowserScrollBarInset, 1,
PyDoc_STR("() -> (Rect insetRect)")},
{"GetDataBrowserScrollBarInset", (PyCFunction)CtlObj_GetDataBrowserScrollBarInset, 1,
PyDoc_STR("() -> (Rect insetRect)")},
{"SetDataBrowserTarget", (PyCFunction)CtlObj_SetDataBrowserTarget, 1,
PyDoc_STR("(UInt32 target) -> None")},
{"GetDataBrowserTarget", (PyCFunction)CtlObj_GetDataBrowserTarget, 1,
PyDoc_STR("() -> (UInt32 target)")},
{"SetDataBrowserSortOrder", (PyCFunction)CtlObj_SetDataBrowserSortOrder, 1,
PyDoc_STR("(UInt16 order) -> None")},
{"GetDataBrowserSortOrder", (PyCFunction)CtlObj_GetDataBrowserSortOrder, 1,
PyDoc_STR("() -> (UInt16 order)")},
{"SetDataBrowserScrollPosition", (PyCFunction)CtlObj_SetDataBrowserScrollPosition, 1,
PyDoc_STR("(UInt32 top, UInt32 left) -> None")},
{"GetDataBrowserScrollPosition", (PyCFunction)CtlObj_GetDataBrowserScrollPosition, 1,
PyDoc_STR("() -> (UInt32 top, UInt32 left)")},
{"SetDataBrowserHasScrollBars", (PyCFunction)CtlObj_SetDataBrowserHasScrollBars, 1,
PyDoc_STR("(Boolean horiz, Boolean vert) -> None")},
{"GetDataBrowserHasScrollBars", (PyCFunction)CtlObj_GetDataBrowserHasScrollBars, 1,
PyDoc_STR("() -> (Boolean horiz, Boolean vert)")},
{"SetDataBrowserSortProperty", (PyCFunction)CtlObj_SetDataBrowserSortProperty, 1,
PyDoc_STR("(UInt32 property) -> None")},
{"GetDataBrowserSortProperty", (PyCFunction)CtlObj_GetDataBrowserSortProperty, 1,
PyDoc_STR("() -> (UInt32 property)")},
{"SetDataBrowserSelectionFlags", (PyCFunction)CtlObj_SetDataBrowserSelectionFlags, 1,
PyDoc_STR("(UInt32 selectionFlags) -> None")},
{"GetDataBrowserSelectionFlags", (PyCFunction)CtlObj_GetDataBrowserSelectionFlags, 1,
PyDoc_STR("() -> (UInt32 selectionFlags)")},
{"SetDataBrowserPropertyFlags", (PyCFunction)CtlObj_SetDataBrowserPropertyFlags, 1,
PyDoc_STR("(UInt32 property, UInt32 flags) -> None")},
{"GetDataBrowserPropertyFlags", (PyCFunction)CtlObj_GetDataBrowserPropertyFlags, 1,
PyDoc_STR("(UInt32 property) -> (UInt32 flags)")},
{"SetDataBrowserEditText", (PyCFunction)CtlObj_SetDataBrowserEditText, 1,
PyDoc_STR("(CFStringRef text) -> None")},
{"CopyDataBrowserEditText", (PyCFunction)CtlObj_CopyDataBrowserEditText, 1,
PyDoc_STR("() -> (CFStringRef text)")},
{"GetDataBrowserEditText", (PyCFunction)CtlObj_GetDataBrowserEditText, 1,
PyDoc_STR("(CFMutableStringRef text) -> None")},
{"SetDataBrowserEditItem", (PyCFunction)CtlObj_SetDataBrowserEditItem, 1,
PyDoc_STR("(UInt32 item, UInt32 property) -> None")},
{"GetDataBrowserEditItem", (PyCFunction)CtlObj_GetDataBrowserEditItem, 1,
PyDoc_STR("() -> (UInt32 item, UInt32 property)")},
{"GetDataBrowserItemPartBounds", (PyCFunction)CtlObj_GetDataBrowserItemPartBounds, 1,
PyDoc_STR("(UInt32 item, UInt32 property, OSType part) -> (Rect bounds)")},
{"RemoveDataBrowserTableViewColumn", (PyCFunction)CtlObj_RemoveDataBrowserTableViewColumn, 1,
PyDoc_STR("(UInt32 column) -> None")},
{"GetDataBrowserTableViewColumnCount", (PyCFunction)CtlObj_GetDataBrowserTableViewColumnCount, 1,
PyDoc_STR("() -> (UInt32 numColumns)")},
{"SetDataBrowserTableViewHiliteStyle", (PyCFunction)CtlObj_SetDataBrowserTableViewHiliteStyle, 1,
PyDoc_STR("(UInt32 hiliteStyle) -> None")},
{"GetDataBrowserTableViewHiliteStyle", (PyCFunction)CtlObj_GetDataBrowserTableViewHiliteStyle, 1,
PyDoc_STR("() -> (UInt32 hiliteStyle)")},
{"SetDataBrowserTableViewRowHeight", (PyCFunction)CtlObj_SetDataBrowserTableViewRowHeight, 1,
PyDoc_STR("(UInt16 height) -> None")},
{"GetDataBrowserTableViewRowHeight", (PyCFunction)CtlObj_GetDataBrowserTableViewRowHeight, 1,
PyDoc_STR("() -> (UInt16 height)")},
{"SetDataBrowserTableViewColumnWidth", (PyCFunction)CtlObj_SetDataBrowserTableViewColumnWidth, 1,
PyDoc_STR("(UInt16 width) -> None")},
{"GetDataBrowserTableViewColumnWidth", (PyCFunction)CtlObj_GetDataBrowserTableViewColumnWidth, 1,
PyDoc_STR("() -> (UInt16 width)")},
{"SetDataBrowserTableViewItemRowHeight", (PyCFunction)CtlObj_SetDataBrowserTableViewItemRowHeight, 1,
PyDoc_STR("(UInt32 item, UInt16 height) -> None")},
{"GetDataBrowserTableViewItemRowHeight", (PyCFunction)CtlObj_GetDataBrowserTableViewItemRowHeight, 1,
PyDoc_STR("(UInt32 item) -> (UInt16 height)")},
{"SetDataBrowserTableViewNamedColumnWidth", (PyCFunction)CtlObj_SetDataBrowserTableViewNamedColumnWidth, 1,
PyDoc_STR("(UInt32 column, UInt16 width) -> None")},
{"GetDataBrowserTableViewNamedColumnWidth", (PyCFunction)CtlObj_GetDataBrowserTableViewNamedColumnWidth, 1,
PyDoc_STR("(UInt32 column) -> (UInt16 width)")},
{"SetDataBrowserTableViewGeometry", (PyCFunction)CtlObj_SetDataBrowserTableViewGeometry, 1,
PyDoc_STR("(Boolean variableWidthColumns, Boolean variableHeightRows) -> None")},
{"GetDataBrowserTableViewGeometry", (PyCFunction)CtlObj_GetDataBrowserTableViewGeometry, 1,
PyDoc_STR("() -> (Boolean variableWidthColumns, Boolean variableHeightRows)")},
{"GetDataBrowserTableViewItemID", (PyCFunction)CtlObj_GetDataBrowserTableViewItemID, 1,
PyDoc_STR("(UInt32 row) -> (UInt32 item)")},
{"SetDataBrowserTableViewItemRow", (PyCFunction)CtlObj_SetDataBrowserTableViewItemRow, 1,
PyDoc_STR("(UInt32 item, UInt32 row) -> None")},
{"GetDataBrowserTableViewItemRow", (PyCFunction)CtlObj_GetDataBrowserTableViewItemRow, 1,
PyDoc_STR("(UInt32 item) -> (UInt32 row)")},
{"SetDataBrowserTableViewColumnPosition", (PyCFunction)CtlObj_SetDataBrowserTableViewColumnPosition, 1,
PyDoc_STR("(UInt32 column, UInt32 position) -> None")},
{"GetDataBrowserTableViewColumnPosition", (PyCFunction)CtlObj_GetDataBrowserTableViewColumnPosition, 1,
PyDoc_STR("(UInt32 column) -> (UInt32 position)")},
{"GetDataBrowserTableViewColumnProperty", (PyCFunction)CtlObj_GetDataBrowserTableViewColumnProperty, 1,
PyDoc_STR("(UInt32 column) -> (UInt32 property)")},
{"AutoSizeDataBrowserListViewColumns", (PyCFunction)CtlObj_AutoSizeDataBrowserListViewColumns, 1,
PyDoc_STR("() -> None")},
{"AddDataBrowserListViewColumn", (PyCFunction)CtlObj_AddDataBrowserListViewColumn, 1,
PyDoc_STR("(DataBrowserListViewColumnDesc columnDesc, UInt32 position) -> None")},
{"SetDataBrowserListViewHeaderBtnHeight", (PyCFunction)CtlObj_SetDataBrowserListViewHeaderBtnHeight, 1,
PyDoc_STR("(UInt16 height) -> None")},
{"GetDataBrowserListViewHeaderBtnHeight", (PyCFunction)CtlObj_GetDataBrowserListViewHeaderBtnHeight, 1,
PyDoc_STR("() -> (UInt16 height)")},
{"SetDataBrowserListViewUsePlainBackground", (PyCFunction)CtlObj_SetDataBrowserListViewUsePlainBackground, 1,
PyDoc_STR("(Boolean usePlainBackground) -> None")},
{"GetDataBrowserListViewUsePlainBackground", (PyCFunction)CtlObj_GetDataBrowserListViewUsePlainBackground, 1,
PyDoc_STR("() -> (Boolean usePlainBackground)")},
{"SetDataBrowserListViewDisclosureColumn", (PyCFunction)CtlObj_SetDataBrowserListViewDisclosureColumn, 1,
PyDoc_STR("(UInt32 column, Boolean expandableRows) -> None")},
{"GetDataBrowserListViewDisclosureColumn", (PyCFunction)CtlObj_GetDataBrowserListViewDisclosureColumn, 1,
PyDoc_STR("() -> (UInt32 column, Boolean expandableRows)")},
{"GetDataBrowserColumnViewPath", (PyCFunction)CtlObj_GetDataBrowserColumnViewPath, 1,
PyDoc_STR("(Handle path) -> None")},
{"GetDataBrowserColumnViewPathLength", (PyCFunction)CtlObj_GetDataBrowserColumnViewPathLength, 1,
PyDoc_STR("() -> (UInt32 pathLength)")},
{"SetDataBrowserColumnViewDisplayType", (PyCFunction)CtlObj_SetDataBrowserColumnViewDisplayType, 1,
PyDoc_STR("(OSType propertyType) -> None")},
{"GetDataBrowserColumnViewDisplayType", (PyCFunction)CtlObj_GetDataBrowserColumnViewDisplayType, 1,
PyDoc_STR("() -> (OSType propertyType)")},
{"as_Resource", (PyCFunction)CtlObj_as_Resource, 1,
PyDoc_STR("() -> (Handle _rv)")},
{"GetControlRect", (PyCFunction)CtlObj_GetControlRect, 1,
PyDoc_STR("() -> (Rect rect)")},
{"DisposeControl", (PyCFunction)CtlObj_DisposeControl, 1,
PyDoc_STR("() -> None")},
{"TrackControl", (PyCFunction)CtlObj_TrackControl, 1,
PyDoc_STR("(Point startPoint [,trackercallback]) -> (ControlPartCode _rv)")},
{"HandleControlClick", (PyCFunction)CtlObj_HandleControlClick, 1,
PyDoc_STR("(Point startPoint, Integer modifiers, [,trackercallback]) -> (ControlPartCode _rv)")},
{"SetControlData", (PyCFunction)CtlObj_SetControlData, 1,
PyDoc_STR("(stuff) -> None")},
{"GetControlData", (PyCFunction)CtlObj_GetControlData, 1,
PyDoc_STR("(part, type) -> String")},
{"SetControlData_Handle", (PyCFunction)CtlObj_SetControlData_Handle, 1,
PyDoc_STR("(ResObj) -> None")},
{"GetControlData_Handle", (PyCFunction)CtlObj_GetControlData_Handle, 1,
PyDoc_STR("(part, type) -> ResObj")},
{"SetControlData_Callback", (PyCFunction)CtlObj_SetControlData_Callback, 1,
PyDoc_STR("(callbackfunc) -> None")},
{NULL, NULL, 0}
};
#define CtlObj_getsetlist NULL
static int CtlObj_compare(ControlObject *self, ControlObject *other)
{
unsigned long v, w;
if (!CtlObj_Check((PyObject *)other))
{
v=(unsigned long)self;
w=(unsigned long)other;
}
else
{
v=(unsigned long)self->ob_itself;
w=(unsigned long)other->ob_itself;
}
if( v < w ) return -1;
if( v > w ) return 1;
return 0;
}
#define CtlObj_repr NULL
static long CtlObj_hash(ControlObject *self)
{
return (long)self->ob_itself;
}
#define CtlObj_tp_init 0
#define CtlObj_tp_alloc PyType_GenericAlloc
static PyObject *CtlObj_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds)
{
PyObject *_self;
ControlHandle itself;
char *kw[] = {"itself", 0};
if (!PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw, CtlObj_Convert, &itself)) return NULL;
if ((_self = type->tp_alloc(type, 0)) == NULL) return NULL;
((ControlObject *)_self)->ob_itself = itself;
return _self;
}
#define CtlObj_tp_free PyObject_Del
PyTypeObject Control_Type = {
PyObject_HEAD_INIT(NULL)
0, /*ob_size*/
"_Ctl.Control", /*tp_name*/
sizeof(ControlObject), /*tp_basicsize*/
0, /*tp_itemsize*/
/* methods */
(destructor) CtlObj_dealloc, /*tp_dealloc*/
0, /*tp_print*/
(getattrfunc)0, /*tp_getattr*/
(setattrfunc)0, /*tp_setattr*/
(cmpfunc) CtlObj_compare, /*tp_compare*/
(reprfunc) CtlObj_repr, /*tp_repr*/
(PyNumberMethods *)0, /* tp_as_number */
(PySequenceMethods *)0, /* tp_as_sequence */
(PyMappingMethods *)0, /* tp_as_mapping */
(hashfunc) CtlObj_hash, /*tp_hash*/
0, /*tp_call*/
0, /*tp_str*/
PyObject_GenericGetAttr, /*tp_getattro*/
PyObject_GenericSetAttr, /*tp_setattro */
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
0, /*tp_doc*/
0, /*tp_traverse*/
0, /*tp_clear*/
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
0, /*tp_iter*/
0, /*tp_iternext*/
CtlObj_methods, /* tp_methods */
0, /*tp_members*/
CtlObj_getsetlist, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
CtlObj_tp_init, /* tp_init */
CtlObj_tp_alloc, /* tp_alloc */
CtlObj_tp_new, /* tp_new */
CtlObj_tp_free, /* tp_free */
};
/* -------------------- End object type Control --------------------- */
static PyObject *Ctl_NewControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
ControlHandle _rv;
WindowPtr owningWindow;
Rect boundsRect;
Str255 controlTitle;
Boolean initiallyVisible;
SInt16 initialValue;
SInt16 minimumValue;
SInt16 maximumValue;
SInt16 procID;
SInt32 controlReference;
#ifndef NewControl
PyMac_PRECHECK(NewControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&O&bhhhhl",
WinObj_Convert, &owningWindow,
PyMac_GetRect, &boundsRect,
PyMac_GetStr255, controlTitle,
&initiallyVisible,
&initialValue,
&minimumValue,
&maximumValue,
&procID,
&controlReference))
return NULL;
_rv = NewControl(owningWindow,
&boundsRect,
controlTitle,
initiallyVisible,
initialValue,
minimumValue,
maximumValue,
procID,
controlReference);
_res = Py_BuildValue("O&",
CtlObj_New, _rv);
return _res;
}
static PyObject *Ctl_GetNewControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
ControlHandle _rv;
SInt16 resourceID;
WindowPtr owningWindow;
#ifndef GetNewControl
PyMac_PRECHECK(GetNewControl);
#endif
if (!PyArg_ParseTuple(_args, "hO&",
&resourceID,
WinObj_Convert, &owningWindow))
return NULL;
_rv = GetNewControl(resourceID,
owningWindow);
_res = Py_BuildValue("O&",
CtlObj_New, _rv);
return _res;
}
static PyObject *Ctl_DrawControls(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
WindowPtr theWindow;
#ifndef DrawControls
PyMac_PRECHECK(DrawControls);
#endif
if (!PyArg_ParseTuple(_args, "O&",
WinObj_Convert, &theWindow))
return NULL;
DrawControls(theWindow);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *Ctl_UpdateControls(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
WindowPtr inWindow;
RgnHandle inUpdateRegion;
#ifndef UpdateControls
PyMac_PRECHECK(UpdateControls);
#endif
if (!PyArg_ParseTuple(_args, "O&O&",
WinObj_Convert, &inWindow,
ResObj_Convert, &inUpdateRegion))
return NULL;
UpdateControls(inWindow,
inUpdateRegion);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *Ctl_FindControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
ControlPartCode _rv;
Point testPoint;
WindowPtr theWindow;
ControlHandle theControl;
#ifndef FindControl
PyMac_PRECHECK(FindControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&",
PyMac_GetPoint, &testPoint,
WinObj_Convert, &theWindow))
return NULL;
_rv = FindControl(testPoint,
theWindow,
&theControl);
_res = Py_BuildValue("hO&",
_rv,
CtlObj_WhichControl, theControl);
return _res;
}
static PyObject *Ctl_IdleControls(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
WindowPtr inWindow;
#ifndef IdleControls
PyMac_PRECHECK(IdleControls);
#endif
if (!PyArg_ParseTuple(_args, "O&",
WinObj_Convert, &inWindow))
return NULL;
IdleControls(inWindow);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *Ctl_GetControlByID(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr inWindow;
ControlID inID;
ControlHandle outControl;
#ifndef GetControlByID
PyMac_PRECHECK(GetControlByID);
#endif
if (!PyArg_ParseTuple(_args, "O&O&",
WinObj_Convert, &inWindow,
PyControlID_Convert, &inID))
return NULL;
_err = GetControlByID(inWindow,
&inID,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_WhichControl, outControl);
return _res;
}
static PyObject *Ctl_DumpControlHierarchy(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
WindowPtr inWindow;
FSSpec inDumpFile;
#ifndef DumpControlHierarchy
PyMac_PRECHECK(DumpControlHierarchy);
#endif
if (!PyArg_ParseTuple(_args, "O&O&",
WinObj_Convert, &inWindow,
PyMac_GetFSSpec, &inDumpFile))
return NULL;
_err = DumpControlHierarchy(inWindow,
&inDumpFile);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *Ctl_CreateRootControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
WindowPtr inWindow;
ControlHandle outControl;
#ifndef CreateRootControl
PyMac_PRECHECK(CreateRootControl);
#endif
if (!PyArg_ParseTuple(_args, "O&",
WinObj_Convert, &inWindow))
return NULL;
_err = CreateRootControl(inWindow,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_GetRootControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
WindowPtr inWindow;
ControlHandle outControl;
#ifndef GetRootControl
PyMac_PRECHECK(GetRootControl);
#endif
if (!PyArg_ParseTuple(_args, "O&",
WinObj_Convert, &inWindow))
return NULL;
_err = GetRootControl(inWindow,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_WhichControl, outControl);
return _res;
}
static PyObject *Ctl_GetKeyboardFocus(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
WindowPtr inWindow;
ControlHandle outControl;
#ifndef GetKeyboardFocus
PyMac_PRECHECK(GetKeyboardFocus);
#endif
if (!PyArg_ParseTuple(_args, "O&",
WinObj_Convert, &inWindow))
return NULL;
_err = GetKeyboardFocus(inWindow,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_WhichControl, outControl);
return _res;
}
static PyObject *Ctl_SetKeyboardFocus(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
WindowPtr inWindow;
ControlHandle inControl;
ControlFocusPart inPart;
#ifndef SetKeyboardFocus
PyMac_PRECHECK(SetKeyboardFocus);
#endif
if (!PyArg_ParseTuple(_args, "O&O&h",
WinObj_Convert, &inWindow,
CtlObj_Convert, &inControl,
&inPart))
return NULL;
_err = SetKeyboardFocus(inWindow,
inControl,
inPart);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *Ctl_AdvanceKeyboardFocus(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
WindowPtr inWindow;
#ifndef AdvanceKeyboardFocus
PyMac_PRECHECK(AdvanceKeyboardFocus);
#endif
if (!PyArg_ParseTuple(_args, "O&",
WinObj_Convert, &inWindow))
return NULL;
_err = AdvanceKeyboardFocus(inWindow);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *Ctl_ReverseKeyboardFocus(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
WindowPtr inWindow;
#ifndef ReverseKeyboardFocus
PyMac_PRECHECK(ReverseKeyboardFocus);
#endif
if (!PyArg_ParseTuple(_args, "O&",
WinObj_Convert, &inWindow))
return NULL;
_err = ReverseKeyboardFocus(inWindow);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *Ctl_ClearKeyboardFocus(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSErr _err;
WindowPtr inWindow;
#ifndef ClearKeyboardFocus
PyMac_PRECHECK(ClearKeyboardFocus);
#endif
if (!PyArg_ParseTuple(_args, "O&",
WinObj_Convert, &inWindow))
return NULL;
_err = ClearKeyboardFocus(inWindow);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *Ctl_SetAutomaticControlDragTrackingEnabledForWindow(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr inWindow;
Boolean inTracks;
#ifndef SetAutomaticControlDragTrackingEnabledForWindow
PyMac_PRECHECK(SetAutomaticControlDragTrackingEnabledForWindow);
#endif
if (!PyArg_ParseTuple(_args, "O&b",
WinObj_Convert, &inWindow,
&inTracks))
return NULL;
_err = SetAutomaticControlDragTrackingEnabledForWindow(inWindow,
inTracks);
if (_err != noErr) return PyMac_Error(_err);
Py_INCREF(Py_None);
_res = Py_None;
return _res;
}
static PyObject *Ctl_IsAutomaticControlDragTrackingEnabledForWindow(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr inWindow;
Boolean outTracks;
#ifndef IsAutomaticControlDragTrackingEnabledForWindow
PyMac_PRECHECK(IsAutomaticControlDragTrackingEnabledForWindow);
#endif
if (!PyArg_ParseTuple(_args, "O&",
WinObj_Convert, &inWindow))
return NULL;
_err = IsAutomaticControlDragTrackingEnabledForWindow(inWindow,
&outTracks);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("b",
outTracks);
return _res;
}
static PyObject *Ctl_CreateBevelButtonControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
CFStringRef title;
UInt16 thickness;
UInt16 behavior;
ControlButtonContentInfo info;
SInt16 menuID;
UInt16 menuBehavior;
UInt16 menuPlacement;
ControlHandle outControl;
#ifndef CreateBevelButtonControl
PyMac_PRECHECK(CreateBevelButtonControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&O&HHO&hHH",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
CFStringRefObj_Convert, &title,
&thickness,
&behavior,
ControlButtonContentInfo_Convert, &info,
&menuID,
&menuBehavior,
&menuPlacement))
return NULL;
_err = CreateBevelButtonControl(window,
&boundsRect,
title,
thickness,
behavior,
&info,
menuID,
menuBehavior,
menuPlacement,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateSliderControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
SInt32 value;
SInt32 minimum;
SInt32 maximum;
UInt16 orientation;
UInt16 numTickMarks;
Boolean liveTracking;
PyObject* liveTrackingProc;
UniversalProcPtr c_callback;
ControlHandle outControl;
#ifndef CreateSliderControl
PyMac_PRECHECK(CreateSliderControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&lllHHbO",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
&value,
&minimum,
&maximum,
&orientation,
&numTickMarks,
&liveTracking,
&liveTrackingProc))
return NULL;
_err = CreateSliderControl(window,
&boundsRect,
value,
minimum,
maximum,
orientation,
numTickMarks,
liveTracking,
myactionproc_upp,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
setcallback(_res, kMyControlActionProcTag, liveTrackingProc, &c_callback);
return _res;
}
static PyObject *Ctl_CreateDisclosureTriangleControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr inWindow;
Rect inBoundsRect;
UInt16 inOrientation;
CFStringRef inTitle;
SInt32 inInitialValue;
Boolean inDrawTitle;
Boolean inAutoToggles;
ControlHandle outControl;
#ifndef CreateDisclosureTriangleControl
PyMac_PRECHECK(CreateDisclosureTriangleControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&HO&lbb",
WinObj_Convert, &inWindow,
PyMac_GetRect, &inBoundsRect,
&inOrientation,
CFStringRefObj_Convert, &inTitle,
&inInitialValue,
&inDrawTitle,
&inAutoToggles))
return NULL;
_err = CreateDisclosureTriangleControl(inWindow,
&inBoundsRect,
inOrientation,
inTitle,
inInitialValue,
inDrawTitle,
inAutoToggles,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateProgressBarControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
SInt32 value;
SInt32 minimum;
SInt32 maximum;
Boolean indeterminate;
ControlHandle outControl;
#ifndef CreateProgressBarControl
PyMac_PRECHECK(CreateProgressBarControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&lllb",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
&value,
&minimum,
&maximum,
&indeterminate))
return NULL;
_err = CreateProgressBarControl(window,
&boundsRect,
value,
minimum,
maximum,
indeterminate,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateRelevanceBarControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
SInt32 value;
SInt32 minimum;
SInt32 maximum;
ControlHandle outControl;
#ifndef CreateRelevanceBarControl
PyMac_PRECHECK(CreateRelevanceBarControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&lll",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
&value,
&minimum,
&maximum))
return NULL;
_err = CreateRelevanceBarControl(window,
&boundsRect,
value,
minimum,
maximum,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateLittleArrowsControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
SInt32 value;
SInt32 minimum;
SInt32 maximum;
SInt32 increment;
ControlHandle outControl;
#ifndef CreateLittleArrowsControl
PyMac_PRECHECK(CreateLittleArrowsControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&llll",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
&value,
&minimum,
&maximum,
&increment))
return NULL;
_err = CreateLittleArrowsControl(window,
&boundsRect,
value,
minimum,
maximum,
increment,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateChasingArrowsControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
ControlHandle outControl;
#ifndef CreateChasingArrowsControl
PyMac_PRECHECK(CreateChasingArrowsControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect))
return NULL;
_err = CreateChasingArrowsControl(window,
&boundsRect,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateSeparatorControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
ControlHandle outControl;
#ifndef CreateSeparatorControl
PyMac_PRECHECK(CreateSeparatorControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect))
return NULL;
_err = CreateSeparatorControl(window,
&boundsRect,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateGroupBoxControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
CFStringRef title;
Boolean primary;
ControlHandle outControl;
#ifndef CreateGroupBoxControl
PyMac_PRECHECK(CreateGroupBoxControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&O&b",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
CFStringRefObj_Convert, &title,
&primary))
return NULL;
_err = CreateGroupBoxControl(window,
&boundsRect,
title,
primary,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateCheckGroupBoxControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
CFStringRef title;
SInt32 initialValue;
Boolean primary;
Boolean autoToggle;
ControlHandle outControl;
#ifndef CreateCheckGroupBoxControl
PyMac_PRECHECK(CreateCheckGroupBoxControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&O&lbb",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
CFStringRefObj_Convert, &title,
&initialValue,
&primary,
&autoToggle))
return NULL;
_err = CreateCheckGroupBoxControl(window,
&boundsRect,
title,
initialValue,
primary,
autoToggle,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreatePopupGroupBoxControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
CFStringRef title;
Boolean primary;
SInt16 menuID;
Boolean variableWidth;
SInt16 titleWidth;
SInt16 titleJustification;
Style titleStyle;
ControlHandle outControl;
#ifndef CreatePopupGroupBoxControl
PyMac_PRECHECK(CreatePopupGroupBoxControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&O&bhbhhb",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
CFStringRefObj_Convert, &title,
&primary,
&menuID,
&variableWidth,
&titleWidth,
&titleJustification,
&titleStyle))
return NULL;
_err = CreatePopupGroupBoxControl(window,
&boundsRect,
title,
primary,
menuID,
variableWidth,
titleWidth,
titleJustification,
titleStyle,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateImageWellControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
ControlButtonContentInfo info;
ControlHandle outControl;
#ifndef CreateImageWellControl
PyMac_PRECHECK(CreateImageWellControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&O&",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
ControlButtonContentInfo_Convert, &info))
return NULL;
_err = CreateImageWellControl(window,
&boundsRect,
&info,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreatePopupArrowControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
UInt16 orientation;
UInt16 size;
ControlHandle outControl;
#ifndef CreatePopupArrowControl
PyMac_PRECHECK(CreatePopupArrowControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&HH",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
&orientation,
&size))
return NULL;
_err = CreatePopupArrowControl(window,
&boundsRect,
orientation,
size,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreatePlacardControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
ControlHandle outControl;
#ifndef CreatePlacardControl
PyMac_PRECHECK(CreatePlacardControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect))
return NULL;
_err = CreatePlacardControl(window,
&boundsRect,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateClockControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
UInt16 clockType;
UInt32 clockFlags;
ControlHandle outControl;
#ifndef CreateClockControl
PyMac_PRECHECK(CreateClockControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&Hl",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
&clockType,
&clockFlags))
return NULL;
_err = CreateClockControl(window,
&boundsRect,
clockType,
clockFlags,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateUserPaneControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
UInt32 features;
ControlHandle outControl;
#ifndef CreateUserPaneControl
PyMac_PRECHECK(CreateUserPaneControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&l",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
&features))
return NULL;
_err = CreateUserPaneControl(window,
&boundsRect,
features,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateEditTextControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
CFStringRef text;
Boolean isPassword;
Boolean useInlineInput;
ControlFontStyleRec style;
ControlHandle outControl;
#ifndef CreateEditTextControl
PyMac_PRECHECK(CreateEditTextControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&O&bbO&",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
CFStringRefObj_Convert, &text,
&isPassword,
&useInlineInput,
ControlFontStyle_Convert, &style))
return NULL;
_err = CreateEditTextControl(window,
&boundsRect,
text,
isPassword,
useInlineInput,
&style,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateStaticTextControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
CFStringRef text;
ControlFontStyleRec style;
ControlHandle outControl;
#ifndef CreateStaticTextControl
PyMac_PRECHECK(CreateStaticTextControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&O&O&",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
CFStringRefObj_Convert, &text,
ControlFontStyle_Convert, &style))
return NULL;
_err = CreateStaticTextControl(window,
&boundsRect,
text,
&style,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreatePictureControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
ControlButtonContentInfo content;
Boolean dontTrack;
ControlHandle outControl;
#ifndef CreatePictureControl
PyMac_PRECHECK(CreatePictureControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&O&b",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
ControlButtonContentInfo_Convert, &content,
&dontTrack))
return NULL;
_err = CreatePictureControl(window,
&boundsRect,
&content,
dontTrack,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateIconControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr inWindow;
Rect inBoundsRect;
ControlButtonContentInfo inIconContent;
Boolean inDontTrack;
ControlHandle outControl;
#ifndef CreateIconControl
PyMac_PRECHECK(CreateIconControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&O&b",
WinObj_Convert, &inWindow,
PyMac_GetRect, &inBoundsRect,
ControlButtonContentInfo_Convert, &inIconContent,
&inDontTrack))
return NULL;
_err = CreateIconControl(inWindow,
&inBoundsRect,
&inIconContent,
inDontTrack,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateWindowHeaderControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
Boolean isListHeader;
ControlHandle outControl;
#ifndef CreateWindowHeaderControl
PyMac_PRECHECK(CreateWindowHeaderControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&b",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
&isListHeader))
return NULL;
_err = CreateWindowHeaderControl(window,
&boundsRect,
isListHeader,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreatePushButtonControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
CFStringRef title;
ControlHandle outControl;
#ifndef CreatePushButtonControl
PyMac_PRECHECK(CreatePushButtonControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&O&",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
CFStringRefObj_Convert, &title))
return NULL;
_err = CreatePushButtonControl(window,
&boundsRect,
title,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreatePushButtonWithIconControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
CFStringRef title;
ControlButtonContentInfo icon;
UInt16 iconAlignment;
ControlHandle outControl;
#ifndef CreatePushButtonWithIconControl
PyMac_PRECHECK(CreatePushButtonWithIconControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&O&O&H",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
CFStringRefObj_Convert, &title,
ControlButtonContentInfo_Convert, &icon,
&iconAlignment))
return NULL;
_err = CreatePushButtonWithIconControl(window,
&boundsRect,
title,
&icon,
iconAlignment,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateRadioButtonControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
CFStringRef title;
SInt32 initialValue;
Boolean autoToggle;
ControlHandle outControl;
#ifndef CreateRadioButtonControl
PyMac_PRECHECK(CreateRadioButtonControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&O&lb",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
CFStringRefObj_Convert, &title,
&initialValue,
&autoToggle))
return NULL;
_err = CreateRadioButtonControl(window,
&boundsRect,
title,
initialValue,
autoToggle,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateCheckBoxControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
CFStringRef title;
SInt32 initialValue;
Boolean autoToggle;
ControlHandle outControl;
#ifndef CreateCheckBoxControl
PyMac_PRECHECK(CreateCheckBoxControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&O&lb",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
CFStringRefObj_Convert, &title,
&initialValue,
&autoToggle))
return NULL;
_err = CreateCheckBoxControl(window,
&boundsRect,
title,
initialValue,
autoToggle,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateScrollBarControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
SInt32 value;
SInt32 minimum;
SInt32 maximum;
SInt32 viewSize;
Boolean liveTracking;
PyObject* liveTrackingProc;
UniversalProcPtr c_callback;
ControlHandle outControl;
#ifndef CreateScrollBarControl
PyMac_PRECHECK(CreateScrollBarControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&llllbO",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
&value,
&minimum,
&maximum,
&viewSize,
&liveTracking,
&liveTrackingProc))
return NULL;
_err = CreateScrollBarControl(window,
&boundsRect,
value,
minimum,
maximum,
viewSize,
liveTracking,
myactionproc_upp,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
setcallback(_res, kMyControlActionProcTag, liveTrackingProc, &c_callback);
return _res;
}
static PyObject *Ctl_CreatePopupButtonControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
CFStringRef title;
SInt16 menuID;
Boolean variableWidth;
SInt16 titleWidth;
SInt16 titleJustification;
Style titleStyle;
ControlHandle outControl;
#ifndef CreatePopupButtonControl
PyMac_PRECHECK(CreatePopupButtonControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&O&hbhhb",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
CFStringRefObj_Convert, &title,
&menuID,
&variableWidth,
&titleWidth,
&titleJustification,
&titleStyle))
return NULL;
_err = CreatePopupButtonControl(window,
&boundsRect,
title,
menuID,
variableWidth,
titleWidth,
titleJustification,
titleStyle,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateRadioGroupControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
ControlHandle outControl;
#ifndef CreateRadioGroupControl
PyMac_PRECHECK(CreateRadioGroupControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect))
return NULL;
_err = CreateRadioGroupControl(window,
&boundsRect,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateScrollingTextBoxControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
SInt16 contentResID;
Boolean autoScroll;
UInt32 delayBeforeAutoScroll;
UInt32 delayBetweenAutoScroll;
UInt16 autoScrollAmount;
ControlHandle outControl;
#ifndef CreateScrollingTextBoxControl
PyMac_PRECHECK(CreateScrollingTextBoxControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&hbllH",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
&contentResID,
&autoScroll,
&delayBeforeAutoScroll,
&delayBetweenAutoScroll,
&autoScrollAmount))
return NULL;
_err = CreateScrollingTextBoxControl(window,
&boundsRect,
contentResID,
autoScroll,
delayBeforeAutoScroll,
delayBetweenAutoScroll,
autoScrollAmount,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateDisclosureButtonControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr inWindow;
Rect inBoundsRect;
SInt32 inValue;
Boolean inAutoToggles;
ControlHandle outControl;
#ifndef CreateDisclosureButtonControl
PyMac_PRECHECK(CreateDisclosureButtonControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&lb",
WinObj_Convert, &inWindow,
PyMac_GetRect, &inBoundsRect,
&inValue,
&inAutoToggles))
return NULL;
_err = CreateDisclosureButtonControl(inWindow,
&inBoundsRect,
inValue,
inAutoToggles,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateRoundButtonControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr inWindow;
Rect inBoundsRect;
SInt16 inSize;
ControlButtonContentInfo inContent;
ControlHandle outControl;
#ifndef CreateRoundButtonControl
PyMac_PRECHECK(CreateRoundButtonControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&hO&",
WinObj_Convert, &inWindow,
PyMac_GetRect, &inBoundsRect,
&inSize,
ControlButtonContentInfo_Convert, &inContent))
return NULL;
_err = CreateRoundButtonControl(inWindow,
&inBoundsRect,
inSize,
&inContent,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateDataBrowserControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
OSType style;
ControlHandle outControl;
#ifndef CreateDataBrowserControl
PyMac_PRECHECK(CreateDataBrowserControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&O&",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
PyMac_GetOSType, &style))
return NULL;
_err = CreateDataBrowserControl(window,
&boundsRect,
style,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_CreateEditUnicodeTextControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
CFStringRef text;
Boolean isPassword;
ControlFontStyleRec style;
ControlHandle outControl;
#ifndef CreateEditUnicodeTextControl
PyMac_PRECHECK(CreateEditUnicodeTextControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&O&bO&",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
CFStringRefObj_Convert, &text,
&isPassword,
ControlFontStyle_Convert, &style))
return NULL;
_err = CreateEditUnicodeTextControl(window,
&boundsRect,
text,
isPassword,
&style,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyObject *Ctl_FindControlUnderMouse(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
ControlHandle _rv;
Point inWhere;
WindowPtr inWindow;
SInt16 outPart;
#ifndef FindControlUnderMouse
PyMac_PRECHECK(FindControlUnderMouse);
#endif
if (!PyArg_ParseTuple(_args, "O&O&",
PyMac_GetPoint, &inWhere,
WinObj_Convert, &inWindow))
return NULL;
_rv = FindControlUnderMouse(inWhere,
inWindow,
&outPart);
_res = Py_BuildValue("O&h",
CtlObj_WhichControl, _rv,
outPart);
return _res;
}
static PyObject *Ctl_as_Control(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
ControlHandle _rv;
Handle h;
#ifndef as_Control
PyMac_PRECHECK(as_Control);
#endif
if (!PyArg_ParseTuple(_args, "O&",
ResObj_Convert, &h))
return NULL;
_rv = as_Control(h);
_res = Py_BuildValue("O&",
CtlObj_New, _rv);
return _res;
}
static PyObject *Ctl_CreateTabsControl(PyObject *_self, PyObject *_args)
{
PyObject *_res = NULL;
OSStatus _err;
WindowPtr window;
Rect boundsRect;
UInt16 size;
UInt16 direction;
int i;
UInt16 numTabs;
ControlTabEntry tabArray[MAXTABS];
ControlHandle outControl;
PyObject *tabArrayObj, *tabEntry;
#ifndef CreateTabsControl
PyMac_PRECHECK(CreateTabsControl);
#endif
if (!PyArg_ParseTuple(_args, "O&O&HHO",
WinObj_Convert, &window,
PyMac_GetRect, &boundsRect,
&size,
&direction,
&tabArrayObj))
return NULL;
i = PySequence_Length(tabArrayObj);
if (i == -1)
return NULL;
if (i > MAXTABS) {
PyErr_SetString(Ctl_Error, "Too many tabs");
return NULL;
}
numTabs = i;
for (i=0; i<numTabs; i++) {
tabEntry = PySequence_GetItem(tabArrayObj, i);
if (tabEntry == NULL)
return NULL;
if (!PyArg_Parse(tabEntry, "(O&O&B)",
ControlButtonContentInfo_Convert, &tabArray[i].icon,
CFStringRefObj_Convert, &tabArray[i].name,
&tabArray[i].enabled
))
return NULL;
}
_err = CreateTabsControl(window,
&boundsRect,
size,
direction,
numTabs,
tabArray,
&outControl);
if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&",
CtlObj_New, outControl);
return _res;
}
static PyMethodDef Ctl_methods[] = {
{"NewControl", (PyCFunction)Ctl_NewControl, 1,
PyDoc_STR("(WindowPtr owningWindow, Rect boundsRect, Str255 controlTitle, Boolean initiallyVisible, SInt16 initialValue, SInt16 minimumValue, SInt16 maximumValue, SInt16 procID, SInt32 controlReference) -> (ControlHandle _rv)")},
{"GetNewControl", (PyCFunction)Ctl_GetNewControl, 1,
PyDoc_STR("(SInt16 resourceID, WindowPtr owningWindow) -> (ControlHandle _rv)")},
{"DrawControls", (PyCFunction)Ctl_DrawControls, 1,
PyDoc_STR("(WindowPtr theWindow) -> None")},
{"UpdateControls", (PyCFunction)Ctl_UpdateControls, 1,
PyDoc_STR("(WindowPtr inWindow, RgnHandle inUpdateRegion) -> None")},
{"FindControl", (PyCFunction)Ctl_FindControl, 1,
PyDoc_STR("(Point testPoint, WindowPtr theWindow) -> (ControlPartCode _rv, ControlHandle theControl)")},
{"IdleControls", (PyCFunction)Ctl_IdleControls, 1,
PyDoc_STR("(WindowPtr inWindow) -> None")},
{"GetControlByID", (PyCFunction)Ctl_GetControlByID, 1,
PyDoc_STR("(WindowPtr inWindow, ControlID inID) -> (ControlHandle outControl)")},
{"DumpControlHierarchy", (PyCFunction)Ctl_DumpControlHierarchy, 1,
PyDoc_STR("(WindowPtr inWindow, FSSpec inDumpFile) -> None")},
{"CreateRootControl", (PyCFunction)Ctl_CreateRootControl, 1,
PyDoc_STR("(WindowPtr inWindow) -> (ControlHandle outControl)")},
{"GetRootControl", (PyCFunction)Ctl_GetRootControl, 1,
PyDoc_STR("(WindowPtr inWindow) -> (ControlHandle outControl)")},
{"GetKeyboardFocus", (PyCFunction)Ctl_GetKeyboardFocus, 1,
PyDoc_STR("(WindowPtr inWindow) -> (ControlHandle outControl)")},
{"SetKeyboardFocus", (PyCFunction)Ctl_SetKeyboardFocus, 1,
PyDoc_STR("(WindowPtr inWindow, ControlHandle inControl, ControlFocusPart inPart) -> None")},
{"AdvanceKeyboardFocus", (PyCFunction)Ctl_AdvanceKeyboardFocus, 1,
PyDoc_STR("(WindowPtr inWindow) -> None")},
{"ReverseKeyboardFocus", (PyCFunction)Ctl_ReverseKeyboardFocus, 1,
PyDoc_STR("(WindowPtr inWindow) -> None")},
{"ClearKeyboardFocus", (PyCFunction)Ctl_ClearKeyboardFocus, 1,
PyDoc_STR("(WindowPtr inWindow) -> None")},
{"SetAutomaticControlDragTrackingEnabledForWindow", (PyCFunction)Ctl_SetAutomaticControlDragTrackingEnabledForWindow, 1,
PyDoc_STR("(WindowPtr inWindow, Boolean inTracks) -> None")},
{"IsAutomaticControlDragTrackingEnabledForWindow", (PyCFunction)Ctl_IsAutomaticControlDragTrackingEnabledForWindow, 1,
PyDoc_STR("(WindowPtr inWindow) -> (Boolean outTracks)")},
{"CreateBevelButtonControl", (PyCFunction)Ctl_CreateBevelButtonControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, CFStringRef title, UInt16 thickness, UInt16 behavior, ControlButtonContentInfo info, SInt16 menuID, UInt16 menuBehavior, UInt16 menuPlacement) -> (ControlHandle outControl)")},
{"CreateSliderControl", (PyCFunction)Ctl_CreateSliderControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, SInt32 value, SInt32 minimum, SInt32 maximum, UInt16 orientation, UInt16 numTickMarks, Boolean liveTracking, PyObject* liveTrackingProc) -> (ControlHandle outControl)")},
{"CreateDisclosureTriangleControl", (PyCFunction)Ctl_CreateDisclosureTriangleControl, 1,
PyDoc_STR("(WindowPtr inWindow, Rect inBoundsRect, UInt16 inOrientation, CFStringRef inTitle, SInt32 inInitialValue, Boolean inDrawTitle, Boolean inAutoToggles) -> (ControlHandle outControl)")},
{"CreateProgressBarControl", (PyCFunction)Ctl_CreateProgressBarControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, SInt32 value, SInt32 minimum, SInt32 maximum, Boolean indeterminate) -> (ControlHandle outControl)")},
{"CreateRelevanceBarControl", (PyCFunction)Ctl_CreateRelevanceBarControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, SInt32 value, SInt32 minimum, SInt32 maximum) -> (ControlHandle outControl)")},
{"CreateLittleArrowsControl", (PyCFunction)Ctl_CreateLittleArrowsControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, SInt32 value, SInt32 minimum, SInt32 maximum, SInt32 increment) -> (ControlHandle outControl)")},
{"CreateChasingArrowsControl", (PyCFunction)Ctl_CreateChasingArrowsControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect) -> (ControlHandle outControl)")},
{"CreateSeparatorControl", (PyCFunction)Ctl_CreateSeparatorControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect) -> (ControlHandle outControl)")},
{"CreateGroupBoxControl", (PyCFunction)Ctl_CreateGroupBoxControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, CFStringRef title, Boolean primary) -> (ControlHandle outControl)")},
{"CreateCheckGroupBoxControl", (PyCFunction)Ctl_CreateCheckGroupBoxControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, CFStringRef title, SInt32 initialValue, Boolean primary, Boolean autoToggle) -> (ControlHandle outControl)")},
{"CreatePopupGroupBoxControl", (PyCFunction)Ctl_CreatePopupGroupBoxControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, CFStringRef title, Boolean primary, SInt16 menuID, Boolean variableWidth, SInt16 titleWidth, SInt16 titleJustification, Style titleStyle) -> (ControlHandle outControl)")},
{"CreateImageWellControl", (PyCFunction)Ctl_CreateImageWellControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, ControlButtonContentInfo info) -> (ControlHandle outControl)")},
{"CreatePopupArrowControl", (PyCFunction)Ctl_CreatePopupArrowControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, UInt16 orientation, UInt16 size) -> (ControlHandle outControl)")},
{"CreatePlacardControl", (PyCFunction)Ctl_CreatePlacardControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect) -> (ControlHandle outControl)")},
{"CreateClockControl", (PyCFunction)Ctl_CreateClockControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, UInt16 clockType, UInt32 clockFlags) -> (ControlHandle outControl)")},
{"CreateUserPaneControl", (PyCFunction)Ctl_CreateUserPaneControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, UInt32 features) -> (ControlHandle outControl)")},
{"CreateEditTextControl", (PyCFunction)Ctl_CreateEditTextControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, CFStringRef text, Boolean isPassword, Boolean useInlineInput, ControlFontStyleRec style) -> (ControlHandle outControl)")},
{"CreateStaticTextControl", (PyCFunction)Ctl_CreateStaticTextControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, CFStringRef text, ControlFontStyleRec style) -> (ControlHandle outControl)")},
{"CreatePictureControl", (PyCFunction)Ctl_CreatePictureControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, ControlButtonContentInfo content, Boolean dontTrack) -> (ControlHandle outControl)")},
{"CreateIconControl", (PyCFunction)Ctl_CreateIconControl, 1,
PyDoc_STR("(WindowPtr inWindow, Rect inBoundsRect, ControlButtonContentInfo inIconContent, Boolean inDontTrack) -> (ControlHandle outControl)")},
{"CreateWindowHeaderControl", (PyCFunction)Ctl_CreateWindowHeaderControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, Boolean isListHeader) -> (ControlHandle outControl)")},
{"CreatePushButtonControl", (PyCFunction)Ctl_CreatePushButtonControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, CFStringRef title) -> (ControlHandle outControl)")},
{"CreatePushButtonWithIconControl", (PyCFunction)Ctl_CreatePushButtonWithIconControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, CFStringRef title, ControlButtonContentInfo icon, UInt16 iconAlignment) -> (ControlHandle outControl)")},
{"CreateRadioButtonControl", (PyCFunction)Ctl_CreateRadioButtonControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, CFStringRef title, SInt32 initialValue, Boolean autoToggle) -> (ControlHandle outControl)")},
{"CreateCheckBoxControl", (PyCFunction)Ctl_CreateCheckBoxControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, CFStringRef title, SInt32 initialValue, Boolean autoToggle) -> (ControlHandle outControl)")},
{"CreateScrollBarControl", (PyCFunction)Ctl_CreateScrollBarControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, SInt32 value, SInt32 minimum, SInt32 maximum, SInt32 viewSize, Boolean liveTracking, PyObject* liveTrackingProc) -> (ControlHandle outControl)")},
{"CreatePopupButtonControl", (PyCFunction)Ctl_CreatePopupButtonControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, CFStringRef title, SInt16 menuID, Boolean variableWidth, SInt16 titleWidth, SInt16 titleJustification, Style titleStyle) -> (ControlHandle outControl)")},
{"CreateRadioGroupControl", (PyCFunction)Ctl_CreateRadioGroupControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect) -> (ControlHandle outControl)")},
{"CreateScrollingTextBoxControl", (PyCFunction)Ctl_CreateScrollingTextBoxControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, SInt16 contentResID, Boolean autoScroll, UInt32 delayBeforeAutoScroll, UInt32 delayBetweenAutoScroll, UInt16 autoScrollAmount) -> (ControlHandle outControl)")},
{"CreateDisclosureButtonControl", (PyCFunction)Ctl_CreateDisclosureButtonControl, 1,
PyDoc_STR("(WindowPtr inWindow, Rect inBoundsRect, SInt32 inValue, Boolean inAutoToggles) -> (ControlHandle outControl)")},
{"CreateRoundButtonControl", (PyCFunction)Ctl_CreateRoundButtonControl, 1,
PyDoc_STR("(WindowPtr inWindow, Rect inBoundsRect, SInt16 inSize, ControlButtonContentInfo inContent) -> (ControlHandle outControl)")},
{"CreateDataBrowserControl", (PyCFunction)Ctl_CreateDataBrowserControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, OSType style) -> (ControlHandle outControl)")},
{"CreateEditUnicodeTextControl", (PyCFunction)Ctl_CreateEditUnicodeTextControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, CFStringRef text, Boolean isPassword, ControlFontStyleRec style) -> (ControlHandle outControl)")},
{"FindControlUnderMouse", (PyCFunction)Ctl_FindControlUnderMouse, 1,
PyDoc_STR("(Point inWhere, WindowPtr inWindow) -> (ControlHandle _rv, SInt16 outPart)")},
{"as_Control", (PyCFunction)Ctl_as_Control, 1,
PyDoc_STR("(Handle h) -> (ControlHandle _rv)")},
{"CreateTabsControl", (PyCFunction)Ctl_CreateTabsControl, 1,
PyDoc_STR("(WindowPtr window, Rect boundsRect, UInt16 size, UInt16 direction, ControlTabEntry tabArray) -> (ControlHandle outControl)")},
{NULL, NULL, 0}
};
static PyObject *
CtlObj_NewUnmanaged(ControlHandle itself)
{
ControlObject *it;
if (itself == NULL) return PyMac_Error(resNotFound);
it = PyObject_NEW(ControlObject, &Control_Type);
if (it == NULL) return NULL;
it->ob_itself = itself;
it->ob_callbackdict = NULL;
return (PyObject *)it;
}
static PyObject *
CtlObj_WhichControl(ControlHandle c)
{
PyObject *it;
if (c == NULL)
it = Py_None;
else {
it = (PyObject *) GetControlReference(c);
/*
** If the refcon is zero or doesn't point back to the Python object
** the control is not ours. Return a temporary object.
*/
if (it == NULL || ((ControlObject *)it)->ob_itself != c)
return CtlObj_NewUnmanaged(c);
}
Py_INCREF(it);
return it;
}
static int
settrackfunc(PyObject *obj)
{
if (tracker) {
PyErr_SetString(Ctl_Error, "Tracker function in use");
return 0;
}
tracker = obj;
Py_INCREF(tracker);
return 1;
}
static void
clrtrackfunc(void)
{
Py_XDECREF(tracker);
tracker = 0;
}
static pascal void
mytracker(ControlHandle ctl, short part)
{
PyObject *args, *rv=0;
args = Py_BuildValue("(O&i)", CtlObj_WhichControl, ctl, (int)part);
if (args && tracker) {
rv = PyEval_CallObject(tracker, args);
Py_DECREF(args);
}
if (rv)
Py_DECREF(rv);
else {
PySys_WriteStderr("TrackControl or HandleControlClick: exception in tracker function\n");
PyErr_Print();
}
}
static int
setcallback(PyObject *myself, OSType which, PyObject *callback, UniversalProcPtr *uppp)
{
ControlObject *self = (ControlObject *)myself;
char keybuf[9];
if ( which == kMyControlActionProcTag )
*uppp = (UniversalProcPtr)myactionproc_upp;
else if ( which == kControlUserPaneKeyDownProcTag )
*uppp = (UniversalProcPtr)mykeydownproc_upp;
else if ( which == kControlUserPaneFocusProcTag )
*uppp = (UniversalProcPtr)myfocusproc_upp;
else if ( which == kControlUserPaneDrawProcTag )
*uppp = (UniversalProcPtr)mydrawproc_upp;
else if ( which == kControlUserPaneIdleProcTag )
*uppp = (UniversalProcPtr)myidleproc_upp;
else if ( which == kControlUserPaneHitTestProcTag )
*uppp = (UniversalProcPtr)myhittestproc_upp;
else if ( which == kControlUserPaneTrackingProcTag )
*uppp = (UniversalProcPtr)mytrackingproc_upp;
else
return -1;
/* Only now do we test for clearing of the callback: */
if ( callback == Py_None )
*uppp = NULL;
/* Create the dict if it doesn't exist yet (so we don't get such a dict for every control) */
if ( self->ob_callbackdict == NULL )
if ( (self->ob_callbackdict = PyDict_New()) == NULL )
return -1;
/* And store the Python callback */
sprintf(keybuf, "%x", (unsigned)which);
if (PyDict_SetItemString(self->ob_callbackdict, keybuf, callback) < 0)
return -1;
return 0;
}
static PyObject *
callcallback(ControlObject *self, OSType which, PyObject *arglist)
{
char keybuf[9];
PyObject *func, *rv;
sprintf(keybuf, "%x", (unsigned)which);
if ( self->ob_callbackdict == NULL ||
(func = PyDict_GetItemString(self->ob_callbackdict, keybuf)) == NULL ) {
PySys_WriteStderr("Control callback %x without callback object\n", (unsigned)which);
return NULL;
}
rv = PyEval_CallObject(func, arglist);
if ( rv == NULL ) {
PySys_WriteStderr("Exception in control callback %x handler\n", (unsigned)which);
PyErr_Print();
}
return rv;
}
static pascal void
myactionproc(ControlHandle control, SInt16 part)
{
ControlObject *ctl_obj;
PyObject *arglist, *rv;
ctl_obj = (ControlObject *)CtlObj_WhichControl(control);
arglist = Py_BuildValue("Oh", ctl_obj, part);
rv = callcallback(ctl_obj, kMyControlActionProcTag, arglist);
Py_XDECREF(arglist);
Py_XDECREF(rv);
}
static pascal ControlPartCode
mykeydownproc(ControlHandle control, SInt16 keyCode, SInt16 charCode, SInt16 modifiers)
{
ControlObject *ctl_obj;
PyObject *arglist, *rv;
short c_rv = 0;
ctl_obj = (ControlObject *)CtlObj_WhichControl(control);
arglist = Py_BuildValue("Ohhh", ctl_obj, keyCode, charCode, modifiers);
rv = callcallback(ctl_obj, kControlUserPaneKeyDownProcTag, arglist);
Py_XDECREF(arglist);
if ( rv )
if (!PyArg_Parse(rv, "h", &c_rv))
PyErr_Clear();
Py_XDECREF(rv);
return (ControlPartCode)c_rv;
}
static pascal ControlPartCode
myfocusproc(ControlHandle control, ControlPartCode part)
{
ControlObject *ctl_obj;
PyObject *arglist, *rv;
short c_rv = kControlFocusNoPart;
ctl_obj = (ControlObject *)CtlObj_WhichControl(control);
arglist = Py_BuildValue("Oh", ctl_obj, part);
rv = callcallback(ctl_obj, kControlUserPaneFocusProcTag, arglist);
Py_XDECREF(arglist);
if ( rv )
if (!PyArg_Parse(rv, "h", &c_rv))
PyErr_Clear();
Py_XDECREF(rv);
return (ControlPartCode)c_rv;
}
static pascal void
mydrawproc(ControlHandle control, SInt16 part)
{
ControlObject *ctl_obj;
PyObject *arglist, *rv;
ctl_obj = (ControlObject *)CtlObj_WhichControl(control);
arglist = Py_BuildValue("Oh", ctl_obj, part);
rv = callcallback(ctl_obj, kControlUserPaneDrawProcTag, arglist);
Py_XDECREF(arglist);
Py_XDECREF(rv);
}
static pascal void
myidleproc(ControlHandle control)
{
ControlObject *ctl_obj;
PyObject *arglist, *rv;
ctl_obj = (ControlObject *)CtlObj_WhichControl(control);
arglist = Py_BuildValue("O", ctl_obj);
rv = callcallback(ctl_obj, kControlUserPaneIdleProcTag, arglist);
Py_XDECREF(arglist);
Py_XDECREF(rv);
}
static pascal ControlPartCode
myhittestproc(ControlHandle control, Point where)
{
ControlObject *ctl_obj;
PyObject *arglist, *rv;
short c_rv = -1;
ctl_obj = (ControlObject *)CtlObj_WhichControl(control);
arglist = Py_BuildValue("OO&", ctl_obj, PyMac_BuildPoint, where);
rv = callcallback(ctl_obj, kControlUserPaneHitTestProcTag, arglist);
Py_XDECREF(arglist);
/* Ignore errors, nothing we can do about them */
if ( rv )
if (!PyArg_Parse(rv, "h", &c_rv))
PyErr_Clear();
Py_XDECREF(rv);
return (ControlPartCode)c_rv;
}
static pascal ControlPartCode
mytrackingproc(ControlHandle control, Point startPt, ControlActionUPP actionProc)
{
ControlObject *ctl_obj;
PyObject *arglist, *rv;
short c_rv = -1;
ctl_obj = (ControlObject *)CtlObj_WhichControl(control);
/* We cannot pass the actionProc without lots of work */
arglist = Py_BuildValue("OO&", ctl_obj, PyMac_BuildPoint, startPt);
rv = callcallback(ctl_obj, kControlUserPaneTrackingProcTag, arglist);
Py_XDECREF(arglist);
if ( rv )
if (!PyArg_Parse(rv, "h", &c_rv))
PyErr_Clear();
Py_XDECREF(rv);
return (ControlPartCode)c_rv;
}
#else /* __LP64__ */
static PyMethodDef Ctl_methods[] = {
{NULL, NULL, 0}
};
#endif /* __LP64__ */
void init_Ctl(void)
{
PyObject *m;
#ifndef __LP64__
PyObject *d;
mytracker_upp = NewControlActionUPP(mytracker);
myactionproc_upp = NewControlActionUPP(myactionproc);
mykeydownproc_upp = NewControlUserPaneKeyDownUPP(mykeydownproc);
myfocusproc_upp = NewControlUserPaneFocusUPP(myfocusproc);
mydrawproc_upp = NewControlUserPaneDrawUPP(mydrawproc);
myidleproc_upp = NewControlUserPaneIdleUPP(myidleproc);
myhittestproc_upp = NewControlUserPaneHitTestUPP(myhittestproc);
mytrackingproc_upp = NewControlUserPaneTrackingUPP(mytrackingproc);
PyMac_INIT_TOOLBOX_OBJECT_NEW(ControlHandle, CtlObj_New);
PyMac_INIT_TOOLBOX_OBJECT_CONVERT(ControlHandle, CtlObj_Convert);
#endif /* !__LP64__ */
m = Py_InitModule("_Ctl", Ctl_methods);
#ifndef __LP64__
d = PyModule_GetDict(m);
Ctl_Error = PyMac_GetOSErrException();
if (Ctl_Error == NULL ||
PyDict_SetItemString(d, "Error", Ctl_Error) != 0)
return;
Control_Type.ob_type = &PyType_Type;
if (PyType_Ready(&Control_Type) < 0) return;
Py_INCREF(&Control_Type);
PyModule_AddObject(m, "Control", (PyObject *)&Control_Type);
/* Backward-compatible name */
Py_INCREF(&Control_Type);
PyModule_AddObject(m, "ControlType", (PyObject *)&Control_Type);
#endif /* !__LP64__ */
}
/* ======================== End module _Ctl ========================= */