symbian-qemu-0.9.1-12/python-2.6.1/Mac/Modules/menu/_Menumodule.c
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 
       
     2 /* ========================== Module _Menu ========================== */
       
     3 
       
     4 #include "Python.h"
       
     5 
       
     6 #ifndef __LP64__
       
     7 
       
     8 
       
     9 #include "pymactoolbox.h"
       
    10 
       
    11 /* Macro to test whether a weak-loaded CFM function exists */
       
    12 #define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL )  {\
       
    13         PyErr_SetString(PyExc_NotImplementedError, \
       
    14         "Not available in this shared library/OS version"); \
       
    15         return NULL; \
       
    16     }} while(0)
       
    17 
       
    18 
       
    19 #include <Carbon/Carbon.h>
       
    20 
       
    21 
       
    22 #ifdef USE_TOOLBOX_OBJECT_GLUE
       
    23 
       
    24 extern PyObject *_MenuObj_New(MenuHandle);
       
    25 extern int _MenuObj_Convert(PyObject *, MenuHandle *);
       
    26 
       
    27 #define MenuObj_New _MenuObj_New
       
    28 #define MenuObj_Convert _MenuObj_Convert
       
    29 #endif
       
    30 
       
    31 #define as_Menu(h) ((MenuHandle)h)
       
    32 #define as_Resource(h) ((Handle)h)
       
    33 
       
    34 
       
    35 /* Alternative version of MenuObj_New, which returns None for NULL argument */
       
    36 PyObject *OptMenuObj_New(MenuRef itself)
       
    37 {
       
    38         if (itself == NULL) {
       
    39                 Py_INCREF(Py_None);
       
    40                 return Py_None;
       
    41         }
       
    42         return MenuObj_New(itself);
       
    43 }
       
    44 
       
    45 /* Alternative version of MenuObj_Convert, which returns NULL for a None argument */
       
    46 int OptMenuObj_Convert(PyObject *v, MenuRef *p_itself)
       
    47 {
       
    48         if ( v == Py_None ) {
       
    49                 *p_itself = NULL;
       
    50                 return 1;
       
    51         }
       
    52         return MenuObj_Convert(v, p_itself);
       
    53 }
       
    54 
       
    55 static PyObject *Menu_Error;
       
    56 
       
    57 /* ------------------------ Object type Menu ------------------------ */
       
    58 
       
    59 PyTypeObject Menu_Type;
       
    60 
       
    61 #define MenuObj_Check(x) ((x)->ob_type == &Menu_Type || PyObject_TypeCheck((x), &Menu_Type))
       
    62 
       
    63 typedef struct MenuObject {
       
    64 	PyObject_HEAD
       
    65 	MenuHandle ob_itself;
       
    66 } MenuObject;
       
    67 
       
    68 PyObject *MenuObj_New(MenuHandle itself)
       
    69 {
       
    70 	MenuObject *it;
       
    71 	it = PyObject_NEW(MenuObject, &Menu_Type);
       
    72 	if (it == NULL) return NULL;
       
    73 	it->ob_itself = itself;
       
    74 	return (PyObject *)it;
       
    75 }
       
    76 
       
    77 int MenuObj_Convert(PyObject *v, MenuHandle *p_itself)
       
    78 {
       
    79 	if (!MenuObj_Check(v))
       
    80 	{
       
    81 		PyErr_SetString(PyExc_TypeError, "Menu required");
       
    82 		return 0;
       
    83 	}
       
    84 	*p_itself = ((MenuObject *)v)->ob_itself;
       
    85 	return 1;
       
    86 }
       
    87 
       
    88 static void MenuObj_dealloc(MenuObject *self)
       
    89 {
       
    90 	/* Cleanup of self->ob_itself goes here */
       
    91 	self->ob_type->tp_free((PyObject *)self);
       
    92 }
       
    93 
       
    94 static PyObject *MenuObj_DisposeMenu(MenuObject *_self, PyObject *_args)
       
    95 {
       
    96 	PyObject *_res = NULL;
       
    97 #ifndef DisposeMenu
       
    98 	PyMac_PRECHECK(DisposeMenu);
       
    99 #endif
       
   100 	if (!PyArg_ParseTuple(_args, ""))
       
   101 		return NULL;
       
   102 	DisposeMenu(_self->ob_itself);
       
   103 	Py_INCREF(Py_None);
       
   104 	_res = Py_None;
       
   105 	return _res;
       
   106 }
       
   107 
       
   108 static PyObject *MenuObj_CalcMenuSize(MenuObject *_self, PyObject *_args)
       
   109 {
       
   110 	PyObject *_res = NULL;
       
   111 #ifndef CalcMenuSize
       
   112 	PyMac_PRECHECK(CalcMenuSize);
       
   113 #endif
       
   114 	if (!PyArg_ParseTuple(_args, ""))
       
   115 		return NULL;
       
   116 	CalcMenuSize(_self->ob_itself);
       
   117 	Py_INCREF(Py_None);
       
   118 	_res = Py_None;
       
   119 	return _res;
       
   120 }
       
   121 
       
   122 static PyObject *MenuObj_CountMenuItems(MenuObject *_self, PyObject *_args)
       
   123 {
       
   124 	PyObject *_res = NULL;
       
   125 	UInt16 _rv;
       
   126 #ifndef CountMenuItems
       
   127 	PyMac_PRECHECK(CountMenuItems);
       
   128 #endif
       
   129 	if (!PyArg_ParseTuple(_args, ""))
       
   130 		return NULL;
       
   131 	_rv = CountMenuItems(_self->ob_itself);
       
   132 	_res = Py_BuildValue("H",
       
   133 	                     _rv);
       
   134 	return _res;
       
   135 }
       
   136 
       
   137 static PyObject *MenuObj_GetMenuFont(MenuObject *_self, PyObject *_args)
       
   138 {
       
   139 	PyObject *_res = NULL;
       
   140 	OSStatus _err;
       
   141 	SInt16 outFontID;
       
   142 	UInt16 outFontSize;
       
   143 #ifndef GetMenuFont
       
   144 	PyMac_PRECHECK(GetMenuFont);
       
   145 #endif
       
   146 	if (!PyArg_ParseTuple(_args, ""))
       
   147 		return NULL;
       
   148 	_err = GetMenuFont(_self->ob_itself,
       
   149 	                   &outFontID,
       
   150 	                   &outFontSize);
       
   151 	if (_err != noErr) return PyMac_Error(_err);
       
   152 	_res = Py_BuildValue("hH",
       
   153 	                     outFontID,
       
   154 	                     outFontSize);
       
   155 	return _res;
       
   156 }
       
   157 
       
   158 static PyObject *MenuObj_SetMenuFont(MenuObject *_self, PyObject *_args)
       
   159 {
       
   160 	PyObject *_res = NULL;
       
   161 	OSStatus _err;
       
   162 	SInt16 inFontID;
       
   163 	UInt16 inFontSize;
       
   164 #ifndef SetMenuFont
       
   165 	PyMac_PRECHECK(SetMenuFont);
       
   166 #endif
       
   167 	if (!PyArg_ParseTuple(_args, "hH",
       
   168 	                      &inFontID,
       
   169 	                      &inFontSize))
       
   170 		return NULL;
       
   171 	_err = SetMenuFont(_self->ob_itself,
       
   172 	                   inFontID,
       
   173 	                   inFontSize);
       
   174 	if (_err != noErr) return PyMac_Error(_err);
       
   175 	Py_INCREF(Py_None);
       
   176 	_res = Py_None;
       
   177 	return _res;
       
   178 }
       
   179 
       
   180 static PyObject *MenuObj_GetMenuExcludesMarkColumn(MenuObject *_self, PyObject *_args)
       
   181 {
       
   182 	PyObject *_res = NULL;
       
   183 	Boolean _rv;
       
   184 #ifndef GetMenuExcludesMarkColumn
       
   185 	PyMac_PRECHECK(GetMenuExcludesMarkColumn);
       
   186 #endif
       
   187 	if (!PyArg_ParseTuple(_args, ""))
       
   188 		return NULL;
       
   189 	_rv = GetMenuExcludesMarkColumn(_self->ob_itself);
       
   190 	_res = Py_BuildValue("b",
       
   191 	                     _rv);
       
   192 	return _res;
       
   193 }
       
   194 
       
   195 static PyObject *MenuObj_SetMenuExcludesMarkColumn(MenuObject *_self, PyObject *_args)
       
   196 {
       
   197 	PyObject *_res = NULL;
       
   198 	OSStatus _err;
       
   199 	Boolean excludesMark;
       
   200 #ifndef SetMenuExcludesMarkColumn
       
   201 	PyMac_PRECHECK(SetMenuExcludesMarkColumn);
       
   202 #endif
       
   203 	if (!PyArg_ParseTuple(_args, "b",
       
   204 	                      &excludesMark))
       
   205 		return NULL;
       
   206 	_err = SetMenuExcludesMarkColumn(_self->ob_itself,
       
   207 	                                 excludesMark);
       
   208 	if (_err != noErr) return PyMac_Error(_err);
       
   209 	Py_INCREF(Py_None);
       
   210 	_res = Py_None;
       
   211 	return _res;
       
   212 }
       
   213 
       
   214 static PyObject *MenuObj_IsValidMenu(MenuObject *_self, PyObject *_args)
       
   215 {
       
   216 	PyObject *_res = NULL;
       
   217 	Boolean _rv;
       
   218 #ifndef IsValidMenu
       
   219 	PyMac_PRECHECK(IsValidMenu);
       
   220 #endif
       
   221 	if (!PyArg_ParseTuple(_args, ""))
       
   222 		return NULL;
       
   223 	_rv = IsValidMenu(_self->ob_itself);
       
   224 	_res = Py_BuildValue("b",
       
   225 	                     _rv);
       
   226 	return _res;
       
   227 }
       
   228 
       
   229 static PyObject *MenuObj_GetMenuRetainCount(MenuObject *_self, PyObject *_args)
       
   230 {
       
   231 	PyObject *_res = NULL;
       
   232 	ItemCount _rv;
       
   233 #ifndef GetMenuRetainCount
       
   234 	PyMac_PRECHECK(GetMenuRetainCount);
       
   235 #endif
       
   236 	if (!PyArg_ParseTuple(_args, ""))
       
   237 		return NULL;
       
   238 	_rv = GetMenuRetainCount(_self->ob_itself);
       
   239 	_res = Py_BuildValue("l",
       
   240 	                     _rv);
       
   241 	return _res;
       
   242 }
       
   243 
       
   244 static PyObject *MenuObj_RetainMenu(MenuObject *_self, PyObject *_args)
       
   245 {
       
   246 	PyObject *_res = NULL;
       
   247 	OSStatus _err;
       
   248 #ifndef RetainMenu
       
   249 	PyMac_PRECHECK(RetainMenu);
       
   250 #endif
       
   251 	if (!PyArg_ParseTuple(_args, ""))
       
   252 		return NULL;
       
   253 	_err = RetainMenu(_self->ob_itself);
       
   254 	if (_err != noErr) return PyMac_Error(_err);
       
   255 	Py_INCREF(Py_None);
       
   256 	_res = Py_None;
       
   257 	return _res;
       
   258 }
       
   259 
       
   260 static PyObject *MenuObj_ReleaseMenu(MenuObject *_self, PyObject *_args)
       
   261 {
       
   262 	PyObject *_res = NULL;
       
   263 	OSStatus _err;
       
   264 #ifndef ReleaseMenu
       
   265 	PyMac_PRECHECK(ReleaseMenu);
       
   266 #endif
       
   267 	if (!PyArg_ParseTuple(_args, ""))
       
   268 		return NULL;
       
   269 	_err = ReleaseMenu(_self->ob_itself);
       
   270 	if (_err != noErr) return PyMac_Error(_err);
       
   271 	Py_INCREF(Py_None);
       
   272 	_res = Py_None;
       
   273 	return _res;
       
   274 }
       
   275 
       
   276 static PyObject *MenuObj_DuplicateMenu(MenuObject *_self, PyObject *_args)
       
   277 {
       
   278 	PyObject *_res = NULL;
       
   279 	OSStatus _err;
       
   280 	MenuHandle outMenu;
       
   281 #ifndef DuplicateMenu
       
   282 	PyMac_PRECHECK(DuplicateMenu);
       
   283 #endif
       
   284 	if (!PyArg_ParseTuple(_args, ""))
       
   285 		return NULL;
       
   286 	_err = DuplicateMenu(_self->ob_itself,
       
   287 	                     &outMenu);
       
   288 	if (_err != noErr) return PyMac_Error(_err);
       
   289 	_res = Py_BuildValue("O&",
       
   290 	                     MenuObj_New, outMenu);
       
   291 	return _res;
       
   292 }
       
   293 
       
   294 static PyObject *MenuObj_CopyMenuTitleAsCFString(MenuObject *_self, PyObject *_args)
       
   295 {
       
   296 	PyObject *_res = NULL;
       
   297 	OSStatus _err;
       
   298 	CFStringRef outString;
       
   299 #ifndef CopyMenuTitleAsCFString
       
   300 	PyMac_PRECHECK(CopyMenuTitleAsCFString);
       
   301 #endif
       
   302 	if (!PyArg_ParseTuple(_args, ""))
       
   303 		return NULL;
       
   304 	_err = CopyMenuTitleAsCFString(_self->ob_itself,
       
   305 	                               &outString);
       
   306 	if (_err != noErr) return PyMac_Error(_err);
       
   307 	_res = Py_BuildValue("O&",
       
   308 	                     CFStringRefObj_New, outString);
       
   309 	return _res;
       
   310 }
       
   311 
       
   312 static PyObject *MenuObj_SetMenuTitleWithCFString(MenuObject *_self, PyObject *_args)
       
   313 {
       
   314 	PyObject *_res = NULL;
       
   315 	OSStatus _err;
       
   316 	CFStringRef inString;
       
   317 #ifndef SetMenuTitleWithCFString
       
   318 	PyMac_PRECHECK(SetMenuTitleWithCFString);
       
   319 #endif
       
   320 	if (!PyArg_ParseTuple(_args, "O&",
       
   321 	                      CFStringRefObj_Convert, &inString))
       
   322 		return NULL;
       
   323 	_err = SetMenuTitleWithCFString(_self->ob_itself,
       
   324 	                                inString);
       
   325 	if (_err != noErr) return PyMac_Error(_err);
       
   326 	Py_INCREF(Py_None);
       
   327 	_res = Py_None;
       
   328 	return _res;
       
   329 }
       
   330 
       
   331 static PyObject *MenuObj_InvalidateMenuSize(MenuObject *_self, PyObject *_args)
       
   332 {
       
   333 	PyObject *_res = NULL;
       
   334 	OSStatus _err;
       
   335 #ifndef InvalidateMenuSize
       
   336 	PyMac_PRECHECK(InvalidateMenuSize);
       
   337 #endif
       
   338 	if (!PyArg_ParseTuple(_args, ""))
       
   339 		return NULL;
       
   340 	_err = InvalidateMenuSize(_self->ob_itself);
       
   341 	if (_err != noErr) return PyMac_Error(_err);
       
   342 	Py_INCREF(Py_None);
       
   343 	_res = Py_None;
       
   344 	return _res;
       
   345 }
       
   346 
       
   347 static PyObject *MenuObj_IsMenuSizeInvalid(MenuObject *_self, PyObject *_args)
       
   348 {
       
   349 	PyObject *_res = NULL;
       
   350 	Boolean _rv;
       
   351 #ifndef IsMenuSizeInvalid
       
   352 	PyMac_PRECHECK(IsMenuSizeInvalid);
       
   353 #endif
       
   354 	if (!PyArg_ParseTuple(_args, ""))
       
   355 		return NULL;
       
   356 	_rv = IsMenuSizeInvalid(_self->ob_itself);
       
   357 	_res = Py_BuildValue("b",
       
   358 	                     _rv);
       
   359 	return _res;
       
   360 }
       
   361 
       
   362 static PyObject *MenuObj_MacAppendMenu(MenuObject *_self, PyObject *_args)
       
   363 {
       
   364 	PyObject *_res = NULL;
       
   365 	Str255 data;
       
   366 #ifndef MacAppendMenu
       
   367 	PyMac_PRECHECK(MacAppendMenu);
       
   368 #endif
       
   369 	if (!PyArg_ParseTuple(_args, "O&",
       
   370 	                      PyMac_GetStr255, data))
       
   371 		return NULL;
       
   372 	MacAppendMenu(_self->ob_itself,
       
   373 	              data);
       
   374 	Py_INCREF(Py_None);
       
   375 	_res = Py_None;
       
   376 	return _res;
       
   377 }
       
   378 
       
   379 static PyObject *MenuObj_InsertResMenu(MenuObject *_self, PyObject *_args)
       
   380 {
       
   381 	PyObject *_res = NULL;
       
   382 	ResType theType;
       
   383 	short afterItem;
       
   384 #ifndef InsertResMenu
       
   385 	PyMac_PRECHECK(InsertResMenu);
       
   386 #endif
       
   387 	if (!PyArg_ParseTuple(_args, "O&h",
       
   388 	                      PyMac_GetOSType, &theType,
       
   389 	                      &afterItem))
       
   390 		return NULL;
       
   391 	InsertResMenu(_self->ob_itself,
       
   392 	              theType,
       
   393 	              afterItem);
       
   394 	Py_INCREF(Py_None);
       
   395 	_res = Py_None;
       
   396 	return _res;
       
   397 }
       
   398 
       
   399 static PyObject *MenuObj_AppendResMenu(MenuObject *_self, PyObject *_args)
       
   400 {
       
   401 	PyObject *_res = NULL;
       
   402 	ResType theType;
       
   403 #ifndef AppendResMenu
       
   404 	PyMac_PRECHECK(AppendResMenu);
       
   405 #endif
       
   406 	if (!PyArg_ParseTuple(_args, "O&",
       
   407 	                      PyMac_GetOSType, &theType))
       
   408 		return NULL;
       
   409 	AppendResMenu(_self->ob_itself,
       
   410 	              theType);
       
   411 	Py_INCREF(Py_None);
       
   412 	_res = Py_None;
       
   413 	return _res;
       
   414 }
       
   415 
       
   416 static PyObject *MenuObj_MacInsertMenuItem(MenuObject *_self, PyObject *_args)
       
   417 {
       
   418 	PyObject *_res = NULL;
       
   419 	Str255 itemString;
       
   420 	short afterItem;
       
   421 #ifndef MacInsertMenuItem
       
   422 	PyMac_PRECHECK(MacInsertMenuItem);
       
   423 #endif
       
   424 	if (!PyArg_ParseTuple(_args, "O&h",
       
   425 	                      PyMac_GetStr255, itemString,
       
   426 	                      &afterItem))
       
   427 		return NULL;
       
   428 	MacInsertMenuItem(_self->ob_itself,
       
   429 	                  itemString,
       
   430 	                  afterItem);
       
   431 	Py_INCREF(Py_None);
       
   432 	_res = Py_None;
       
   433 	return _res;
       
   434 }
       
   435 
       
   436 static PyObject *MenuObj_DeleteMenuItem(MenuObject *_self, PyObject *_args)
       
   437 {
       
   438 	PyObject *_res = NULL;
       
   439 	short item;
       
   440 #ifndef DeleteMenuItem
       
   441 	PyMac_PRECHECK(DeleteMenuItem);
       
   442 #endif
       
   443 	if (!PyArg_ParseTuple(_args, "h",
       
   444 	                      &item))
       
   445 		return NULL;
       
   446 	DeleteMenuItem(_self->ob_itself,
       
   447 	               item);
       
   448 	Py_INCREF(Py_None);
       
   449 	_res = Py_None;
       
   450 	return _res;
       
   451 }
       
   452 
       
   453 static PyObject *MenuObj_InsertFontResMenu(MenuObject *_self, PyObject *_args)
       
   454 {
       
   455 	PyObject *_res = NULL;
       
   456 	short afterItem;
       
   457 	short scriptFilter;
       
   458 #ifndef InsertFontResMenu
       
   459 	PyMac_PRECHECK(InsertFontResMenu);
       
   460 #endif
       
   461 	if (!PyArg_ParseTuple(_args, "hh",
       
   462 	                      &afterItem,
       
   463 	                      &scriptFilter))
       
   464 		return NULL;
       
   465 	InsertFontResMenu(_self->ob_itself,
       
   466 	                  afterItem,
       
   467 	                  scriptFilter);
       
   468 	Py_INCREF(Py_None);
       
   469 	_res = Py_None;
       
   470 	return _res;
       
   471 }
       
   472 
       
   473 static PyObject *MenuObj_InsertIntlResMenu(MenuObject *_self, PyObject *_args)
       
   474 {
       
   475 	PyObject *_res = NULL;
       
   476 	ResType theType;
       
   477 	short afterItem;
       
   478 	short scriptFilter;
       
   479 #ifndef InsertIntlResMenu
       
   480 	PyMac_PRECHECK(InsertIntlResMenu);
       
   481 #endif
       
   482 	if (!PyArg_ParseTuple(_args, "O&hh",
       
   483 	                      PyMac_GetOSType, &theType,
       
   484 	                      &afterItem,
       
   485 	                      &scriptFilter))
       
   486 		return NULL;
       
   487 	InsertIntlResMenu(_self->ob_itself,
       
   488 	                  theType,
       
   489 	                  afterItem,
       
   490 	                  scriptFilter);
       
   491 	Py_INCREF(Py_None);
       
   492 	_res = Py_None;
       
   493 	return _res;
       
   494 }
       
   495 
       
   496 static PyObject *MenuObj_AppendMenuItemText(MenuObject *_self, PyObject *_args)
       
   497 {
       
   498 	PyObject *_res = NULL;
       
   499 	OSStatus _err;
       
   500 	Str255 inString;
       
   501 #ifndef AppendMenuItemText
       
   502 	PyMac_PRECHECK(AppendMenuItemText);
       
   503 #endif
       
   504 	if (!PyArg_ParseTuple(_args, "O&",
       
   505 	                      PyMac_GetStr255, inString))
       
   506 		return NULL;
       
   507 	_err = AppendMenuItemText(_self->ob_itself,
       
   508 	                          inString);
       
   509 	if (_err != noErr) return PyMac_Error(_err);
       
   510 	Py_INCREF(Py_None);
       
   511 	_res = Py_None;
       
   512 	return _res;
       
   513 }
       
   514 
       
   515 static PyObject *MenuObj_InsertMenuItemText(MenuObject *_self, PyObject *_args)
       
   516 {
       
   517 	PyObject *_res = NULL;
       
   518 	OSStatus _err;
       
   519 	Str255 inString;
       
   520 	MenuItemIndex afterItem;
       
   521 #ifndef InsertMenuItemText
       
   522 	PyMac_PRECHECK(InsertMenuItemText);
       
   523 #endif
       
   524 	if (!PyArg_ParseTuple(_args, "O&h",
       
   525 	                      PyMac_GetStr255, inString,
       
   526 	                      &afterItem))
       
   527 		return NULL;
       
   528 	_err = InsertMenuItemText(_self->ob_itself,
       
   529 	                          inString,
       
   530 	                          afterItem);
       
   531 	if (_err != noErr) return PyMac_Error(_err);
       
   532 	Py_INCREF(Py_None);
       
   533 	_res = Py_None;
       
   534 	return _res;
       
   535 }
       
   536 
       
   537 static PyObject *MenuObj_CopyMenuItems(MenuObject *_self, PyObject *_args)
       
   538 {
       
   539 	PyObject *_res = NULL;
       
   540 	OSStatus _err;
       
   541 	MenuItemIndex inFirstItem;
       
   542 	ItemCount inNumItems;
       
   543 	MenuHandle inDestMenu;
       
   544 	MenuItemIndex inInsertAfter;
       
   545 #ifndef CopyMenuItems
       
   546 	PyMac_PRECHECK(CopyMenuItems);
       
   547 #endif
       
   548 	if (!PyArg_ParseTuple(_args, "hlO&h",
       
   549 	                      &inFirstItem,
       
   550 	                      &inNumItems,
       
   551 	                      MenuObj_Convert, &inDestMenu,
       
   552 	                      &inInsertAfter))
       
   553 		return NULL;
       
   554 	_err = CopyMenuItems(_self->ob_itself,
       
   555 	                     inFirstItem,
       
   556 	                     inNumItems,
       
   557 	                     inDestMenu,
       
   558 	                     inInsertAfter);
       
   559 	if (_err != noErr) return PyMac_Error(_err);
       
   560 	Py_INCREF(Py_None);
       
   561 	_res = Py_None;
       
   562 	return _res;
       
   563 }
       
   564 
       
   565 static PyObject *MenuObj_DeleteMenuItems(MenuObject *_self, PyObject *_args)
       
   566 {
       
   567 	PyObject *_res = NULL;
       
   568 	OSStatus _err;
       
   569 	MenuItemIndex inFirstItem;
       
   570 	ItemCount inNumItems;
       
   571 #ifndef DeleteMenuItems
       
   572 	PyMac_PRECHECK(DeleteMenuItems);
       
   573 #endif
       
   574 	if (!PyArg_ParseTuple(_args, "hl",
       
   575 	                      &inFirstItem,
       
   576 	                      &inNumItems))
       
   577 		return NULL;
       
   578 	_err = DeleteMenuItems(_self->ob_itself,
       
   579 	                       inFirstItem,
       
   580 	                       inNumItems);
       
   581 	if (_err != noErr) return PyMac_Error(_err);
       
   582 	Py_INCREF(Py_None);
       
   583 	_res = Py_None;
       
   584 	return _res;
       
   585 }
       
   586 
       
   587 static PyObject *MenuObj_AppendMenuItemTextWithCFString(MenuObject *_self, PyObject *_args)
       
   588 {
       
   589 	PyObject *_res = NULL;
       
   590 	OSStatus _err;
       
   591 	CFStringRef inString;
       
   592 	MenuItemAttributes inAttributes;
       
   593 	MenuCommand inCommandID;
       
   594 	MenuItemIndex outNewItem;
       
   595 #ifndef AppendMenuItemTextWithCFString
       
   596 	PyMac_PRECHECK(AppendMenuItemTextWithCFString);
       
   597 #endif
       
   598 	if (!PyArg_ParseTuple(_args, "O&ll",
       
   599 	                      CFStringRefObj_Convert, &inString,
       
   600 	                      &inAttributes,
       
   601 	                      &inCommandID))
       
   602 		return NULL;
       
   603 	_err = AppendMenuItemTextWithCFString(_self->ob_itself,
       
   604 	                                      inString,
       
   605 	                                      inAttributes,
       
   606 	                                      inCommandID,
       
   607 	                                      &outNewItem);
       
   608 	if (_err != noErr) return PyMac_Error(_err);
       
   609 	_res = Py_BuildValue("h",
       
   610 	                     outNewItem);
       
   611 	return _res;
       
   612 }
       
   613 
       
   614 static PyObject *MenuObj_InsertMenuItemTextWithCFString(MenuObject *_self, PyObject *_args)
       
   615 {
       
   616 	PyObject *_res = NULL;
       
   617 	OSStatus _err;
       
   618 	CFStringRef inString;
       
   619 	MenuItemIndex inAfterItem;
       
   620 	MenuItemAttributes inAttributes;
       
   621 	MenuCommand inCommandID;
       
   622 #ifndef InsertMenuItemTextWithCFString
       
   623 	PyMac_PRECHECK(InsertMenuItemTextWithCFString);
       
   624 #endif
       
   625 	if (!PyArg_ParseTuple(_args, "O&hll",
       
   626 	                      CFStringRefObj_Convert, &inString,
       
   627 	                      &inAfterItem,
       
   628 	                      &inAttributes,
       
   629 	                      &inCommandID))
       
   630 		return NULL;
       
   631 	_err = InsertMenuItemTextWithCFString(_self->ob_itself,
       
   632 	                                      inString,
       
   633 	                                      inAfterItem,
       
   634 	                                      inAttributes,
       
   635 	                                      inCommandID);
       
   636 	if (_err != noErr) return PyMac_Error(_err);
       
   637 	Py_INCREF(Py_None);
       
   638 	_res = Py_None;
       
   639 	return _res;
       
   640 }
       
   641 
       
   642 static PyObject *MenuObj_PopUpMenuSelect(MenuObject *_self, PyObject *_args)
       
   643 {
       
   644 	PyObject *_res = NULL;
       
   645 	long _rv;
       
   646 	short top;
       
   647 	short left;
       
   648 	short popUpItem;
       
   649 #ifndef PopUpMenuSelect
       
   650 	PyMac_PRECHECK(PopUpMenuSelect);
       
   651 #endif
       
   652 	if (!PyArg_ParseTuple(_args, "hhh",
       
   653 	                      &top,
       
   654 	                      &left,
       
   655 	                      &popUpItem))
       
   656 		return NULL;
       
   657 	_rv = PopUpMenuSelect(_self->ob_itself,
       
   658 	                      top,
       
   659 	                      left,
       
   660 	                      popUpItem);
       
   661 	_res = Py_BuildValue("l",
       
   662 	                     _rv);
       
   663 	return _res;
       
   664 }
       
   665 
       
   666 static PyObject *MenuObj_InvalidateMenuEnabling(MenuObject *_self, PyObject *_args)
       
   667 {
       
   668 	PyObject *_res = NULL;
       
   669 	OSStatus _err;
       
   670 #ifndef InvalidateMenuEnabling
       
   671 	PyMac_PRECHECK(InvalidateMenuEnabling);
       
   672 #endif
       
   673 	if (!PyArg_ParseTuple(_args, ""))
       
   674 		return NULL;
       
   675 	_err = InvalidateMenuEnabling(_self->ob_itself);
       
   676 	if (_err != noErr) return PyMac_Error(_err);
       
   677 	Py_INCREF(Py_None);
       
   678 	_res = Py_None;
       
   679 	return _res;
       
   680 }
       
   681 
       
   682 static PyObject *MenuObj_IsMenuBarInvalid(MenuObject *_self, PyObject *_args)
       
   683 {
       
   684 	PyObject *_res = NULL;
       
   685 	Boolean _rv;
       
   686 #ifndef IsMenuBarInvalid
       
   687 	PyMac_PRECHECK(IsMenuBarInvalid);
       
   688 #endif
       
   689 	if (!PyArg_ParseTuple(_args, ""))
       
   690 		return NULL;
       
   691 	_rv = IsMenuBarInvalid(_self->ob_itself);
       
   692 	_res = Py_BuildValue("b",
       
   693 	                     _rv);
       
   694 	return _res;
       
   695 }
       
   696 
       
   697 static PyObject *MenuObj_MacInsertMenu(MenuObject *_self, PyObject *_args)
       
   698 {
       
   699 	PyObject *_res = NULL;
       
   700 	MenuID beforeID;
       
   701 #ifndef MacInsertMenu
       
   702 	PyMac_PRECHECK(MacInsertMenu);
       
   703 #endif
       
   704 	if (!PyArg_ParseTuple(_args, "h",
       
   705 	                      &beforeID))
       
   706 		return NULL;
       
   707 	MacInsertMenu(_self->ob_itself,
       
   708 	              beforeID);
       
   709 	Py_INCREF(Py_None);
       
   710 	_res = Py_None;
       
   711 	return _res;
       
   712 }
       
   713 
       
   714 static PyObject *MenuObj_SetRootMenu(MenuObject *_self, PyObject *_args)
       
   715 {
       
   716 	PyObject *_res = NULL;
       
   717 	OSStatus _err;
       
   718 #ifndef SetRootMenu
       
   719 	PyMac_PRECHECK(SetRootMenu);
       
   720 #endif
       
   721 	if (!PyArg_ParseTuple(_args, ""))
       
   722 		return NULL;
       
   723 	_err = SetRootMenu(_self->ob_itself);
       
   724 	if (_err != noErr) return PyMac_Error(_err);
       
   725 	Py_INCREF(Py_None);
       
   726 	_res = Py_None;
       
   727 	return _res;
       
   728 }
       
   729 
       
   730 static PyObject *MenuObj_MacCheckMenuItem(MenuObject *_self, PyObject *_args)
       
   731 {
       
   732 	PyObject *_res = NULL;
       
   733 	short item;
       
   734 	Boolean checked;
       
   735 #ifndef MacCheckMenuItem
       
   736 	PyMac_PRECHECK(MacCheckMenuItem);
       
   737 #endif
       
   738 	if (!PyArg_ParseTuple(_args, "hb",
       
   739 	                      &item,
       
   740 	                      &checked))
       
   741 		return NULL;
       
   742 	MacCheckMenuItem(_self->ob_itself,
       
   743 	                 item,
       
   744 	                 checked);
       
   745 	Py_INCREF(Py_None);
       
   746 	_res = Py_None;
       
   747 	return _res;
       
   748 }
       
   749 
       
   750 static PyObject *MenuObj_SetMenuItemText(MenuObject *_self, PyObject *_args)
       
   751 {
       
   752 	PyObject *_res = NULL;
       
   753 	short item;
       
   754 	Str255 itemString;
       
   755 #ifndef SetMenuItemText
       
   756 	PyMac_PRECHECK(SetMenuItemText);
       
   757 #endif
       
   758 	if (!PyArg_ParseTuple(_args, "hO&",
       
   759 	                      &item,
       
   760 	                      PyMac_GetStr255, itemString))
       
   761 		return NULL;
       
   762 	SetMenuItemText(_self->ob_itself,
       
   763 	                item,
       
   764 	                itemString);
       
   765 	Py_INCREF(Py_None);
       
   766 	_res = Py_None;
       
   767 	return _res;
       
   768 }
       
   769 
       
   770 static PyObject *MenuObj_GetMenuItemText(MenuObject *_self, PyObject *_args)
       
   771 {
       
   772 	PyObject *_res = NULL;
       
   773 	short item;
       
   774 	Str255 itemString;
       
   775 #ifndef GetMenuItemText
       
   776 	PyMac_PRECHECK(GetMenuItemText);
       
   777 #endif
       
   778 	if (!PyArg_ParseTuple(_args, "h",
       
   779 	                      &item))
       
   780 		return NULL;
       
   781 	GetMenuItemText(_self->ob_itself,
       
   782 	                item,
       
   783 	                itemString);
       
   784 	_res = Py_BuildValue("O&",
       
   785 	                     PyMac_BuildStr255, itemString);
       
   786 	return _res;
       
   787 }
       
   788 
       
   789 static PyObject *MenuObj_SetItemMark(MenuObject *_self, PyObject *_args)
       
   790 {
       
   791 	PyObject *_res = NULL;
       
   792 	short item;
       
   793 	CharParameter markChar;
       
   794 #ifndef SetItemMark
       
   795 	PyMac_PRECHECK(SetItemMark);
       
   796 #endif
       
   797 	if (!PyArg_ParseTuple(_args, "hh",
       
   798 	                      &item,
       
   799 	                      &markChar))
       
   800 		return NULL;
       
   801 	SetItemMark(_self->ob_itself,
       
   802 	            item,
       
   803 	            markChar);
       
   804 	Py_INCREF(Py_None);
       
   805 	_res = Py_None;
       
   806 	return _res;
       
   807 }
       
   808 
       
   809 static PyObject *MenuObj_GetItemMark(MenuObject *_self, PyObject *_args)
       
   810 {
       
   811 	PyObject *_res = NULL;
       
   812 	short item;
       
   813 	CharParameter markChar;
       
   814 #ifndef GetItemMark
       
   815 	PyMac_PRECHECK(GetItemMark);
       
   816 #endif
       
   817 	if (!PyArg_ParseTuple(_args, "h",
       
   818 	                      &item))
       
   819 		return NULL;
       
   820 	GetItemMark(_self->ob_itself,
       
   821 	            item,
       
   822 	            &markChar);
       
   823 	_res = Py_BuildValue("h",
       
   824 	                     markChar);
       
   825 	return _res;
       
   826 }
       
   827 
       
   828 static PyObject *MenuObj_SetItemCmd(MenuObject *_self, PyObject *_args)
       
   829 {
       
   830 	PyObject *_res = NULL;
       
   831 	short item;
       
   832 	CharParameter cmdChar;
       
   833 #ifndef SetItemCmd
       
   834 	PyMac_PRECHECK(SetItemCmd);
       
   835 #endif
       
   836 	if (!PyArg_ParseTuple(_args, "hh",
       
   837 	                      &item,
       
   838 	                      &cmdChar))
       
   839 		return NULL;
       
   840 	SetItemCmd(_self->ob_itself,
       
   841 	           item,
       
   842 	           cmdChar);
       
   843 	Py_INCREF(Py_None);
       
   844 	_res = Py_None;
       
   845 	return _res;
       
   846 }
       
   847 
       
   848 static PyObject *MenuObj_GetItemCmd(MenuObject *_self, PyObject *_args)
       
   849 {
       
   850 	PyObject *_res = NULL;
       
   851 	short item;
       
   852 	CharParameter cmdChar;
       
   853 #ifndef GetItemCmd
       
   854 	PyMac_PRECHECK(GetItemCmd);
       
   855 #endif
       
   856 	if (!PyArg_ParseTuple(_args, "h",
       
   857 	                      &item))
       
   858 		return NULL;
       
   859 	GetItemCmd(_self->ob_itself,
       
   860 	           item,
       
   861 	           &cmdChar);
       
   862 	_res = Py_BuildValue("h",
       
   863 	                     cmdChar);
       
   864 	return _res;
       
   865 }
       
   866 
       
   867 static PyObject *MenuObj_SetItemIcon(MenuObject *_self, PyObject *_args)
       
   868 {
       
   869 	PyObject *_res = NULL;
       
   870 	short item;
       
   871 	short iconIndex;
       
   872 #ifndef SetItemIcon
       
   873 	PyMac_PRECHECK(SetItemIcon);
       
   874 #endif
       
   875 	if (!PyArg_ParseTuple(_args, "hh",
       
   876 	                      &item,
       
   877 	                      &iconIndex))
       
   878 		return NULL;
       
   879 	SetItemIcon(_self->ob_itself,
       
   880 	            item,
       
   881 	            iconIndex);
       
   882 	Py_INCREF(Py_None);
       
   883 	_res = Py_None;
       
   884 	return _res;
       
   885 }
       
   886 
       
   887 static PyObject *MenuObj_GetItemIcon(MenuObject *_self, PyObject *_args)
       
   888 {
       
   889 	PyObject *_res = NULL;
       
   890 	short item;
       
   891 	short iconIndex;
       
   892 #ifndef GetItemIcon
       
   893 	PyMac_PRECHECK(GetItemIcon);
       
   894 #endif
       
   895 	if (!PyArg_ParseTuple(_args, "h",
       
   896 	                      &item))
       
   897 		return NULL;
       
   898 	GetItemIcon(_self->ob_itself,
       
   899 	            item,
       
   900 	            &iconIndex);
       
   901 	_res = Py_BuildValue("h",
       
   902 	                     iconIndex);
       
   903 	return _res;
       
   904 }
       
   905 
       
   906 static PyObject *MenuObj_SetItemStyle(MenuObject *_self, PyObject *_args)
       
   907 {
       
   908 	PyObject *_res = NULL;
       
   909 	short item;
       
   910 	StyleParameter chStyle;
       
   911 #ifndef SetItemStyle
       
   912 	PyMac_PRECHECK(SetItemStyle);
       
   913 #endif
       
   914 	if (!PyArg_ParseTuple(_args, "hh",
       
   915 	                      &item,
       
   916 	                      &chStyle))
       
   917 		return NULL;
       
   918 	SetItemStyle(_self->ob_itself,
       
   919 	             item,
       
   920 	             chStyle);
       
   921 	Py_INCREF(Py_None);
       
   922 	_res = Py_None;
       
   923 	return _res;
       
   924 }
       
   925 
       
   926 static PyObject *MenuObj_GetItemStyle(MenuObject *_self, PyObject *_args)
       
   927 {
       
   928 	PyObject *_res = NULL;
       
   929 	short item;
       
   930 	Style chStyle;
       
   931 #ifndef GetItemStyle
       
   932 	PyMac_PRECHECK(GetItemStyle);
       
   933 #endif
       
   934 	if (!PyArg_ParseTuple(_args, "h",
       
   935 	                      &item))
       
   936 		return NULL;
       
   937 	GetItemStyle(_self->ob_itself,
       
   938 	             item,
       
   939 	             &chStyle);
       
   940 	_res = Py_BuildValue("b",
       
   941 	                     chStyle);
       
   942 	return _res;
       
   943 }
       
   944 
       
   945 static PyObject *MenuObj_SetMenuItemCommandID(MenuObject *_self, PyObject *_args)
       
   946 {
       
   947 	PyObject *_res = NULL;
       
   948 	OSErr _err;
       
   949 	SInt16 inItem;
       
   950 	MenuCommand inCommandID;
       
   951 #ifndef SetMenuItemCommandID
       
   952 	PyMac_PRECHECK(SetMenuItemCommandID);
       
   953 #endif
       
   954 	if (!PyArg_ParseTuple(_args, "hl",
       
   955 	                      &inItem,
       
   956 	                      &inCommandID))
       
   957 		return NULL;
       
   958 	_err = SetMenuItemCommandID(_self->ob_itself,
       
   959 	                            inItem,
       
   960 	                            inCommandID);
       
   961 	if (_err != noErr) return PyMac_Error(_err);
       
   962 	Py_INCREF(Py_None);
       
   963 	_res = Py_None;
       
   964 	return _res;
       
   965 }
       
   966 
       
   967 static PyObject *MenuObj_GetMenuItemCommandID(MenuObject *_self, PyObject *_args)
       
   968 {
       
   969 	PyObject *_res = NULL;
       
   970 	OSErr _err;
       
   971 	SInt16 inItem;
       
   972 	MenuCommand outCommandID;
       
   973 #ifndef GetMenuItemCommandID
       
   974 	PyMac_PRECHECK(GetMenuItemCommandID);
       
   975 #endif
       
   976 	if (!PyArg_ParseTuple(_args, "h",
       
   977 	                      &inItem))
       
   978 		return NULL;
       
   979 	_err = GetMenuItemCommandID(_self->ob_itself,
       
   980 	                            inItem,
       
   981 	                            &outCommandID);
       
   982 	if (_err != noErr) return PyMac_Error(_err);
       
   983 	_res = Py_BuildValue("l",
       
   984 	                     outCommandID);
       
   985 	return _res;
       
   986 }
       
   987 
       
   988 static PyObject *MenuObj_SetMenuItemModifiers(MenuObject *_self, PyObject *_args)
       
   989 {
       
   990 	PyObject *_res = NULL;
       
   991 	OSErr _err;
       
   992 	SInt16 inItem;
       
   993 	UInt8 inModifiers;
       
   994 #ifndef SetMenuItemModifiers
       
   995 	PyMac_PRECHECK(SetMenuItemModifiers);
       
   996 #endif
       
   997 	if (!PyArg_ParseTuple(_args, "hb",
       
   998 	                      &inItem,
       
   999 	                      &inModifiers))
       
  1000 		return NULL;
       
  1001 	_err = SetMenuItemModifiers(_self->ob_itself,
       
  1002 	                            inItem,
       
  1003 	                            inModifiers);
       
  1004 	if (_err != noErr) return PyMac_Error(_err);
       
  1005 	Py_INCREF(Py_None);
       
  1006 	_res = Py_None;
       
  1007 	return _res;
       
  1008 }
       
  1009 
       
  1010 static PyObject *MenuObj_GetMenuItemModifiers(MenuObject *_self, PyObject *_args)
       
  1011 {
       
  1012 	PyObject *_res = NULL;
       
  1013 	OSErr _err;
       
  1014 	SInt16 inItem;
       
  1015 	UInt8 outModifiers;
       
  1016 #ifndef GetMenuItemModifiers
       
  1017 	PyMac_PRECHECK(GetMenuItemModifiers);
       
  1018 #endif
       
  1019 	if (!PyArg_ParseTuple(_args, "h",
       
  1020 	                      &inItem))
       
  1021 		return NULL;
       
  1022 	_err = GetMenuItemModifiers(_self->ob_itself,
       
  1023 	                            inItem,
       
  1024 	                            &outModifiers);
       
  1025 	if (_err != noErr) return PyMac_Error(_err);
       
  1026 	_res = Py_BuildValue("b",
       
  1027 	                     outModifiers);
       
  1028 	return _res;
       
  1029 }
       
  1030 
       
  1031 static PyObject *MenuObj_SetMenuItemIconHandle(MenuObject *_self, PyObject *_args)
       
  1032 {
       
  1033 	PyObject *_res = NULL;
       
  1034 	OSErr _err;
       
  1035 	SInt16 inItem;
       
  1036 	UInt8 inIconType;
       
  1037 	Handle inIconHandle;
       
  1038 #ifndef SetMenuItemIconHandle
       
  1039 	PyMac_PRECHECK(SetMenuItemIconHandle);
       
  1040 #endif
       
  1041 	if (!PyArg_ParseTuple(_args, "hbO&",
       
  1042 	                      &inItem,
       
  1043 	                      &inIconType,
       
  1044 	                      ResObj_Convert, &inIconHandle))
       
  1045 		return NULL;
       
  1046 	_err = SetMenuItemIconHandle(_self->ob_itself,
       
  1047 	                             inItem,
       
  1048 	                             inIconType,
       
  1049 	                             inIconHandle);
       
  1050 	if (_err != noErr) return PyMac_Error(_err);
       
  1051 	Py_INCREF(Py_None);
       
  1052 	_res = Py_None;
       
  1053 	return _res;
       
  1054 }
       
  1055 
       
  1056 static PyObject *MenuObj_GetMenuItemIconHandle(MenuObject *_self, PyObject *_args)
       
  1057 {
       
  1058 	PyObject *_res = NULL;
       
  1059 	OSErr _err;
       
  1060 	SInt16 inItem;
       
  1061 	UInt8 outIconType;
       
  1062 	Handle outIconHandle;
       
  1063 #ifndef GetMenuItemIconHandle
       
  1064 	PyMac_PRECHECK(GetMenuItemIconHandle);
       
  1065 #endif
       
  1066 	if (!PyArg_ParseTuple(_args, "h",
       
  1067 	                      &inItem))
       
  1068 		return NULL;
       
  1069 	_err = GetMenuItemIconHandle(_self->ob_itself,
       
  1070 	                             inItem,
       
  1071 	                             &outIconType,
       
  1072 	                             &outIconHandle);
       
  1073 	if (_err != noErr) return PyMac_Error(_err);
       
  1074 	_res = Py_BuildValue("bO&",
       
  1075 	                     outIconType,
       
  1076 	                     ResObj_New, outIconHandle);
       
  1077 	return _res;
       
  1078 }
       
  1079 
       
  1080 static PyObject *MenuObj_SetMenuItemTextEncoding(MenuObject *_self, PyObject *_args)
       
  1081 {
       
  1082 	PyObject *_res = NULL;
       
  1083 	OSErr _err;
       
  1084 	SInt16 inItem;
       
  1085 	TextEncoding inScriptID;
       
  1086 #ifndef SetMenuItemTextEncoding
       
  1087 	PyMac_PRECHECK(SetMenuItemTextEncoding);
       
  1088 #endif
       
  1089 	if (!PyArg_ParseTuple(_args, "hl",
       
  1090 	                      &inItem,
       
  1091 	                      &inScriptID))
       
  1092 		return NULL;
       
  1093 	_err = SetMenuItemTextEncoding(_self->ob_itself,
       
  1094 	                               inItem,
       
  1095 	                               inScriptID);
       
  1096 	if (_err != noErr) return PyMac_Error(_err);
       
  1097 	Py_INCREF(Py_None);
       
  1098 	_res = Py_None;
       
  1099 	return _res;
       
  1100 }
       
  1101 
       
  1102 static PyObject *MenuObj_GetMenuItemTextEncoding(MenuObject *_self, PyObject *_args)
       
  1103 {
       
  1104 	PyObject *_res = NULL;
       
  1105 	OSErr _err;
       
  1106 	SInt16 inItem;
       
  1107 	TextEncoding outScriptID;
       
  1108 #ifndef GetMenuItemTextEncoding
       
  1109 	PyMac_PRECHECK(GetMenuItemTextEncoding);
       
  1110 #endif
       
  1111 	if (!PyArg_ParseTuple(_args, "h",
       
  1112 	                      &inItem))
       
  1113 		return NULL;
       
  1114 	_err = GetMenuItemTextEncoding(_self->ob_itself,
       
  1115 	                               inItem,
       
  1116 	                               &outScriptID);
       
  1117 	if (_err != noErr) return PyMac_Error(_err);
       
  1118 	_res = Py_BuildValue("l",
       
  1119 	                     outScriptID);
       
  1120 	return _res;
       
  1121 }
       
  1122 
       
  1123 static PyObject *MenuObj_SetMenuItemHierarchicalID(MenuObject *_self, PyObject *_args)
       
  1124 {
       
  1125 	PyObject *_res = NULL;
       
  1126 	OSErr _err;
       
  1127 	SInt16 inItem;
       
  1128 	MenuID inHierID;
       
  1129 #ifndef SetMenuItemHierarchicalID
       
  1130 	PyMac_PRECHECK(SetMenuItemHierarchicalID);
       
  1131 #endif
       
  1132 	if (!PyArg_ParseTuple(_args, "hh",
       
  1133 	                      &inItem,
       
  1134 	                      &inHierID))
       
  1135 		return NULL;
       
  1136 	_err = SetMenuItemHierarchicalID(_self->ob_itself,
       
  1137 	                                 inItem,
       
  1138 	                                 inHierID);
       
  1139 	if (_err != noErr) return PyMac_Error(_err);
       
  1140 	Py_INCREF(Py_None);
       
  1141 	_res = Py_None;
       
  1142 	return _res;
       
  1143 }
       
  1144 
       
  1145 static PyObject *MenuObj_GetMenuItemHierarchicalID(MenuObject *_self, PyObject *_args)
       
  1146 {
       
  1147 	PyObject *_res = NULL;
       
  1148 	OSErr _err;
       
  1149 	SInt16 inItem;
       
  1150 	MenuID outHierID;
       
  1151 #ifndef GetMenuItemHierarchicalID
       
  1152 	PyMac_PRECHECK(GetMenuItemHierarchicalID);
       
  1153 #endif
       
  1154 	if (!PyArg_ParseTuple(_args, "h",
       
  1155 	                      &inItem))
       
  1156 		return NULL;
       
  1157 	_err = GetMenuItemHierarchicalID(_self->ob_itself,
       
  1158 	                                 inItem,
       
  1159 	                                 &outHierID);
       
  1160 	if (_err != noErr) return PyMac_Error(_err);
       
  1161 	_res = Py_BuildValue("h",
       
  1162 	                     outHierID);
       
  1163 	return _res;
       
  1164 }
       
  1165 
       
  1166 static PyObject *MenuObj_SetMenuItemFontID(MenuObject *_self, PyObject *_args)
       
  1167 {
       
  1168 	PyObject *_res = NULL;
       
  1169 	OSErr _err;
       
  1170 	SInt16 inItem;
       
  1171 	SInt16 inFontID;
       
  1172 #ifndef SetMenuItemFontID
       
  1173 	PyMac_PRECHECK(SetMenuItemFontID);
       
  1174 #endif
       
  1175 	if (!PyArg_ParseTuple(_args, "hh",
       
  1176 	                      &inItem,
       
  1177 	                      &inFontID))
       
  1178 		return NULL;
       
  1179 	_err = SetMenuItemFontID(_self->ob_itself,
       
  1180 	                         inItem,
       
  1181 	                         inFontID);
       
  1182 	if (_err != noErr) return PyMac_Error(_err);
       
  1183 	Py_INCREF(Py_None);
       
  1184 	_res = Py_None;
       
  1185 	return _res;
       
  1186 }
       
  1187 
       
  1188 static PyObject *MenuObj_GetMenuItemFontID(MenuObject *_self, PyObject *_args)
       
  1189 {
       
  1190 	PyObject *_res = NULL;
       
  1191 	OSErr _err;
       
  1192 	SInt16 inItem;
       
  1193 	SInt16 outFontID;
       
  1194 #ifndef GetMenuItemFontID
       
  1195 	PyMac_PRECHECK(GetMenuItemFontID);
       
  1196 #endif
       
  1197 	if (!PyArg_ParseTuple(_args, "h",
       
  1198 	                      &inItem))
       
  1199 		return NULL;
       
  1200 	_err = GetMenuItemFontID(_self->ob_itself,
       
  1201 	                         inItem,
       
  1202 	                         &outFontID);
       
  1203 	if (_err != noErr) return PyMac_Error(_err);
       
  1204 	_res = Py_BuildValue("h",
       
  1205 	                     outFontID);
       
  1206 	return _res;
       
  1207 }
       
  1208 
       
  1209 static PyObject *MenuObj_SetMenuItemRefCon(MenuObject *_self, PyObject *_args)
       
  1210 {
       
  1211 	PyObject *_res = NULL;
       
  1212 	OSErr _err;
       
  1213 	SInt16 inItem;
       
  1214 	UInt32 inRefCon;
       
  1215 #ifndef SetMenuItemRefCon
       
  1216 	PyMac_PRECHECK(SetMenuItemRefCon);
       
  1217 #endif
       
  1218 	if (!PyArg_ParseTuple(_args, "hl",
       
  1219 	                      &inItem,
       
  1220 	                      &inRefCon))
       
  1221 		return NULL;
       
  1222 	_err = SetMenuItemRefCon(_self->ob_itself,
       
  1223 	                         inItem,
       
  1224 	                         inRefCon);
       
  1225 	if (_err != noErr) return PyMac_Error(_err);
       
  1226 	Py_INCREF(Py_None);
       
  1227 	_res = Py_None;
       
  1228 	return _res;
       
  1229 }
       
  1230 
       
  1231 static PyObject *MenuObj_GetMenuItemRefCon(MenuObject *_self, PyObject *_args)
       
  1232 {
       
  1233 	PyObject *_res = NULL;
       
  1234 	OSErr _err;
       
  1235 	SInt16 inItem;
       
  1236 	UInt32 outRefCon;
       
  1237 #ifndef GetMenuItemRefCon
       
  1238 	PyMac_PRECHECK(GetMenuItemRefCon);
       
  1239 #endif
       
  1240 	if (!PyArg_ParseTuple(_args, "h",
       
  1241 	                      &inItem))
       
  1242 		return NULL;
       
  1243 	_err = GetMenuItemRefCon(_self->ob_itself,
       
  1244 	                         inItem,
       
  1245 	                         &outRefCon);
       
  1246 	if (_err != noErr) return PyMac_Error(_err);
       
  1247 	_res = Py_BuildValue("l",
       
  1248 	                     outRefCon);
       
  1249 	return _res;
       
  1250 }
       
  1251 
       
  1252 static PyObject *MenuObj_SetMenuItemKeyGlyph(MenuObject *_self, PyObject *_args)
       
  1253 {
       
  1254 	PyObject *_res = NULL;
       
  1255 	OSErr _err;
       
  1256 	SInt16 inItem;
       
  1257 	SInt16 inGlyph;
       
  1258 #ifndef SetMenuItemKeyGlyph
       
  1259 	PyMac_PRECHECK(SetMenuItemKeyGlyph);
       
  1260 #endif
       
  1261 	if (!PyArg_ParseTuple(_args, "hh",
       
  1262 	                      &inItem,
       
  1263 	                      &inGlyph))
       
  1264 		return NULL;
       
  1265 	_err = SetMenuItemKeyGlyph(_self->ob_itself,
       
  1266 	                           inItem,
       
  1267 	                           inGlyph);
       
  1268 	if (_err != noErr) return PyMac_Error(_err);
       
  1269 	Py_INCREF(Py_None);
       
  1270 	_res = Py_None;
       
  1271 	return _res;
       
  1272 }
       
  1273 
       
  1274 static PyObject *MenuObj_GetMenuItemKeyGlyph(MenuObject *_self, PyObject *_args)
       
  1275 {
       
  1276 	PyObject *_res = NULL;
       
  1277 	OSErr _err;
       
  1278 	SInt16 inItem;
       
  1279 	SInt16 outGlyph;
       
  1280 #ifndef GetMenuItemKeyGlyph
       
  1281 	PyMac_PRECHECK(GetMenuItemKeyGlyph);
       
  1282 #endif
       
  1283 	if (!PyArg_ParseTuple(_args, "h",
       
  1284 	                      &inItem))
       
  1285 		return NULL;
       
  1286 	_err = GetMenuItemKeyGlyph(_self->ob_itself,
       
  1287 	                           inItem,
       
  1288 	                           &outGlyph);
       
  1289 	if (_err != noErr) return PyMac_Error(_err);
       
  1290 	_res = Py_BuildValue("h",
       
  1291 	                     outGlyph);
       
  1292 	return _res;
       
  1293 }
       
  1294 
       
  1295 static PyObject *MenuObj_MacEnableMenuItem(MenuObject *_self, PyObject *_args)
       
  1296 {
       
  1297 	PyObject *_res = NULL;
       
  1298 	MenuItemIndex item;
       
  1299 #ifndef MacEnableMenuItem
       
  1300 	PyMac_PRECHECK(MacEnableMenuItem);
       
  1301 #endif
       
  1302 	if (!PyArg_ParseTuple(_args, "h",
       
  1303 	                      &item))
       
  1304 		return NULL;
       
  1305 	MacEnableMenuItem(_self->ob_itself,
       
  1306 	                  item);
       
  1307 	Py_INCREF(Py_None);
       
  1308 	_res = Py_None;
       
  1309 	return _res;
       
  1310 }
       
  1311 
       
  1312 static PyObject *MenuObj_DisableMenuItem(MenuObject *_self, PyObject *_args)
       
  1313 {
       
  1314 	PyObject *_res = NULL;
       
  1315 	MenuItemIndex item;
       
  1316 #ifndef DisableMenuItem
       
  1317 	PyMac_PRECHECK(DisableMenuItem);
       
  1318 #endif
       
  1319 	if (!PyArg_ParseTuple(_args, "h",
       
  1320 	                      &item))
       
  1321 		return NULL;
       
  1322 	DisableMenuItem(_self->ob_itself,
       
  1323 	                item);
       
  1324 	Py_INCREF(Py_None);
       
  1325 	_res = Py_None;
       
  1326 	return _res;
       
  1327 }
       
  1328 
       
  1329 static PyObject *MenuObj_IsMenuItemEnabled(MenuObject *_self, PyObject *_args)
       
  1330 {
       
  1331 	PyObject *_res = NULL;
       
  1332 	Boolean _rv;
       
  1333 	MenuItemIndex item;
       
  1334 #ifndef IsMenuItemEnabled
       
  1335 	PyMac_PRECHECK(IsMenuItemEnabled);
       
  1336 #endif
       
  1337 	if (!PyArg_ParseTuple(_args, "h",
       
  1338 	                      &item))
       
  1339 		return NULL;
       
  1340 	_rv = IsMenuItemEnabled(_self->ob_itself,
       
  1341 	                        item);
       
  1342 	_res = Py_BuildValue("b",
       
  1343 	                     _rv);
       
  1344 	return _res;
       
  1345 }
       
  1346 
       
  1347 static PyObject *MenuObj_EnableMenuItemIcon(MenuObject *_self, PyObject *_args)
       
  1348 {
       
  1349 	PyObject *_res = NULL;
       
  1350 	MenuItemIndex item;
       
  1351 #ifndef EnableMenuItemIcon
       
  1352 	PyMac_PRECHECK(EnableMenuItemIcon);
       
  1353 #endif
       
  1354 	if (!PyArg_ParseTuple(_args, "h",
       
  1355 	                      &item))
       
  1356 		return NULL;
       
  1357 	EnableMenuItemIcon(_self->ob_itself,
       
  1358 	                   item);
       
  1359 	Py_INCREF(Py_None);
       
  1360 	_res = Py_None;
       
  1361 	return _res;
       
  1362 }
       
  1363 
       
  1364 static PyObject *MenuObj_DisableMenuItemIcon(MenuObject *_self, PyObject *_args)
       
  1365 {
       
  1366 	PyObject *_res = NULL;
       
  1367 	MenuItemIndex item;
       
  1368 #ifndef DisableMenuItemIcon
       
  1369 	PyMac_PRECHECK(DisableMenuItemIcon);
       
  1370 #endif
       
  1371 	if (!PyArg_ParseTuple(_args, "h",
       
  1372 	                      &item))
       
  1373 		return NULL;
       
  1374 	DisableMenuItemIcon(_self->ob_itself,
       
  1375 	                    item);
       
  1376 	Py_INCREF(Py_None);
       
  1377 	_res = Py_None;
       
  1378 	return _res;
       
  1379 }
       
  1380 
       
  1381 static PyObject *MenuObj_IsMenuItemIconEnabled(MenuObject *_self, PyObject *_args)
       
  1382 {
       
  1383 	PyObject *_res = NULL;
       
  1384 	Boolean _rv;
       
  1385 	MenuItemIndex item;
       
  1386 #ifndef IsMenuItemIconEnabled
       
  1387 	PyMac_PRECHECK(IsMenuItemIconEnabled);
       
  1388 #endif
       
  1389 	if (!PyArg_ParseTuple(_args, "h",
       
  1390 	                      &item))
       
  1391 		return NULL;
       
  1392 	_rv = IsMenuItemIconEnabled(_self->ob_itself,
       
  1393 	                            item);
       
  1394 	_res = Py_BuildValue("b",
       
  1395 	                     _rv);
       
  1396 	return _res;
       
  1397 }
       
  1398 
       
  1399 static PyObject *MenuObj_SetMenuItemHierarchicalMenu(MenuObject *_self, PyObject *_args)
       
  1400 {
       
  1401 	PyObject *_res = NULL;
       
  1402 	OSStatus _err;
       
  1403 	MenuItemIndex inItem;
       
  1404 	MenuHandle inHierMenu;
       
  1405 #ifndef SetMenuItemHierarchicalMenu
       
  1406 	PyMac_PRECHECK(SetMenuItemHierarchicalMenu);
       
  1407 #endif
       
  1408 	if (!PyArg_ParseTuple(_args, "hO&",
       
  1409 	                      &inItem,
       
  1410 	                      MenuObj_Convert, &inHierMenu))
       
  1411 		return NULL;
       
  1412 	_err = SetMenuItemHierarchicalMenu(_self->ob_itself,
       
  1413 	                                   inItem,
       
  1414 	                                   inHierMenu);
       
  1415 	if (_err != noErr) return PyMac_Error(_err);
       
  1416 	Py_INCREF(Py_None);
       
  1417 	_res = Py_None;
       
  1418 	return _res;
       
  1419 }
       
  1420 
       
  1421 static PyObject *MenuObj_GetMenuItemHierarchicalMenu(MenuObject *_self, PyObject *_args)
       
  1422 {
       
  1423 	PyObject *_res = NULL;
       
  1424 	OSStatus _err;
       
  1425 	MenuItemIndex inItem;
       
  1426 	MenuHandle outHierMenu;
       
  1427 #ifndef GetMenuItemHierarchicalMenu
       
  1428 	PyMac_PRECHECK(GetMenuItemHierarchicalMenu);
       
  1429 #endif
       
  1430 	if (!PyArg_ParseTuple(_args, "h",
       
  1431 	                      &inItem))
       
  1432 		return NULL;
       
  1433 	_err = GetMenuItemHierarchicalMenu(_self->ob_itself,
       
  1434 	                                   inItem,
       
  1435 	                                   &outHierMenu);
       
  1436 	if (_err != noErr) return PyMac_Error(_err);
       
  1437 	_res = Py_BuildValue("O&",
       
  1438 	                     OptMenuObj_New, outHierMenu);
       
  1439 	return _res;
       
  1440 }
       
  1441 
       
  1442 static PyObject *MenuObj_CopyMenuItemTextAsCFString(MenuObject *_self, PyObject *_args)
       
  1443 {
       
  1444 	PyObject *_res = NULL;
       
  1445 	OSStatus _err;
       
  1446 	MenuItemIndex inItem;
       
  1447 	CFStringRef outString;
       
  1448 #ifndef CopyMenuItemTextAsCFString
       
  1449 	PyMac_PRECHECK(CopyMenuItemTextAsCFString);
       
  1450 #endif
       
  1451 	if (!PyArg_ParseTuple(_args, "h",
       
  1452 	                      &inItem))
       
  1453 		return NULL;
       
  1454 	_err = CopyMenuItemTextAsCFString(_self->ob_itself,
       
  1455 	                                  inItem,
       
  1456 	                                  &outString);
       
  1457 	if (_err != noErr) return PyMac_Error(_err);
       
  1458 	_res = Py_BuildValue("O&",
       
  1459 	                     CFStringRefObj_New, outString);
       
  1460 	return _res;
       
  1461 }
       
  1462 
       
  1463 static PyObject *MenuObj_SetMenuItemTextWithCFString(MenuObject *_self, PyObject *_args)
       
  1464 {
       
  1465 	PyObject *_res = NULL;
       
  1466 	OSStatus _err;
       
  1467 	MenuItemIndex inItem;
       
  1468 	CFStringRef inString;
       
  1469 #ifndef SetMenuItemTextWithCFString
       
  1470 	PyMac_PRECHECK(SetMenuItemTextWithCFString);
       
  1471 #endif
       
  1472 	if (!PyArg_ParseTuple(_args, "hO&",
       
  1473 	                      &inItem,
       
  1474 	                      CFStringRefObj_Convert, &inString))
       
  1475 		return NULL;
       
  1476 	_err = SetMenuItemTextWithCFString(_self->ob_itself,
       
  1477 	                                   inItem,
       
  1478 	                                   inString);
       
  1479 	if (_err != noErr) return PyMac_Error(_err);
       
  1480 	Py_INCREF(Py_None);
       
  1481 	_res = Py_None;
       
  1482 	return _res;
       
  1483 }
       
  1484 
       
  1485 static PyObject *MenuObj_GetMenuItemIndent(MenuObject *_self, PyObject *_args)
       
  1486 {
       
  1487 	PyObject *_res = NULL;
       
  1488 	OSStatus _err;
       
  1489 	MenuItemIndex inItem;
       
  1490 	UInt32 outIndent;
       
  1491 #ifndef GetMenuItemIndent
       
  1492 	PyMac_PRECHECK(GetMenuItemIndent);
       
  1493 #endif
       
  1494 	if (!PyArg_ParseTuple(_args, "h",
       
  1495 	                      &inItem))
       
  1496 		return NULL;
       
  1497 	_err = GetMenuItemIndent(_self->ob_itself,
       
  1498 	                         inItem,
       
  1499 	                         &outIndent);
       
  1500 	if (_err != noErr) return PyMac_Error(_err);
       
  1501 	_res = Py_BuildValue("l",
       
  1502 	                     outIndent);
       
  1503 	return _res;
       
  1504 }
       
  1505 
       
  1506 static PyObject *MenuObj_SetMenuItemIndent(MenuObject *_self, PyObject *_args)
       
  1507 {
       
  1508 	PyObject *_res = NULL;
       
  1509 	OSStatus _err;
       
  1510 	MenuItemIndex inItem;
       
  1511 	UInt32 inIndent;
       
  1512 #ifndef SetMenuItemIndent
       
  1513 	PyMac_PRECHECK(SetMenuItemIndent);
       
  1514 #endif
       
  1515 	if (!PyArg_ParseTuple(_args, "hl",
       
  1516 	                      &inItem,
       
  1517 	                      &inIndent))
       
  1518 		return NULL;
       
  1519 	_err = SetMenuItemIndent(_self->ob_itself,
       
  1520 	                         inItem,
       
  1521 	                         inIndent);
       
  1522 	if (_err != noErr) return PyMac_Error(_err);
       
  1523 	Py_INCREF(Py_None);
       
  1524 	_res = Py_None;
       
  1525 	return _res;
       
  1526 }
       
  1527 
       
  1528 static PyObject *MenuObj_GetMenuItemCommandKey(MenuObject *_self, PyObject *_args)
       
  1529 {
       
  1530 	PyObject *_res = NULL;
       
  1531 	OSStatus _err;
       
  1532 	MenuItemIndex inItem;
       
  1533 	Boolean inGetVirtualKey;
       
  1534 	UInt16 outKey;
       
  1535 #ifndef GetMenuItemCommandKey
       
  1536 	PyMac_PRECHECK(GetMenuItemCommandKey);
       
  1537 #endif
       
  1538 	if (!PyArg_ParseTuple(_args, "hb",
       
  1539 	                      &inItem,
       
  1540 	                      &inGetVirtualKey))
       
  1541 		return NULL;
       
  1542 	_err = GetMenuItemCommandKey(_self->ob_itself,
       
  1543 	                             inItem,
       
  1544 	                             inGetVirtualKey,
       
  1545 	                             &outKey);
       
  1546 	if (_err != noErr) return PyMac_Error(_err);
       
  1547 	_res = Py_BuildValue("H",
       
  1548 	                     outKey);
       
  1549 	return _res;
       
  1550 }
       
  1551 
       
  1552 static PyObject *MenuObj_SetMenuItemCommandKey(MenuObject *_self, PyObject *_args)
       
  1553 {
       
  1554 	PyObject *_res = NULL;
       
  1555 	OSStatus _err;
       
  1556 	MenuItemIndex inItem;
       
  1557 	Boolean inSetVirtualKey;
       
  1558 	UInt16 inKey;
       
  1559 #ifndef SetMenuItemCommandKey
       
  1560 	PyMac_PRECHECK(SetMenuItemCommandKey);
       
  1561 #endif
       
  1562 	if (!PyArg_ParseTuple(_args, "hbH",
       
  1563 	                      &inItem,
       
  1564 	                      &inSetVirtualKey,
       
  1565 	                      &inKey))
       
  1566 		return NULL;
       
  1567 	_err = SetMenuItemCommandKey(_self->ob_itself,
       
  1568 	                             inItem,
       
  1569 	                             inSetVirtualKey,
       
  1570 	                             inKey);
       
  1571 	if (_err != noErr) return PyMac_Error(_err);
       
  1572 	Py_INCREF(Py_None);
       
  1573 	_res = Py_None;
       
  1574 	return _res;
       
  1575 }
       
  1576 
       
  1577 static PyObject *MenuObj_GetMenuItemPropertyAttributes(MenuObject *_self, PyObject *_args)
       
  1578 {
       
  1579 	PyObject *_res = NULL;
       
  1580 	OSStatus _err;
       
  1581 	MenuItemIndex item;
       
  1582 	OSType propertyCreator;
       
  1583 	OSType propertyTag;
       
  1584 	UInt32 attributes;
       
  1585 #ifndef GetMenuItemPropertyAttributes
       
  1586 	PyMac_PRECHECK(GetMenuItemPropertyAttributes);
       
  1587 #endif
       
  1588 	if (!PyArg_ParseTuple(_args, "hO&O&",
       
  1589 	                      &item,
       
  1590 	                      PyMac_GetOSType, &propertyCreator,
       
  1591 	                      PyMac_GetOSType, &propertyTag))
       
  1592 		return NULL;
       
  1593 	_err = GetMenuItemPropertyAttributes(_self->ob_itself,
       
  1594 	                                     item,
       
  1595 	                                     propertyCreator,
       
  1596 	                                     propertyTag,
       
  1597 	                                     &attributes);
       
  1598 	if (_err != noErr) return PyMac_Error(_err);
       
  1599 	_res = Py_BuildValue("l",
       
  1600 	                     attributes);
       
  1601 	return _res;
       
  1602 }
       
  1603 
       
  1604 static PyObject *MenuObj_ChangeMenuItemPropertyAttributes(MenuObject *_self, PyObject *_args)
       
  1605 {
       
  1606 	PyObject *_res = NULL;
       
  1607 	OSStatus _err;
       
  1608 	MenuItemIndex item;
       
  1609 	OSType propertyCreator;
       
  1610 	OSType propertyTag;
       
  1611 	UInt32 attributesToSet;
       
  1612 	UInt32 attributesToClear;
       
  1613 #ifndef ChangeMenuItemPropertyAttributes
       
  1614 	PyMac_PRECHECK(ChangeMenuItemPropertyAttributes);
       
  1615 #endif
       
  1616 	if (!PyArg_ParseTuple(_args, "hO&O&ll",
       
  1617 	                      &item,
       
  1618 	                      PyMac_GetOSType, &propertyCreator,
       
  1619 	                      PyMac_GetOSType, &propertyTag,
       
  1620 	                      &attributesToSet,
       
  1621 	                      &attributesToClear))
       
  1622 		return NULL;
       
  1623 	_err = ChangeMenuItemPropertyAttributes(_self->ob_itself,
       
  1624 	                                        item,
       
  1625 	                                        propertyCreator,
       
  1626 	                                        propertyTag,
       
  1627 	                                        attributesToSet,
       
  1628 	                                        attributesToClear);
       
  1629 	if (_err != noErr) return PyMac_Error(_err);
       
  1630 	Py_INCREF(Py_None);
       
  1631 	_res = Py_None;
       
  1632 	return _res;
       
  1633 }
       
  1634 
       
  1635 static PyObject *MenuObj_GetMenuAttributes(MenuObject *_self, PyObject *_args)
       
  1636 {
       
  1637 	PyObject *_res = NULL;
       
  1638 	OSStatus _err;
       
  1639 	MenuAttributes outAttributes;
       
  1640 #ifndef GetMenuAttributes
       
  1641 	PyMac_PRECHECK(GetMenuAttributes);
       
  1642 #endif
       
  1643 	if (!PyArg_ParseTuple(_args, ""))
       
  1644 		return NULL;
       
  1645 	_err = GetMenuAttributes(_self->ob_itself,
       
  1646 	                         &outAttributes);
       
  1647 	if (_err != noErr) return PyMac_Error(_err);
       
  1648 	_res = Py_BuildValue("l",
       
  1649 	                     outAttributes);
       
  1650 	return _res;
       
  1651 }
       
  1652 
       
  1653 static PyObject *MenuObj_ChangeMenuAttributes(MenuObject *_self, PyObject *_args)
       
  1654 {
       
  1655 	PyObject *_res = NULL;
       
  1656 	OSStatus _err;
       
  1657 	MenuAttributes setTheseAttributes;
       
  1658 	MenuAttributes clearTheseAttributes;
       
  1659 #ifndef ChangeMenuAttributes
       
  1660 	PyMac_PRECHECK(ChangeMenuAttributes);
       
  1661 #endif
       
  1662 	if (!PyArg_ParseTuple(_args, "ll",
       
  1663 	                      &setTheseAttributes,
       
  1664 	                      &clearTheseAttributes))
       
  1665 		return NULL;
       
  1666 	_err = ChangeMenuAttributes(_self->ob_itself,
       
  1667 	                            setTheseAttributes,
       
  1668 	                            clearTheseAttributes);
       
  1669 	if (_err != noErr) return PyMac_Error(_err);
       
  1670 	Py_INCREF(Py_None);
       
  1671 	_res = Py_None;
       
  1672 	return _res;
       
  1673 }
       
  1674 
       
  1675 static PyObject *MenuObj_GetMenuItemAttributes(MenuObject *_self, PyObject *_args)
       
  1676 {
       
  1677 	PyObject *_res = NULL;
       
  1678 	OSStatus _err;
       
  1679 	MenuItemIndex item;
       
  1680 	MenuItemAttributes outAttributes;
       
  1681 #ifndef GetMenuItemAttributes
       
  1682 	PyMac_PRECHECK(GetMenuItemAttributes);
       
  1683 #endif
       
  1684 	if (!PyArg_ParseTuple(_args, "h",
       
  1685 	                      &item))
       
  1686 		return NULL;
       
  1687 	_err = GetMenuItemAttributes(_self->ob_itself,
       
  1688 	                             item,
       
  1689 	                             &outAttributes);
       
  1690 	if (_err != noErr) return PyMac_Error(_err);
       
  1691 	_res = Py_BuildValue("l",
       
  1692 	                     outAttributes);
       
  1693 	return _res;
       
  1694 }
       
  1695 
       
  1696 static PyObject *MenuObj_ChangeMenuItemAttributes(MenuObject *_self, PyObject *_args)
       
  1697 {
       
  1698 	PyObject *_res = NULL;
       
  1699 	OSStatus _err;
       
  1700 	MenuItemIndex item;
       
  1701 	MenuItemAttributes setTheseAttributes;
       
  1702 	MenuItemAttributes clearTheseAttributes;
       
  1703 #ifndef ChangeMenuItemAttributes
       
  1704 	PyMac_PRECHECK(ChangeMenuItemAttributes);
       
  1705 #endif
       
  1706 	if (!PyArg_ParseTuple(_args, "hll",
       
  1707 	                      &item,
       
  1708 	                      &setTheseAttributes,
       
  1709 	                      &clearTheseAttributes))
       
  1710 		return NULL;
       
  1711 	_err = ChangeMenuItemAttributes(_self->ob_itself,
       
  1712 	                                item,
       
  1713 	                                setTheseAttributes,
       
  1714 	                                clearTheseAttributes);
       
  1715 	if (_err != noErr) return PyMac_Error(_err);
       
  1716 	Py_INCREF(Py_None);
       
  1717 	_res = Py_None;
       
  1718 	return _res;
       
  1719 }
       
  1720 
       
  1721 static PyObject *MenuObj_DisableAllMenuItems(MenuObject *_self, PyObject *_args)
       
  1722 {
       
  1723 	PyObject *_res = NULL;
       
  1724 #ifndef DisableAllMenuItems
       
  1725 	PyMac_PRECHECK(DisableAllMenuItems);
       
  1726 #endif
       
  1727 	if (!PyArg_ParseTuple(_args, ""))
       
  1728 		return NULL;
       
  1729 	DisableAllMenuItems(_self->ob_itself);
       
  1730 	Py_INCREF(Py_None);
       
  1731 	_res = Py_None;
       
  1732 	return _res;
       
  1733 }
       
  1734 
       
  1735 static PyObject *MenuObj_EnableAllMenuItems(MenuObject *_self, PyObject *_args)
       
  1736 {
       
  1737 	PyObject *_res = NULL;
       
  1738 #ifndef EnableAllMenuItems
       
  1739 	PyMac_PRECHECK(EnableAllMenuItems);
       
  1740 #endif
       
  1741 	if (!PyArg_ParseTuple(_args, ""))
       
  1742 		return NULL;
       
  1743 	EnableAllMenuItems(_self->ob_itself);
       
  1744 	Py_INCREF(Py_None);
       
  1745 	_res = Py_None;
       
  1746 	return _res;
       
  1747 }
       
  1748 
       
  1749 static PyObject *MenuObj_MenuHasEnabledItems(MenuObject *_self, PyObject *_args)
       
  1750 {
       
  1751 	PyObject *_res = NULL;
       
  1752 	Boolean _rv;
       
  1753 #ifndef MenuHasEnabledItems
       
  1754 	PyMac_PRECHECK(MenuHasEnabledItems);
       
  1755 #endif
       
  1756 	if (!PyArg_ParseTuple(_args, ""))
       
  1757 		return NULL;
       
  1758 	_rv = MenuHasEnabledItems(_self->ob_itself);
       
  1759 	_res = Py_BuildValue("b",
       
  1760 	                     _rv);
       
  1761 	return _res;
       
  1762 }
       
  1763 
       
  1764 static PyObject *MenuObj_GetMenuType(MenuObject *_self, PyObject *_args)
       
  1765 {
       
  1766 	PyObject *_res = NULL;
       
  1767 	OSStatus _err;
       
  1768 	UInt16 outType;
       
  1769 #ifndef GetMenuType
       
  1770 	PyMac_PRECHECK(GetMenuType);
       
  1771 #endif
       
  1772 	if (!PyArg_ParseTuple(_args, ""))
       
  1773 		return NULL;
       
  1774 	_err = GetMenuType(_self->ob_itself,
       
  1775 	                   &outType);
       
  1776 	if (_err != noErr) return PyMac_Error(_err);
       
  1777 	_res = Py_BuildValue("H",
       
  1778 	                     outType);
       
  1779 	return _res;
       
  1780 }
       
  1781 
       
  1782 static PyObject *MenuObj_CountMenuItemsWithCommandID(MenuObject *_self, PyObject *_args)
       
  1783 {
       
  1784 	PyObject *_res = NULL;
       
  1785 	ItemCount _rv;
       
  1786 	MenuCommand inCommandID;
       
  1787 #ifndef CountMenuItemsWithCommandID
       
  1788 	PyMac_PRECHECK(CountMenuItemsWithCommandID);
       
  1789 #endif
       
  1790 	if (!PyArg_ParseTuple(_args, "l",
       
  1791 	                      &inCommandID))
       
  1792 		return NULL;
       
  1793 	_rv = CountMenuItemsWithCommandID(_self->ob_itself,
       
  1794 	                                  inCommandID);
       
  1795 	_res = Py_BuildValue("l",
       
  1796 	                     _rv);
       
  1797 	return _res;
       
  1798 }
       
  1799 
       
  1800 static PyObject *MenuObj_GetIndMenuItemWithCommandID(MenuObject *_self, PyObject *_args)
       
  1801 {
       
  1802 	PyObject *_res = NULL;
       
  1803 	OSStatus _err;
       
  1804 	MenuCommand inCommandID;
       
  1805 	UInt32 inItemIndex;
       
  1806 	MenuHandle outMenu;
       
  1807 	MenuItemIndex outIndex;
       
  1808 #ifndef GetIndMenuItemWithCommandID
       
  1809 	PyMac_PRECHECK(GetIndMenuItemWithCommandID);
       
  1810 #endif
       
  1811 	if (!PyArg_ParseTuple(_args, "ll",
       
  1812 	                      &inCommandID,
       
  1813 	                      &inItemIndex))
       
  1814 		return NULL;
       
  1815 	_err = GetIndMenuItemWithCommandID(_self->ob_itself,
       
  1816 	                                   inCommandID,
       
  1817 	                                   inItemIndex,
       
  1818 	                                   &outMenu,
       
  1819 	                                   &outIndex);
       
  1820 	if (_err != noErr) return PyMac_Error(_err);
       
  1821 	_res = Py_BuildValue("O&h",
       
  1822 	                     MenuObj_New, outMenu,
       
  1823 	                     outIndex);
       
  1824 	return _res;
       
  1825 }
       
  1826 
       
  1827 static PyObject *MenuObj_EnableMenuCommand(MenuObject *_self, PyObject *_args)
       
  1828 {
       
  1829 	PyObject *_res = NULL;
       
  1830 	MenuCommand inCommandID;
       
  1831 #ifndef EnableMenuCommand
       
  1832 	PyMac_PRECHECK(EnableMenuCommand);
       
  1833 #endif
       
  1834 	if (!PyArg_ParseTuple(_args, "l",
       
  1835 	                      &inCommandID))
       
  1836 		return NULL;
       
  1837 	EnableMenuCommand(_self->ob_itself,
       
  1838 	                  inCommandID);
       
  1839 	Py_INCREF(Py_None);
       
  1840 	_res = Py_None;
       
  1841 	return _res;
       
  1842 }
       
  1843 
       
  1844 static PyObject *MenuObj_DisableMenuCommand(MenuObject *_self, PyObject *_args)
       
  1845 {
       
  1846 	PyObject *_res = NULL;
       
  1847 	MenuCommand inCommandID;
       
  1848 #ifndef DisableMenuCommand
       
  1849 	PyMac_PRECHECK(DisableMenuCommand);
       
  1850 #endif
       
  1851 	if (!PyArg_ParseTuple(_args, "l",
       
  1852 	                      &inCommandID))
       
  1853 		return NULL;
       
  1854 	DisableMenuCommand(_self->ob_itself,
       
  1855 	                   inCommandID);
       
  1856 	Py_INCREF(Py_None);
       
  1857 	_res = Py_None;
       
  1858 	return _res;
       
  1859 }
       
  1860 
       
  1861 static PyObject *MenuObj_IsMenuCommandEnabled(MenuObject *_self, PyObject *_args)
       
  1862 {
       
  1863 	PyObject *_res = NULL;
       
  1864 	Boolean _rv;
       
  1865 	MenuCommand inCommandID;
       
  1866 #ifndef IsMenuCommandEnabled
       
  1867 	PyMac_PRECHECK(IsMenuCommandEnabled);
       
  1868 #endif
       
  1869 	if (!PyArg_ParseTuple(_args, "l",
       
  1870 	                      &inCommandID))
       
  1871 		return NULL;
       
  1872 	_rv = IsMenuCommandEnabled(_self->ob_itself,
       
  1873 	                           inCommandID);
       
  1874 	_res = Py_BuildValue("b",
       
  1875 	                     _rv);
       
  1876 	return _res;
       
  1877 }
       
  1878 
       
  1879 static PyObject *MenuObj_SetMenuCommandMark(MenuObject *_self, PyObject *_args)
       
  1880 {
       
  1881 	PyObject *_res = NULL;
       
  1882 	OSStatus _err;
       
  1883 	MenuCommand inCommandID;
       
  1884 	UniChar inMark;
       
  1885 #ifndef SetMenuCommandMark
       
  1886 	PyMac_PRECHECK(SetMenuCommandMark);
       
  1887 #endif
       
  1888 	if (!PyArg_ParseTuple(_args, "lh",
       
  1889 	                      &inCommandID,
       
  1890 	                      &inMark))
       
  1891 		return NULL;
       
  1892 	_err = SetMenuCommandMark(_self->ob_itself,
       
  1893 	                          inCommandID,
       
  1894 	                          inMark);
       
  1895 	if (_err != noErr) return PyMac_Error(_err);
       
  1896 	Py_INCREF(Py_None);
       
  1897 	_res = Py_None;
       
  1898 	return _res;
       
  1899 }
       
  1900 
       
  1901 static PyObject *MenuObj_GetMenuCommandMark(MenuObject *_self, PyObject *_args)
       
  1902 {
       
  1903 	PyObject *_res = NULL;
       
  1904 	OSStatus _err;
       
  1905 	MenuCommand inCommandID;
       
  1906 	UniChar outMark;
       
  1907 #ifndef GetMenuCommandMark
       
  1908 	PyMac_PRECHECK(GetMenuCommandMark);
       
  1909 #endif
       
  1910 	if (!PyArg_ParseTuple(_args, "l",
       
  1911 	                      &inCommandID))
       
  1912 		return NULL;
       
  1913 	_err = GetMenuCommandMark(_self->ob_itself,
       
  1914 	                          inCommandID,
       
  1915 	                          &outMark);
       
  1916 	if (_err != noErr) return PyMac_Error(_err);
       
  1917 	_res = Py_BuildValue("h",
       
  1918 	                     outMark);
       
  1919 	return _res;
       
  1920 }
       
  1921 
       
  1922 static PyObject *MenuObj_GetMenuCommandPropertySize(MenuObject *_self, PyObject *_args)
       
  1923 {
       
  1924 	PyObject *_res = NULL;
       
  1925 	OSStatus _err;
       
  1926 	MenuCommand inCommandID;
       
  1927 	OSType inPropertyCreator;
       
  1928 	OSType inPropertyTag;
       
  1929 	ByteCount outSize;
       
  1930 #ifndef GetMenuCommandPropertySize
       
  1931 	PyMac_PRECHECK(GetMenuCommandPropertySize);
       
  1932 #endif
       
  1933 	if (!PyArg_ParseTuple(_args, "lO&O&",
       
  1934 	                      &inCommandID,
       
  1935 	                      PyMac_GetOSType, &inPropertyCreator,
       
  1936 	                      PyMac_GetOSType, &inPropertyTag))
       
  1937 		return NULL;
       
  1938 	_err = GetMenuCommandPropertySize(_self->ob_itself,
       
  1939 	                                  inCommandID,
       
  1940 	                                  inPropertyCreator,
       
  1941 	                                  inPropertyTag,
       
  1942 	                                  &outSize);
       
  1943 	if (_err != noErr) return PyMac_Error(_err);
       
  1944 	_res = Py_BuildValue("l",
       
  1945 	                     outSize);
       
  1946 	return _res;
       
  1947 }
       
  1948 
       
  1949 static PyObject *MenuObj_RemoveMenuCommandProperty(MenuObject *_self, PyObject *_args)
       
  1950 {
       
  1951 	PyObject *_res = NULL;
       
  1952 	OSStatus _err;
       
  1953 	MenuCommand inCommandID;
       
  1954 	OSType inPropertyCreator;
       
  1955 	OSType inPropertyTag;
       
  1956 #ifndef RemoveMenuCommandProperty
       
  1957 	PyMac_PRECHECK(RemoveMenuCommandProperty);
       
  1958 #endif
       
  1959 	if (!PyArg_ParseTuple(_args, "lO&O&",
       
  1960 	                      &inCommandID,
       
  1961 	                      PyMac_GetOSType, &inPropertyCreator,
       
  1962 	                      PyMac_GetOSType, &inPropertyTag))
       
  1963 		return NULL;
       
  1964 	_err = RemoveMenuCommandProperty(_self->ob_itself,
       
  1965 	                                 inCommandID,
       
  1966 	                                 inPropertyCreator,
       
  1967 	                                 inPropertyTag);
       
  1968 	if (_err != noErr) return PyMac_Error(_err);
       
  1969 	Py_INCREF(Py_None);
       
  1970 	_res = Py_None;
       
  1971 	return _res;
       
  1972 }
       
  1973 
       
  1974 static PyObject *MenuObj_IsMenuItemInvalid(MenuObject *_self, PyObject *_args)
       
  1975 {
       
  1976 	PyObject *_res = NULL;
       
  1977 	Boolean _rv;
       
  1978 	MenuItemIndex inItem;
       
  1979 #ifndef IsMenuItemInvalid
       
  1980 	PyMac_PRECHECK(IsMenuItemInvalid);
       
  1981 #endif
       
  1982 	if (!PyArg_ParseTuple(_args, "h",
       
  1983 	                      &inItem))
       
  1984 		return NULL;
       
  1985 	_rv = IsMenuItemInvalid(_self->ob_itself,
       
  1986 	                        inItem);
       
  1987 	_res = Py_BuildValue("b",
       
  1988 	                     _rv);
       
  1989 	return _res;
       
  1990 }
       
  1991 
       
  1992 static PyObject *MenuObj_InvalidateMenuItems(MenuObject *_self, PyObject *_args)
       
  1993 {
       
  1994 	PyObject *_res = NULL;
       
  1995 	OSStatus _err;
       
  1996 	MenuItemIndex inFirstItem;
       
  1997 	ItemCount inNumItems;
       
  1998 #ifndef InvalidateMenuItems
       
  1999 	PyMac_PRECHECK(InvalidateMenuItems);
       
  2000 #endif
       
  2001 	if (!PyArg_ParseTuple(_args, "hl",
       
  2002 	                      &inFirstItem,
       
  2003 	                      &inNumItems))
       
  2004 		return NULL;
       
  2005 	_err = InvalidateMenuItems(_self->ob_itself,
       
  2006 	                           inFirstItem,
       
  2007 	                           inNumItems);
       
  2008 	if (_err != noErr) return PyMac_Error(_err);
       
  2009 	Py_INCREF(Py_None);
       
  2010 	_res = Py_None;
       
  2011 	return _res;
       
  2012 }
       
  2013 
       
  2014 static PyObject *MenuObj_UpdateInvalidMenuItems(MenuObject *_self, PyObject *_args)
       
  2015 {
       
  2016 	PyObject *_res = NULL;
       
  2017 	OSStatus _err;
       
  2018 #ifndef UpdateInvalidMenuItems
       
  2019 	PyMac_PRECHECK(UpdateInvalidMenuItems);
       
  2020 #endif
       
  2021 	if (!PyArg_ParseTuple(_args, ""))
       
  2022 		return NULL;
       
  2023 	_err = UpdateInvalidMenuItems(_self->ob_itself);
       
  2024 	if (_err != noErr) return PyMac_Error(_err);
       
  2025 	Py_INCREF(Py_None);
       
  2026 	_res = Py_None;
       
  2027 	return _res;
       
  2028 }
       
  2029 
       
  2030 static PyObject *MenuObj_CreateStandardFontMenu(MenuObject *_self, PyObject *_args)
       
  2031 {
       
  2032 	PyObject *_res = NULL;
       
  2033 	OSStatus _err;
       
  2034 	MenuItemIndex afterItem;
       
  2035 	MenuID firstHierMenuID;
       
  2036 	OptionBits options;
       
  2037 	ItemCount outHierMenuCount;
       
  2038 #ifndef CreateStandardFontMenu
       
  2039 	PyMac_PRECHECK(CreateStandardFontMenu);
       
  2040 #endif
       
  2041 	if (!PyArg_ParseTuple(_args, "hhl",
       
  2042 	                      &afterItem,
       
  2043 	                      &firstHierMenuID,
       
  2044 	                      &options))
       
  2045 		return NULL;
       
  2046 	_err = CreateStandardFontMenu(_self->ob_itself,
       
  2047 	                              afterItem,
       
  2048 	                              firstHierMenuID,
       
  2049 	                              options,
       
  2050 	                              &outHierMenuCount);
       
  2051 	if (_err != noErr) return PyMac_Error(_err);
       
  2052 	_res = Py_BuildValue("l",
       
  2053 	                     outHierMenuCount);
       
  2054 	return _res;
       
  2055 }
       
  2056 
       
  2057 static PyObject *MenuObj_UpdateStandardFontMenu(MenuObject *_self, PyObject *_args)
       
  2058 {
       
  2059 	PyObject *_res = NULL;
       
  2060 	OSStatus _err;
       
  2061 	ItemCount outHierMenuCount;
       
  2062 #ifndef UpdateStandardFontMenu
       
  2063 	PyMac_PRECHECK(UpdateStandardFontMenu);
       
  2064 #endif
       
  2065 	if (!PyArg_ParseTuple(_args, ""))
       
  2066 		return NULL;
       
  2067 	_err = UpdateStandardFontMenu(_self->ob_itself,
       
  2068 	                              &outHierMenuCount);
       
  2069 	if (_err != noErr) return PyMac_Error(_err);
       
  2070 	_res = Py_BuildValue("l",
       
  2071 	                     outHierMenuCount);
       
  2072 	return _res;
       
  2073 }
       
  2074 
       
  2075 static PyObject *MenuObj_GetFontFamilyFromMenuSelection(MenuObject *_self, PyObject *_args)
       
  2076 {
       
  2077 	PyObject *_res = NULL;
       
  2078 	OSStatus _err;
       
  2079 	MenuItemIndex item;
       
  2080 	FMFontFamily outFontFamily;
       
  2081 	FMFontStyle outStyle;
       
  2082 #ifndef GetFontFamilyFromMenuSelection
       
  2083 	PyMac_PRECHECK(GetFontFamilyFromMenuSelection);
       
  2084 #endif
       
  2085 	if (!PyArg_ParseTuple(_args, "h",
       
  2086 	                      &item))
       
  2087 		return NULL;
       
  2088 	_err = GetFontFamilyFromMenuSelection(_self->ob_itself,
       
  2089 	                                      item,
       
  2090 	                                      &outFontFamily,
       
  2091 	                                      &outStyle);
       
  2092 	if (_err != noErr) return PyMac_Error(_err);
       
  2093 	_res = Py_BuildValue("hh",
       
  2094 	                     outFontFamily,
       
  2095 	                     outStyle);
       
  2096 	return _res;
       
  2097 }
       
  2098 
       
  2099 static PyObject *MenuObj_GetMenuID(MenuObject *_self, PyObject *_args)
       
  2100 {
       
  2101 	PyObject *_res = NULL;
       
  2102 	MenuID _rv;
       
  2103 #ifndef GetMenuID
       
  2104 	PyMac_PRECHECK(GetMenuID);
       
  2105 #endif
       
  2106 	if (!PyArg_ParseTuple(_args, ""))
       
  2107 		return NULL;
       
  2108 	_rv = GetMenuID(_self->ob_itself);
       
  2109 	_res = Py_BuildValue("h",
       
  2110 	                     _rv);
       
  2111 	return _res;
       
  2112 }
       
  2113 
       
  2114 static PyObject *MenuObj_GetMenuWidth(MenuObject *_self, PyObject *_args)
       
  2115 {
       
  2116 	PyObject *_res = NULL;
       
  2117 	SInt16 _rv;
       
  2118 #ifndef GetMenuWidth
       
  2119 	PyMac_PRECHECK(GetMenuWidth);
       
  2120 #endif
       
  2121 	if (!PyArg_ParseTuple(_args, ""))
       
  2122 		return NULL;
       
  2123 	_rv = GetMenuWidth(_self->ob_itself);
       
  2124 	_res = Py_BuildValue("h",
       
  2125 	                     _rv);
       
  2126 	return _res;
       
  2127 }
       
  2128 
       
  2129 static PyObject *MenuObj_GetMenuHeight(MenuObject *_self, PyObject *_args)
       
  2130 {
       
  2131 	PyObject *_res = NULL;
       
  2132 	SInt16 _rv;
       
  2133 #ifndef GetMenuHeight
       
  2134 	PyMac_PRECHECK(GetMenuHeight);
       
  2135 #endif
       
  2136 	if (!PyArg_ParseTuple(_args, ""))
       
  2137 		return NULL;
       
  2138 	_rv = GetMenuHeight(_self->ob_itself);
       
  2139 	_res = Py_BuildValue("h",
       
  2140 	                     _rv);
       
  2141 	return _res;
       
  2142 }
       
  2143 
       
  2144 static PyObject *MenuObj_SetMenuID(MenuObject *_self, PyObject *_args)
       
  2145 {
       
  2146 	PyObject *_res = NULL;
       
  2147 	MenuID menuID;
       
  2148 #ifndef SetMenuID
       
  2149 	PyMac_PRECHECK(SetMenuID);
       
  2150 #endif
       
  2151 	if (!PyArg_ParseTuple(_args, "h",
       
  2152 	                      &menuID))
       
  2153 		return NULL;
       
  2154 	SetMenuID(_self->ob_itself,
       
  2155 	          menuID);
       
  2156 	Py_INCREF(Py_None);
       
  2157 	_res = Py_None;
       
  2158 	return _res;
       
  2159 }
       
  2160 
       
  2161 static PyObject *MenuObj_SetMenuWidth(MenuObject *_self, PyObject *_args)
       
  2162 {
       
  2163 	PyObject *_res = NULL;
       
  2164 	SInt16 width;
       
  2165 #ifndef SetMenuWidth
       
  2166 	PyMac_PRECHECK(SetMenuWidth);
       
  2167 #endif
       
  2168 	if (!PyArg_ParseTuple(_args, "h",
       
  2169 	                      &width))
       
  2170 		return NULL;
       
  2171 	SetMenuWidth(_self->ob_itself,
       
  2172 	             width);
       
  2173 	Py_INCREF(Py_None);
       
  2174 	_res = Py_None;
       
  2175 	return _res;
       
  2176 }
       
  2177 
       
  2178 static PyObject *MenuObj_SetMenuHeight(MenuObject *_self, PyObject *_args)
       
  2179 {
       
  2180 	PyObject *_res = NULL;
       
  2181 	SInt16 height;
       
  2182 #ifndef SetMenuHeight
       
  2183 	PyMac_PRECHECK(SetMenuHeight);
       
  2184 #endif
       
  2185 	if (!PyArg_ParseTuple(_args, "h",
       
  2186 	                      &height))
       
  2187 		return NULL;
       
  2188 	SetMenuHeight(_self->ob_itself,
       
  2189 	              height);
       
  2190 	Py_INCREF(Py_None);
       
  2191 	_res = Py_None;
       
  2192 	return _res;
       
  2193 }
       
  2194 
       
  2195 static PyObject *MenuObj_as_Resource(MenuObject *_self, PyObject *_args)
       
  2196 {
       
  2197 	PyObject *_res = NULL;
       
  2198 	Handle _rv;
       
  2199 #ifndef as_Resource
       
  2200 	PyMac_PRECHECK(as_Resource);
       
  2201 #endif
       
  2202 	if (!PyArg_ParseTuple(_args, ""))
       
  2203 		return NULL;
       
  2204 	_rv = as_Resource(_self->ob_itself);
       
  2205 	_res = Py_BuildValue("O&",
       
  2206 	                     ResObj_New, _rv);
       
  2207 	return _res;
       
  2208 }
       
  2209 
       
  2210 static PyObject *MenuObj_AppendMenu(MenuObject *_self, PyObject *_args)
       
  2211 {
       
  2212 	PyObject *_res = NULL;
       
  2213 	Str255 data;
       
  2214 #ifndef AppendMenu
       
  2215 	PyMac_PRECHECK(AppendMenu);
       
  2216 #endif
       
  2217 	if (!PyArg_ParseTuple(_args, "O&",
       
  2218 	                      PyMac_GetStr255, data))
       
  2219 		return NULL;
       
  2220 	AppendMenu(_self->ob_itself,
       
  2221 	           data);
       
  2222 	Py_INCREF(Py_None);
       
  2223 	_res = Py_None;
       
  2224 	return _res;
       
  2225 }
       
  2226 
       
  2227 static PyObject *MenuObj_InsertMenu(MenuObject *_self, PyObject *_args)
       
  2228 {
       
  2229 	PyObject *_res = NULL;
       
  2230 	short beforeID;
       
  2231 #ifndef InsertMenu
       
  2232 	PyMac_PRECHECK(InsertMenu);
       
  2233 #endif
       
  2234 	if (!PyArg_ParseTuple(_args, "h",
       
  2235 	                      &beforeID))
       
  2236 		return NULL;
       
  2237 	InsertMenu(_self->ob_itself,
       
  2238 	           beforeID);
       
  2239 	Py_INCREF(Py_None);
       
  2240 	_res = Py_None;
       
  2241 	return _res;
       
  2242 }
       
  2243 
       
  2244 static PyObject *MenuObj_InsertMenuItem(MenuObject *_self, PyObject *_args)
       
  2245 {
       
  2246 	PyObject *_res = NULL;
       
  2247 	Str255 itemString;
       
  2248 	short afterItem;
       
  2249 #ifndef InsertMenuItem
       
  2250 	PyMac_PRECHECK(InsertMenuItem);
       
  2251 #endif
       
  2252 	if (!PyArg_ParseTuple(_args, "O&h",
       
  2253 	                      PyMac_GetStr255, itemString,
       
  2254 	                      &afterItem))
       
  2255 		return NULL;
       
  2256 	InsertMenuItem(_self->ob_itself,
       
  2257 	               itemString,
       
  2258 	               afterItem);
       
  2259 	Py_INCREF(Py_None);
       
  2260 	_res = Py_None;
       
  2261 	return _res;
       
  2262 }
       
  2263 
       
  2264 static PyObject *MenuObj_EnableMenuItem(MenuObject *_self, PyObject *_args)
       
  2265 {
       
  2266 	PyObject *_res = NULL;
       
  2267 	UInt16 item;
       
  2268 #ifndef EnableMenuItem
       
  2269 	PyMac_PRECHECK(EnableMenuItem);
       
  2270 #endif
       
  2271 	if (!PyArg_ParseTuple(_args, "H",
       
  2272 	                      &item))
       
  2273 		return NULL;
       
  2274 	EnableMenuItem(_self->ob_itself,
       
  2275 	               item);
       
  2276 	Py_INCREF(Py_None);
       
  2277 	_res = Py_None;
       
  2278 	return _res;
       
  2279 }
       
  2280 
       
  2281 static PyObject *MenuObj_CheckMenuItem(MenuObject *_self, PyObject *_args)
       
  2282 {
       
  2283 	PyObject *_res = NULL;
       
  2284 	short item;
       
  2285 	Boolean checked;
       
  2286 #ifndef CheckMenuItem
       
  2287 	PyMac_PRECHECK(CheckMenuItem);
       
  2288 #endif
       
  2289 	if (!PyArg_ParseTuple(_args, "hb",
       
  2290 	                      &item,
       
  2291 	                      &checked))
       
  2292 		return NULL;
       
  2293 	CheckMenuItem(_self->ob_itself,
       
  2294 	              item,
       
  2295 	              checked);
       
  2296 	Py_INCREF(Py_None);
       
  2297 	_res = Py_None;
       
  2298 	return _res;
       
  2299 }
       
  2300 
       
  2301 static PyMethodDef MenuObj_methods[] = {
       
  2302 	{"DisposeMenu", (PyCFunction)MenuObj_DisposeMenu, 1,
       
  2303 	 PyDoc_STR("() -> None")},
       
  2304 	{"CalcMenuSize", (PyCFunction)MenuObj_CalcMenuSize, 1,
       
  2305 	 PyDoc_STR("() -> None")},
       
  2306 	{"CountMenuItems", (PyCFunction)MenuObj_CountMenuItems, 1,
       
  2307 	 PyDoc_STR("() -> (UInt16 _rv)")},
       
  2308 	{"GetMenuFont", (PyCFunction)MenuObj_GetMenuFont, 1,
       
  2309 	 PyDoc_STR("() -> (SInt16 outFontID, UInt16 outFontSize)")},
       
  2310 	{"SetMenuFont", (PyCFunction)MenuObj_SetMenuFont, 1,
       
  2311 	 PyDoc_STR("(SInt16 inFontID, UInt16 inFontSize) -> None")},
       
  2312 	{"GetMenuExcludesMarkColumn", (PyCFunction)MenuObj_GetMenuExcludesMarkColumn, 1,
       
  2313 	 PyDoc_STR("() -> (Boolean _rv)")},
       
  2314 	{"SetMenuExcludesMarkColumn", (PyCFunction)MenuObj_SetMenuExcludesMarkColumn, 1,
       
  2315 	 PyDoc_STR("(Boolean excludesMark) -> None")},
       
  2316 	{"IsValidMenu", (PyCFunction)MenuObj_IsValidMenu, 1,
       
  2317 	 PyDoc_STR("() -> (Boolean _rv)")},
       
  2318 	{"GetMenuRetainCount", (PyCFunction)MenuObj_GetMenuRetainCount, 1,
       
  2319 	 PyDoc_STR("() -> (ItemCount _rv)")},
       
  2320 	{"RetainMenu", (PyCFunction)MenuObj_RetainMenu, 1,
       
  2321 	 PyDoc_STR("() -> None")},
       
  2322 	{"ReleaseMenu", (PyCFunction)MenuObj_ReleaseMenu, 1,
       
  2323 	 PyDoc_STR("() -> None")},
       
  2324 	{"DuplicateMenu", (PyCFunction)MenuObj_DuplicateMenu, 1,
       
  2325 	 PyDoc_STR("() -> (MenuHandle outMenu)")},
       
  2326 	{"CopyMenuTitleAsCFString", (PyCFunction)MenuObj_CopyMenuTitleAsCFString, 1,
       
  2327 	 PyDoc_STR("() -> (CFStringRef outString)")},
       
  2328 	{"SetMenuTitleWithCFString", (PyCFunction)MenuObj_SetMenuTitleWithCFString, 1,
       
  2329 	 PyDoc_STR("(CFStringRef inString) -> None")},
       
  2330 	{"InvalidateMenuSize", (PyCFunction)MenuObj_InvalidateMenuSize, 1,
       
  2331 	 PyDoc_STR("() -> None")},
       
  2332 	{"IsMenuSizeInvalid", (PyCFunction)MenuObj_IsMenuSizeInvalid, 1,
       
  2333 	 PyDoc_STR("() -> (Boolean _rv)")},
       
  2334 	{"MacAppendMenu", (PyCFunction)MenuObj_MacAppendMenu, 1,
       
  2335 	 PyDoc_STR("(Str255 data) -> None")},
       
  2336 	{"InsertResMenu", (PyCFunction)MenuObj_InsertResMenu, 1,
       
  2337 	 PyDoc_STR("(ResType theType, short afterItem) -> None")},
       
  2338 	{"AppendResMenu", (PyCFunction)MenuObj_AppendResMenu, 1,
       
  2339 	 PyDoc_STR("(ResType theType) -> None")},
       
  2340 	{"MacInsertMenuItem", (PyCFunction)MenuObj_MacInsertMenuItem, 1,
       
  2341 	 PyDoc_STR("(Str255 itemString, short afterItem) -> None")},
       
  2342 	{"DeleteMenuItem", (PyCFunction)MenuObj_DeleteMenuItem, 1,
       
  2343 	 PyDoc_STR("(short item) -> None")},
       
  2344 	{"InsertFontResMenu", (PyCFunction)MenuObj_InsertFontResMenu, 1,
       
  2345 	 PyDoc_STR("(short afterItem, short scriptFilter) -> None")},
       
  2346 	{"InsertIntlResMenu", (PyCFunction)MenuObj_InsertIntlResMenu, 1,
       
  2347 	 PyDoc_STR("(ResType theType, short afterItem, short scriptFilter) -> None")},
       
  2348 	{"AppendMenuItemText", (PyCFunction)MenuObj_AppendMenuItemText, 1,
       
  2349 	 PyDoc_STR("(Str255 inString) -> None")},
       
  2350 	{"InsertMenuItemText", (PyCFunction)MenuObj_InsertMenuItemText, 1,
       
  2351 	 PyDoc_STR("(Str255 inString, MenuItemIndex afterItem) -> None")},
       
  2352 	{"CopyMenuItems", (PyCFunction)MenuObj_CopyMenuItems, 1,
       
  2353 	 PyDoc_STR("(MenuItemIndex inFirstItem, ItemCount inNumItems, MenuHandle inDestMenu, MenuItemIndex inInsertAfter) -> None")},
       
  2354 	{"DeleteMenuItems", (PyCFunction)MenuObj_DeleteMenuItems, 1,
       
  2355 	 PyDoc_STR("(MenuItemIndex inFirstItem, ItemCount inNumItems) -> None")},
       
  2356 	{"AppendMenuItemTextWithCFString", (PyCFunction)MenuObj_AppendMenuItemTextWithCFString, 1,
       
  2357 	 PyDoc_STR("(CFStringRef inString, MenuItemAttributes inAttributes, MenuCommand inCommandID) -> (MenuItemIndex outNewItem)")},
       
  2358 	{"InsertMenuItemTextWithCFString", (PyCFunction)MenuObj_InsertMenuItemTextWithCFString, 1,
       
  2359 	 PyDoc_STR("(CFStringRef inString, MenuItemIndex inAfterItem, MenuItemAttributes inAttributes, MenuCommand inCommandID) -> None")},
       
  2360 	{"PopUpMenuSelect", (PyCFunction)MenuObj_PopUpMenuSelect, 1,
       
  2361 	 PyDoc_STR("(short top, short left, short popUpItem) -> (long _rv)")},
       
  2362 	{"InvalidateMenuEnabling", (PyCFunction)MenuObj_InvalidateMenuEnabling, 1,
       
  2363 	 PyDoc_STR("() -> None")},
       
  2364 	{"IsMenuBarInvalid", (PyCFunction)MenuObj_IsMenuBarInvalid, 1,
       
  2365 	 PyDoc_STR("() -> (Boolean _rv)")},
       
  2366 	{"MacInsertMenu", (PyCFunction)MenuObj_MacInsertMenu, 1,
       
  2367 	 PyDoc_STR("(MenuID beforeID) -> None")},
       
  2368 	{"SetRootMenu", (PyCFunction)MenuObj_SetRootMenu, 1,
       
  2369 	 PyDoc_STR("() -> None")},
       
  2370 	{"MacCheckMenuItem", (PyCFunction)MenuObj_MacCheckMenuItem, 1,
       
  2371 	 PyDoc_STR("(short item, Boolean checked) -> None")},
       
  2372 	{"SetMenuItemText", (PyCFunction)MenuObj_SetMenuItemText, 1,
       
  2373 	 PyDoc_STR("(short item, Str255 itemString) -> None")},
       
  2374 	{"GetMenuItemText", (PyCFunction)MenuObj_GetMenuItemText, 1,
       
  2375 	 PyDoc_STR("(short item) -> (Str255 itemString)")},
       
  2376 	{"SetItemMark", (PyCFunction)MenuObj_SetItemMark, 1,
       
  2377 	 PyDoc_STR("(short item, CharParameter markChar) -> None")},
       
  2378 	{"GetItemMark", (PyCFunction)MenuObj_GetItemMark, 1,
       
  2379 	 PyDoc_STR("(short item) -> (CharParameter markChar)")},
       
  2380 	{"SetItemCmd", (PyCFunction)MenuObj_SetItemCmd, 1,
       
  2381 	 PyDoc_STR("(short item, CharParameter cmdChar) -> None")},
       
  2382 	{"GetItemCmd", (PyCFunction)MenuObj_GetItemCmd, 1,
       
  2383 	 PyDoc_STR("(short item) -> (CharParameter cmdChar)")},
       
  2384 	{"SetItemIcon", (PyCFunction)MenuObj_SetItemIcon, 1,
       
  2385 	 PyDoc_STR("(short item, short iconIndex) -> None")},
       
  2386 	{"GetItemIcon", (PyCFunction)MenuObj_GetItemIcon, 1,
       
  2387 	 PyDoc_STR("(short item) -> (short iconIndex)")},
       
  2388 	{"SetItemStyle", (PyCFunction)MenuObj_SetItemStyle, 1,
       
  2389 	 PyDoc_STR("(short item, StyleParameter chStyle) -> None")},
       
  2390 	{"GetItemStyle", (PyCFunction)MenuObj_GetItemStyle, 1,
       
  2391 	 PyDoc_STR("(short item) -> (Style chStyle)")},
       
  2392 	{"SetMenuItemCommandID", (PyCFunction)MenuObj_SetMenuItemCommandID, 1,
       
  2393 	 PyDoc_STR("(SInt16 inItem, MenuCommand inCommandID) -> None")},
       
  2394 	{"GetMenuItemCommandID", (PyCFunction)MenuObj_GetMenuItemCommandID, 1,
       
  2395 	 PyDoc_STR("(SInt16 inItem) -> (MenuCommand outCommandID)")},
       
  2396 	{"SetMenuItemModifiers", (PyCFunction)MenuObj_SetMenuItemModifiers, 1,
       
  2397 	 PyDoc_STR("(SInt16 inItem, UInt8 inModifiers) -> None")},
       
  2398 	{"GetMenuItemModifiers", (PyCFunction)MenuObj_GetMenuItemModifiers, 1,
       
  2399 	 PyDoc_STR("(SInt16 inItem) -> (UInt8 outModifiers)")},
       
  2400 	{"SetMenuItemIconHandle", (PyCFunction)MenuObj_SetMenuItemIconHandle, 1,
       
  2401 	 PyDoc_STR("(SInt16 inItem, UInt8 inIconType, Handle inIconHandle) -> None")},
       
  2402 	{"GetMenuItemIconHandle", (PyCFunction)MenuObj_GetMenuItemIconHandle, 1,
       
  2403 	 PyDoc_STR("(SInt16 inItem) -> (UInt8 outIconType, Handle outIconHandle)")},
       
  2404 	{"SetMenuItemTextEncoding", (PyCFunction)MenuObj_SetMenuItemTextEncoding, 1,
       
  2405 	 PyDoc_STR("(SInt16 inItem, TextEncoding inScriptID) -> None")},
       
  2406 	{"GetMenuItemTextEncoding", (PyCFunction)MenuObj_GetMenuItemTextEncoding, 1,
       
  2407 	 PyDoc_STR("(SInt16 inItem) -> (TextEncoding outScriptID)")},
       
  2408 	{"SetMenuItemHierarchicalID", (PyCFunction)MenuObj_SetMenuItemHierarchicalID, 1,
       
  2409 	 PyDoc_STR("(SInt16 inItem, MenuID inHierID) -> None")},
       
  2410 	{"GetMenuItemHierarchicalID", (PyCFunction)MenuObj_GetMenuItemHierarchicalID, 1,
       
  2411 	 PyDoc_STR("(SInt16 inItem) -> (MenuID outHierID)")},
       
  2412 	{"SetMenuItemFontID", (PyCFunction)MenuObj_SetMenuItemFontID, 1,
       
  2413 	 PyDoc_STR("(SInt16 inItem, SInt16 inFontID) -> None")},
       
  2414 	{"GetMenuItemFontID", (PyCFunction)MenuObj_GetMenuItemFontID, 1,
       
  2415 	 PyDoc_STR("(SInt16 inItem) -> (SInt16 outFontID)")},
       
  2416 	{"SetMenuItemRefCon", (PyCFunction)MenuObj_SetMenuItemRefCon, 1,
       
  2417 	 PyDoc_STR("(SInt16 inItem, UInt32 inRefCon) -> None")},
       
  2418 	{"GetMenuItemRefCon", (PyCFunction)MenuObj_GetMenuItemRefCon, 1,
       
  2419 	 PyDoc_STR("(SInt16 inItem) -> (UInt32 outRefCon)")},
       
  2420 	{"SetMenuItemKeyGlyph", (PyCFunction)MenuObj_SetMenuItemKeyGlyph, 1,
       
  2421 	 PyDoc_STR("(SInt16 inItem, SInt16 inGlyph) -> None")},
       
  2422 	{"GetMenuItemKeyGlyph", (PyCFunction)MenuObj_GetMenuItemKeyGlyph, 1,
       
  2423 	 PyDoc_STR("(SInt16 inItem) -> (SInt16 outGlyph)")},
       
  2424 	{"MacEnableMenuItem", (PyCFunction)MenuObj_MacEnableMenuItem, 1,
       
  2425 	 PyDoc_STR("(MenuItemIndex item) -> None")},
       
  2426 	{"DisableMenuItem", (PyCFunction)MenuObj_DisableMenuItem, 1,
       
  2427 	 PyDoc_STR("(MenuItemIndex item) -> None")},
       
  2428 	{"IsMenuItemEnabled", (PyCFunction)MenuObj_IsMenuItemEnabled, 1,
       
  2429 	 PyDoc_STR("(MenuItemIndex item) -> (Boolean _rv)")},
       
  2430 	{"EnableMenuItemIcon", (PyCFunction)MenuObj_EnableMenuItemIcon, 1,
       
  2431 	 PyDoc_STR("(MenuItemIndex item) -> None")},
       
  2432 	{"DisableMenuItemIcon", (PyCFunction)MenuObj_DisableMenuItemIcon, 1,
       
  2433 	 PyDoc_STR("(MenuItemIndex item) -> None")},
       
  2434 	{"IsMenuItemIconEnabled", (PyCFunction)MenuObj_IsMenuItemIconEnabled, 1,
       
  2435 	 PyDoc_STR("(MenuItemIndex item) -> (Boolean _rv)")},
       
  2436 	{"SetMenuItemHierarchicalMenu", (PyCFunction)MenuObj_SetMenuItemHierarchicalMenu, 1,
       
  2437 	 PyDoc_STR("(MenuItemIndex inItem, MenuHandle inHierMenu) -> None")},
       
  2438 	{"GetMenuItemHierarchicalMenu", (PyCFunction)MenuObj_GetMenuItemHierarchicalMenu, 1,
       
  2439 	 PyDoc_STR("(MenuItemIndex inItem) -> (MenuHandle outHierMenu)")},
       
  2440 	{"CopyMenuItemTextAsCFString", (PyCFunction)MenuObj_CopyMenuItemTextAsCFString, 1,
       
  2441 	 PyDoc_STR("(MenuItemIndex inItem) -> (CFStringRef outString)")},
       
  2442 	{"SetMenuItemTextWithCFString", (PyCFunction)MenuObj_SetMenuItemTextWithCFString, 1,
       
  2443 	 PyDoc_STR("(MenuItemIndex inItem, CFStringRef inString) -> None")},
       
  2444 	{"GetMenuItemIndent", (PyCFunction)MenuObj_GetMenuItemIndent, 1,
       
  2445 	 PyDoc_STR("(MenuItemIndex inItem) -> (UInt32 outIndent)")},
       
  2446 	{"SetMenuItemIndent", (PyCFunction)MenuObj_SetMenuItemIndent, 1,
       
  2447 	 PyDoc_STR("(MenuItemIndex inItem, UInt32 inIndent) -> None")},
       
  2448 	{"GetMenuItemCommandKey", (PyCFunction)MenuObj_GetMenuItemCommandKey, 1,
       
  2449 	 PyDoc_STR("(MenuItemIndex inItem, Boolean inGetVirtualKey) -> (UInt16 outKey)")},
       
  2450 	{"SetMenuItemCommandKey", (PyCFunction)MenuObj_SetMenuItemCommandKey, 1,
       
  2451 	 PyDoc_STR("(MenuItemIndex inItem, Boolean inSetVirtualKey, UInt16 inKey) -> None")},
       
  2452 	{"GetMenuItemPropertyAttributes", (PyCFunction)MenuObj_GetMenuItemPropertyAttributes, 1,
       
  2453 	 PyDoc_STR("(MenuItemIndex item, OSType propertyCreator, OSType propertyTag) -> (UInt32 attributes)")},
       
  2454 	{"ChangeMenuItemPropertyAttributes", (PyCFunction)MenuObj_ChangeMenuItemPropertyAttributes, 1,
       
  2455 	 PyDoc_STR("(MenuItemIndex item, OSType propertyCreator, OSType propertyTag, UInt32 attributesToSet, UInt32 attributesToClear) -> None")},
       
  2456 	{"GetMenuAttributes", (PyCFunction)MenuObj_GetMenuAttributes, 1,
       
  2457 	 PyDoc_STR("() -> (MenuAttributes outAttributes)")},
       
  2458 	{"ChangeMenuAttributes", (PyCFunction)MenuObj_ChangeMenuAttributes, 1,
       
  2459 	 PyDoc_STR("(MenuAttributes setTheseAttributes, MenuAttributes clearTheseAttributes) -> None")},
       
  2460 	{"GetMenuItemAttributes", (PyCFunction)MenuObj_GetMenuItemAttributes, 1,
       
  2461 	 PyDoc_STR("(MenuItemIndex item) -> (MenuItemAttributes outAttributes)")},
       
  2462 	{"ChangeMenuItemAttributes", (PyCFunction)MenuObj_ChangeMenuItemAttributes, 1,
       
  2463 	 PyDoc_STR("(MenuItemIndex item, MenuItemAttributes setTheseAttributes, MenuItemAttributes clearTheseAttributes) -> None")},
       
  2464 	{"DisableAllMenuItems", (PyCFunction)MenuObj_DisableAllMenuItems, 1,
       
  2465 	 PyDoc_STR("() -> None")},
       
  2466 	{"EnableAllMenuItems", (PyCFunction)MenuObj_EnableAllMenuItems, 1,
       
  2467 	 PyDoc_STR("() -> None")},
       
  2468 	{"MenuHasEnabledItems", (PyCFunction)MenuObj_MenuHasEnabledItems, 1,
       
  2469 	 PyDoc_STR("() -> (Boolean _rv)")},
       
  2470 	{"GetMenuType", (PyCFunction)MenuObj_GetMenuType, 1,
       
  2471 	 PyDoc_STR("() -> (UInt16 outType)")},
       
  2472 	{"CountMenuItemsWithCommandID", (PyCFunction)MenuObj_CountMenuItemsWithCommandID, 1,
       
  2473 	 PyDoc_STR("(MenuCommand inCommandID) -> (ItemCount _rv)")},
       
  2474 	{"GetIndMenuItemWithCommandID", (PyCFunction)MenuObj_GetIndMenuItemWithCommandID, 1,
       
  2475 	 PyDoc_STR("(MenuCommand inCommandID, UInt32 inItemIndex) -> (MenuHandle outMenu, MenuItemIndex outIndex)")},
       
  2476 	{"EnableMenuCommand", (PyCFunction)MenuObj_EnableMenuCommand, 1,
       
  2477 	 PyDoc_STR("(MenuCommand inCommandID) -> None")},
       
  2478 	{"DisableMenuCommand", (PyCFunction)MenuObj_DisableMenuCommand, 1,
       
  2479 	 PyDoc_STR("(MenuCommand inCommandID) -> None")},
       
  2480 	{"IsMenuCommandEnabled", (PyCFunction)MenuObj_IsMenuCommandEnabled, 1,
       
  2481 	 PyDoc_STR("(MenuCommand inCommandID) -> (Boolean _rv)")},
       
  2482 	{"SetMenuCommandMark", (PyCFunction)MenuObj_SetMenuCommandMark, 1,
       
  2483 	 PyDoc_STR("(MenuCommand inCommandID, UniChar inMark) -> None")},
       
  2484 	{"GetMenuCommandMark", (PyCFunction)MenuObj_GetMenuCommandMark, 1,
       
  2485 	 PyDoc_STR("(MenuCommand inCommandID) -> (UniChar outMark)")},
       
  2486 	{"GetMenuCommandPropertySize", (PyCFunction)MenuObj_GetMenuCommandPropertySize, 1,
       
  2487 	 PyDoc_STR("(MenuCommand inCommandID, OSType inPropertyCreator, OSType inPropertyTag) -> (ByteCount outSize)")},
       
  2488 	{"RemoveMenuCommandProperty", (PyCFunction)MenuObj_RemoveMenuCommandProperty, 1,
       
  2489 	 PyDoc_STR("(MenuCommand inCommandID, OSType inPropertyCreator, OSType inPropertyTag) -> None")},
       
  2490 	{"IsMenuItemInvalid", (PyCFunction)MenuObj_IsMenuItemInvalid, 1,
       
  2491 	 PyDoc_STR("(MenuItemIndex inItem) -> (Boolean _rv)")},
       
  2492 	{"InvalidateMenuItems", (PyCFunction)MenuObj_InvalidateMenuItems, 1,
       
  2493 	 PyDoc_STR("(MenuItemIndex inFirstItem, ItemCount inNumItems) -> None")},
       
  2494 	{"UpdateInvalidMenuItems", (PyCFunction)MenuObj_UpdateInvalidMenuItems, 1,
       
  2495 	 PyDoc_STR("() -> None")},
       
  2496 	{"CreateStandardFontMenu", (PyCFunction)MenuObj_CreateStandardFontMenu, 1,
       
  2497 	 PyDoc_STR("(MenuItemIndex afterItem, MenuID firstHierMenuID, OptionBits options) -> (ItemCount outHierMenuCount)")},
       
  2498 	{"UpdateStandardFontMenu", (PyCFunction)MenuObj_UpdateStandardFontMenu, 1,
       
  2499 	 PyDoc_STR("() -> (ItemCount outHierMenuCount)")},
       
  2500 	{"GetFontFamilyFromMenuSelection", (PyCFunction)MenuObj_GetFontFamilyFromMenuSelection, 1,
       
  2501 	 PyDoc_STR("(MenuItemIndex item) -> (FMFontFamily outFontFamily, FMFontStyle outStyle)")},
       
  2502 	{"GetMenuID", (PyCFunction)MenuObj_GetMenuID, 1,
       
  2503 	 PyDoc_STR("() -> (MenuID _rv)")},
       
  2504 	{"GetMenuWidth", (PyCFunction)MenuObj_GetMenuWidth, 1,
       
  2505 	 PyDoc_STR("() -> (SInt16 _rv)")},
       
  2506 	{"GetMenuHeight", (PyCFunction)MenuObj_GetMenuHeight, 1,
       
  2507 	 PyDoc_STR("() -> (SInt16 _rv)")},
       
  2508 	{"SetMenuID", (PyCFunction)MenuObj_SetMenuID, 1,
       
  2509 	 PyDoc_STR("(MenuID menuID) -> None")},
       
  2510 	{"SetMenuWidth", (PyCFunction)MenuObj_SetMenuWidth, 1,
       
  2511 	 PyDoc_STR("(SInt16 width) -> None")},
       
  2512 	{"SetMenuHeight", (PyCFunction)MenuObj_SetMenuHeight, 1,
       
  2513 	 PyDoc_STR("(SInt16 height) -> None")},
       
  2514 	{"as_Resource", (PyCFunction)MenuObj_as_Resource, 1,
       
  2515 	 PyDoc_STR("() -> (Handle _rv)")},
       
  2516 	{"AppendMenu", (PyCFunction)MenuObj_AppendMenu, 1,
       
  2517 	 PyDoc_STR("(Str255 data) -> None")},
       
  2518 	{"InsertMenu", (PyCFunction)MenuObj_InsertMenu, 1,
       
  2519 	 PyDoc_STR("(short beforeID) -> None")},
       
  2520 	{"InsertMenuItem", (PyCFunction)MenuObj_InsertMenuItem, 1,
       
  2521 	 PyDoc_STR("(Str255 itemString, short afterItem) -> None")},
       
  2522 	{"EnableMenuItem", (PyCFunction)MenuObj_EnableMenuItem, 1,
       
  2523 	 PyDoc_STR("(UInt16 item) -> None")},
       
  2524 	{"CheckMenuItem", (PyCFunction)MenuObj_CheckMenuItem, 1,
       
  2525 	 PyDoc_STR("(short item, Boolean checked) -> None")},
       
  2526 	{NULL, NULL, 0}
       
  2527 };
       
  2528 
       
  2529 #define MenuObj_getsetlist NULL
       
  2530 
       
  2531 
       
  2532 #define MenuObj_compare NULL
       
  2533 
       
  2534 #define MenuObj_repr NULL
       
  2535 
       
  2536 #define MenuObj_hash NULL
       
  2537 #define MenuObj_tp_init 0
       
  2538 
       
  2539 #define MenuObj_tp_alloc PyType_GenericAlloc
       
  2540 
       
  2541 static PyObject *MenuObj_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds)
       
  2542 {
       
  2543 	PyObject *_self;
       
  2544 	MenuHandle itself;
       
  2545 	char *kw[] = {"itself", 0};
       
  2546 
       
  2547 	if (!PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw, MenuObj_Convert, &itself)) return NULL;
       
  2548 	if ((_self = type->tp_alloc(type, 0)) == NULL) return NULL;
       
  2549 	((MenuObject *)_self)->ob_itself = itself;
       
  2550 	return _self;
       
  2551 }
       
  2552 
       
  2553 #define MenuObj_tp_free PyObject_Del
       
  2554 
       
  2555 
       
  2556 PyTypeObject Menu_Type = {
       
  2557 	PyObject_HEAD_INIT(NULL)
       
  2558 	0, /*ob_size*/
       
  2559 	"_Menu.Menu", /*tp_name*/
       
  2560 	sizeof(MenuObject), /*tp_basicsize*/
       
  2561 	0, /*tp_itemsize*/
       
  2562 	/* methods */
       
  2563 	(destructor) MenuObj_dealloc, /*tp_dealloc*/
       
  2564 	0, /*tp_print*/
       
  2565 	(getattrfunc)0, /*tp_getattr*/
       
  2566 	(setattrfunc)0, /*tp_setattr*/
       
  2567 	(cmpfunc) MenuObj_compare, /*tp_compare*/
       
  2568 	(reprfunc) MenuObj_repr, /*tp_repr*/
       
  2569 	(PyNumberMethods *)0, /* tp_as_number */
       
  2570 	(PySequenceMethods *)0, /* tp_as_sequence */
       
  2571 	(PyMappingMethods *)0, /* tp_as_mapping */
       
  2572 	(hashfunc) MenuObj_hash, /*tp_hash*/
       
  2573 	0, /*tp_call*/
       
  2574 	0, /*tp_str*/
       
  2575 	PyObject_GenericGetAttr, /*tp_getattro*/
       
  2576 	PyObject_GenericSetAttr, /*tp_setattro */
       
  2577 	0, /*tp_as_buffer*/
       
  2578 	Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
       
  2579 	0, /*tp_doc*/
       
  2580 	0, /*tp_traverse*/
       
  2581 	0, /*tp_clear*/
       
  2582 	0, /*tp_richcompare*/
       
  2583 	0, /*tp_weaklistoffset*/
       
  2584 	0, /*tp_iter*/
       
  2585 	0, /*tp_iternext*/
       
  2586 	MenuObj_methods, /* tp_methods */
       
  2587 	0, /*tp_members*/
       
  2588 	MenuObj_getsetlist, /*tp_getset*/
       
  2589 	0, /*tp_base*/
       
  2590 	0, /*tp_dict*/
       
  2591 	0, /*tp_descr_get*/
       
  2592 	0, /*tp_descr_set*/
       
  2593 	0, /*tp_dictoffset*/
       
  2594 	MenuObj_tp_init, /* tp_init */
       
  2595 	MenuObj_tp_alloc, /* tp_alloc */
       
  2596 	MenuObj_tp_new, /* tp_new */
       
  2597 	MenuObj_tp_free, /* tp_free */
       
  2598 };
       
  2599 
       
  2600 /* ---------------------- End object type Menu ---------------------- */
       
  2601 
       
  2602 
       
  2603 static PyObject *Menu_NewMenu(PyObject *_self, PyObject *_args)
       
  2604 {
       
  2605 	PyObject *_res = NULL;
       
  2606 	MenuHandle _rv;
       
  2607 	MenuID menuID;
       
  2608 	Str255 menuTitle;
       
  2609 #ifndef NewMenu
       
  2610 	PyMac_PRECHECK(NewMenu);
       
  2611 #endif
       
  2612 	if (!PyArg_ParseTuple(_args, "hO&",
       
  2613 	                      &menuID,
       
  2614 	                      PyMac_GetStr255, menuTitle))
       
  2615 		return NULL;
       
  2616 	_rv = NewMenu(menuID,
       
  2617 	              menuTitle);
       
  2618 	_res = Py_BuildValue("O&",
       
  2619 	                     MenuObj_New, _rv);
       
  2620 	return _res;
       
  2621 }
       
  2622 
       
  2623 static PyObject *Menu_MacGetMenu(PyObject *_self, PyObject *_args)
       
  2624 {
       
  2625 	PyObject *_res = NULL;
       
  2626 	MenuHandle _rv;
       
  2627 	short resourceID;
       
  2628 #ifndef MacGetMenu
       
  2629 	PyMac_PRECHECK(MacGetMenu);
       
  2630 #endif
       
  2631 	if (!PyArg_ParseTuple(_args, "h",
       
  2632 	                      &resourceID))
       
  2633 		return NULL;
       
  2634 	_rv = MacGetMenu(resourceID);
       
  2635 	_res = Py_BuildValue("O&",
       
  2636 	                     MenuObj_New, _rv);
       
  2637 	return _res;
       
  2638 }
       
  2639 
       
  2640 static PyObject *Menu_CreateNewMenu(PyObject *_self, PyObject *_args)
       
  2641 {
       
  2642 	PyObject *_res = NULL;
       
  2643 	OSStatus _err;
       
  2644 	MenuID inMenuID;
       
  2645 	MenuAttributes inMenuAttributes;
       
  2646 	MenuHandle outMenuRef;
       
  2647 #ifndef CreateNewMenu
       
  2648 	PyMac_PRECHECK(CreateNewMenu);
       
  2649 #endif
       
  2650 	if (!PyArg_ParseTuple(_args, "hl",
       
  2651 	                      &inMenuID,
       
  2652 	                      &inMenuAttributes))
       
  2653 		return NULL;
       
  2654 	_err = CreateNewMenu(inMenuID,
       
  2655 	                     inMenuAttributes,
       
  2656 	                     &outMenuRef);
       
  2657 	if (_err != noErr) return PyMac_Error(_err);
       
  2658 	_res = Py_BuildValue("O&",
       
  2659 	                     MenuObj_New, outMenuRef);
       
  2660 	return _res;
       
  2661 }
       
  2662 
       
  2663 static PyObject *Menu_MenuKey(PyObject *_self, PyObject *_args)
       
  2664 {
       
  2665 	PyObject *_res = NULL;
       
  2666 	long _rv;
       
  2667 	CharParameter ch;
       
  2668 #ifndef MenuKey
       
  2669 	PyMac_PRECHECK(MenuKey);
       
  2670 #endif
       
  2671 	if (!PyArg_ParseTuple(_args, "h",
       
  2672 	                      &ch))
       
  2673 		return NULL;
       
  2674 	_rv = MenuKey(ch);
       
  2675 	_res = Py_BuildValue("l",
       
  2676 	                     _rv);
       
  2677 	return _res;
       
  2678 }
       
  2679 
       
  2680 static PyObject *Menu_MenuSelect(PyObject *_self, PyObject *_args)
       
  2681 {
       
  2682 	PyObject *_res = NULL;
       
  2683 	long _rv;
       
  2684 	Point startPt;
       
  2685 #ifndef MenuSelect
       
  2686 	PyMac_PRECHECK(MenuSelect);
       
  2687 #endif
       
  2688 	if (!PyArg_ParseTuple(_args, "O&",
       
  2689 	                      PyMac_GetPoint, &startPt))
       
  2690 		return NULL;
       
  2691 	_rv = MenuSelect(startPt);
       
  2692 	_res = Py_BuildValue("l",
       
  2693 	                     _rv);
       
  2694 	return _res;
       
  2695 }
       
  2696 
       
  2697 static PyObject *Menu_MenuChoice(PyObject *_self, PyObject *_args)
       
  2698 {
       
  2699 	PyObject *_res = NULL;
       
  2700 	long _rv;
       
  2701 #ifndef MenuChoice
       
  2702 	PyMac_PRECHECK(MenuChoice);
       
  2703 #endif
       
  2704 	if (!PyArg_ParseTuple(_args, ""))
       
  2705 		return NULL;
       
  2706 	_rv = MenuChoice();
       
  2707 	_res = Py_BuildValue("l",
       
  2708 	                     _rv);
       
  2709 	return _res;
       
  2710 }
       
  2711 
       
  2712 static PyObject *Menu_MenuEvent(PyObject *_self, PyObject *_args)
       
  2713 {
       
  2714 	PyObject *_res = NULL;
       
  2715 	UInt32 _rv;
       
  2716 	EventRecord inEvent;
       
  2717 #ifndef MenuEvent
       
  2718 	PyMac_PRECHECK(MenuEvent);
       
  2719 #endif
       
  2720 	if (!PyArg_ParseTuple(_args, "O&",
       
  2721 	                      PyMac_GetEventRecord, &inEvent))
       
  2722 		return NULL;
       
  2723 	_rv = MenuEvent(&inEvent);
       
  2724 	_res = Py_BuildValue("l",
       
  2725 	                     _rv);
       
  2726 	return _res;
       
  2727 }
       
  2728 
       
  2729 static PyObject *Menu_GetMBarHeight(PyObject *_self, PyObject *_args)
       
  2730 {
       
  2731 	PyObject *_res = NULL;
       
  2732 	short _rv;
       
  2733 #ifndef GetMBarHeight
       
  2734 	PyMac_PRECHECK(GetMBarHeight);
       
  2735 #endif
       
  2736 	if (!PyArg_ParseTuple(_args, ""))
       
  2737 		return NULL;
       
  2738 	_rv = GetMBarHeight();
       
  2739 	_res = Py_BuildValue("h",
       
  2740 	                     _rv);
       
  2741 	return _res;
       
  2742 }
       
  2743 
       
  2744 static PyObject *Menu_MacDrawMenuBar(PyObject *_self, PyObject *_args)
       
  2745 {
       
  2746 	PyObject *_res = NULL;
       
  2747 #ifndef MacDrawMenuBar
       
  2748 	PyMac_PRECHECK(MacDrawMenuBar);
       
  2749 #endif
       
  2750 	if (!PyArg_ParseTuple(_args, ""))
       
  2751 		return NULL;
       
  2752 	MacDrawMenuBar();
       
  2753 	Py_INCREF(Py_None);
       
  2754 	_res = Py_None;
       
  2755 	return _res;
       
  2756 }
       
  2757 
       
  2758 static PyObject *Menu_InvalMenuBar(PyObject *_self, PyObject *_args)
       
  2759 {
       
  2760 	PyObject *_res = NULL;
       
  2761 #ifndef InvalMenuBar
       
  2762 	PyMac_PRECHECK(InvalMenuBar);
       
  2763 #endif
       
  2764 	if (!PyArg_ParseTuple(_args, ""))
       
  2765 		return NULL;
       
  2766 	InvalMenuBar();
       
  2767 	Py_INCREF(Py_None);
       
  2768 	_res = Py_None;
       
  2769 	return _res;
       
  2770 }
       
  2771 
       
  2772 static PyObject *Menu_HiliteMenu(PyObject *_self, PyObject *_args)
       
  2773 {
       
  2774 	PyObject *_res = NULL;
       
  2775 	MenuID menuID;
       
  2776 #ifndef HiliteMenu
       
  2777 	PyMac_PRECHECK(HiliteMenu);
       
  2778 #endif
       
  2779 	if (!PyArg_ParseTuple(_args, "h",
       
  2780 	                      &menuID))
       
  2781 		return NULL;
       
  2782 	HiliteMenu(menuID);
       
  2783 	Py_INCREF(Py_None);
       
  2784 	_res = Py_None;
       
  2785 	return _res;
       
  2786 }
       
  2787 
       
  2788 static PyObject *Menu_GetNewMBar(PyObject *_self, PyObject *_args)
       
  2789 {
       
  2790 	PyObject *_res = NULL;
       
  2791 	MenuBarHandle _rv;
       
  2792 	short menuBarID;
       
  2793 #ifndef GetNewMBar
       
  2794 	PyMac_PRECHECK(GetNewMBar);
       
  2795 #endif
       
  2796 	if (!PyArg_ParseTuple(_args, "h",
       
  2797 	                      &menuBarID))
       
  2798 		return NULL;
       
  2799 	_rv = GetNewMBar(menuBarID);
       
  2800 	_res = Py_BuildValue("O&",
       
  2801 	                     ResObj_New, _rv);
       
  2802 	return _res;
       
  2803 }
       
  2804 
       
  2805 static PyObject *Menu_GetMenuBar(PyObject *_self, PyObject *_args)
       
  2806 {
       
  2807 	PyObject *_res = NULL;
       
  2808 	MenuBarHandle _rv;
       
  2809 #ifndef GetMenuBar
       
  2810 	PyMac_PRECHECK(GetMenuBar);
       
  2811 #endif
       
  2812 	if (!PyArg_ParseTuple(_args, ""))
       
  2813 		return NULL;
       
  2814 	_rv = GetMenuBar();
       
  2815 	_res = Py_BuildValue("O&",
       
  2816 	                     ResObj_New, _rv);
       
  2817 	return _res;
       
  2818 }
       
  2819 
       
  2820 static PyObject *Menu_SetMenuBar(PyObject *_self, PyObject *_args)
       
  2821 {
       
  2822 	PyObject *_res = NULL;
       
  2823 	MenuBarHandle mbar;
       
  2824 #ifndef SetMenuBar
       
  2825 	PyMac_PRECHECK(SetMenuBar);
       
  2826 #endif
       
  2827 	if (!PyArg_ParseTuple(_args, "O&",
       
  2828 	                      ResObj_Convert, &mbar))
       
  2829 		return NULL;
       
  2830 	SetMenuBar(mbar);
       
  2831 	Py_INCREF(Py_None);
       
  2832 	_res = Py_None;
       
  2833 	return _res;
       
  2834 }
       
  2835 
       
  2836 static PyObject *Menu_DuplicateMenuBar(PyObject *_self, PyObject *_args)
       
  2837 {
       
  2838 	PyObject *_res = NULL;
       
  2839 	OSStatus _err;
       
  2840 	MenuBarHandle inMbar;
       
  2841 	MenuBarHandle outMbar;
       
  2842 #ifndef DuplicateMenuBar
       
  2843 	PyMac_PRECHECK(DuplicateMenuBar);
       
  2844 #endif
       
  2845 	if (!PyArg_ParseTuple(_args, "O&",
       
  2846 	                      ResObj_Convert, &inMbar))
       
  2847 		return NULL;
       
  2848 	_err = DuplicateMenuBar(inMbar,
       
  2849 	                        &outMbar);
       
  2850 	if (_err != noErr) return PyMac_Error(_err);
       
  2851 	_res = Py_BuildValue("O&",
       
  2852 	                     ResObj_New, outMbar);
       
  2853 	return _res;
       
  2854 }
       
  2855 
       
  2856 static PyObject *Menu_DisposeMenuBar(PyObject *_self, PyObject *_args)
       
  2857 {
       
  2858 	PyObject *_res = NULL;
       
  2859 	OSStatus _err;
       
  2860 	MenuBarHandle inMbar;
       
  2861 #ifndef DisposeMenuBar
       
  2862 	PyMac_PRECHECK(DisposeMenuBar);
       
  2863 #endif
       
  2864 	if (!PyArg_ParseTuple(_args, "O&",
       
  2865 	                      ResObj_Convert, &inMbar))
       
  2866 		return NULL;
       
  2867 	_err = DisposeMenuBar(inMbar);
       
  2868 	if (_err != noErr) return PyMac_Error(_err);
       
  2869 	Py_INCREF(Py_None);
       
  2870 	_res = Py_None;
       
  2871 	return _res;
       
  2872 }
       
  2873 
       
  2874 static PyObject *Menu_GetMenuHandle(PyObject *_self, PyObject *_args)
       
  2875 {
       
  2876 	PyObject *_res = NULL;
       
  2877 	MenuHandle _rv;
       
  2878 	MenuID menuID;
       
  2879 #ifndef GetMenuHandle
       
  2880 	PyMac_PRECHECK(GetMenuHandle);
       
  2881 #endif
       
  2882 	if (!PyArg_ParseTuple(_args, "h",
       
  2883 	                      &menuID))
       
  2884 		return NULL;
       
  2885 	_rv = GetMenuHandle(menuID);
       
  2886 	_res = Py_BuildValue("O&",
       
  2887 	                     MenuObj_New, _rv);
       
  2888 	return _res;
       
  2889 }
       
  2890 
       
  2891 static PyObject *Menu_MacDeleteMenu(PyObject *_self, PyObject *_args)
       
  2892 {
       
  2893 	PyObject *_res = NULL;
       
  2894 	MenuID menuID;
       
  2895 #ifndef MacDeleteMenu
       
  2896 	PyMac_PRECHECK(MacDeleteMenu);
       
  2897 #endif
       
  2898 	if (!PyArg_ParseTuple(_args, "h",
       
  2899 	                      &menuID))
       
  2900 		return NULL;
       
  2901 	MacDeleteMenu(menuID);
       
  2902 	Py_INCREF(Py_None);
       
  2903 	_res = Py_None;
       
  2904 	return _res;
       
  2905 }
       
  2906 
       
  2907 static PyObject *Menu_ClearMenuBar(PyObject *_self, PyObject *_args)
       
  2908 {
       
  2909 	PyObject *_res = NULL;
       
  2910 #ifndef ClearMenuBar
       
  2911 	PyMac_PRECHECK(ClearMenuBar);
       
  2912 #endif
       
  2913 	if (!PyArg_ParseTuple(_args, ""))
       
  2914 		return NULL;
       
  2915 	ClearMenuBar();
       
  2916 	Py_INCREF(Py_None);
       
  2917 	_res = Py_None;
       
  2918 	return _res;
       
  2919 }
       
  2920 
       
  2921 static PyObject *Menu_SetMenuFlashCount(PyObject *_self, PyObject *_args)
       
  2922 {
       
  2923 	PyObject *_res = NULL;
       
  2924 	short count;
       
  2925 #ifndef SetMenuFlashCount
       
  2926 	PyMac_PRECHECK(SetMenuFlashCount);
       
  2927 #endif
       
  2928 	if (!PyArg_ParseTuple(_args, "h",
       
  2929 	                      &count))
       
  2930 		return NULL;
       
  2931 	SetMenuFlashCount(count);
       
  2932 	Py_INCREF(Py_None);
       
  2933 	_res = Py_None;
       
  2934 	return _res;
       
  2935 }
       
  2936 
       
  2937 static PyObject *Menu_FlashMenuBar(PyObject *_self, PyObject *_args)
       
  2938 {
       
  2939 	PyObject *_res = NULL;
       
  2940 	MenuID menuID;
       
  2941 #ifndef FlashMenuBar
       
  2942 	PyMac_PRECHECK(FlashMenuBar);
       
  2943 #endif
       
  2944 	if (!PyArg_ParseTuple(_args, "h",
       
  2945 	                      &menuID))
       
  2946 		return NULL;
       
  2947 	FlashMenuBar(menuID);
       
  2948 	Py_INCREF(Py_None);
       
  2949 	_res = Py_None;
       
  2950 	return _res;
       
  2951 }
       
  2952 
       
  2953 static PyObject *Menu_IsMenuBarVisible(PyObject *_self, PyObject *_args)
       
  2954 {
       
  2955 	PyObject *_res = NULL;
       
  2956 	Boolean _rv;
       
  2957 #ifndef IsMenuBarVisible
       
  2958 	PyMac_PRECHECK(IsMenuBarVisible);
       
  2959 #endif
       
  2960 	if (!PyArg_ParseTuple(_args, ""))
       
  2961 		return NULL;
       
  2962 	_rv = IsMenuBarVisible();
       
  2963 	_res = Py_BuildValue("b",
       
  2964 	                     _rv);
       
  2965 	return _res;
       
  2966 }
       
  2967 
       
  2968 static PyObject *Menu_ShowMenuBar(PyObject *_self, PyObject *_args)
       
  2969 {
       
  2970 	PyObject *_res = NULL;
       
  2971 #ifndef ShowMenuBar
       
  2972 	PyMac_PRECHECK(ShowMenuBar);
       
  2973 #endif
       
  2974 	if (!PyArg_ParseTuple(_args, ""))
       
  2975 		return NULL;
       
  2976 	ShowMenuBar();
       
  2977 	Py_INCREF(Py_None);
       
  2978 	_res = Py_None;
       
  2979 	return _res;
       
  2980 }
       
  2981 
       
  2982 static PyObject *Menu_HideMenuBar(PyObject *_self, PyObject *_args)
       
  2983 {
       
  2984 	PyObject *_res = NULL;
       
  2985 #ifndef HideMenuBar
       
  2986 	PyMac_PRECHECK(HideMenuBar);
       
  2987 #endif
       
  2988 	if (!PyArg_ParseTuple(_args, ""))
       
  2989 		return NULL;
       
  2990 	HideMenuBar();
       
  2991 	Py_INCREF(Py_None);
       
  2992 	_res = Py_None;
       
  2993 	return _res;
       
  2994 }
       
  2995 
       
  2996 static PyObject *Menu_AcquireRootMenu(PyObject *_self, PyObject *_args)
       
  2997 {
       
  2998 	PyObject *_res = NULL;
       
  2999 	MenuHandle _rv;
       
  3000 #ifndef AcquireRootMenu
       
  3001 	PyMac_PRECHECK(AcquireRootMenu);
       
  3002 #endif
       
  3003 	if (!PyArg_ParseTuple(_args, ""))
       
  3004 		return NULL;
       
  3005 	_rv = AcquireRootMenu();
       
  3006 	_res = Py_BuildValue("O&",
       
  3007 	                     MenuObj_New, _rv);
       
  3008 	return _res;
       
  3009 }
       
  3010 
       
  3011 static PyObject *Menu_DeleteMCEntries(PyObject *_self, PyObject *_args)
       
  3012 {
       
  3013 	PyObject *_res = NULL;
       
  3014 	MenuID menuID;
       
  3015 	short menuItem;
       
  3016 #ifndef DeleteMCEntries
       
  3017 	PyMac_PRECHECK(DeleteMCEntries);
       
  3018 #endif
       
  3019 	if (!PyArg_ParseTuple(_args, "hh",
       
  3020 	                      &menuID,
       
  3021 	                      &menuItem))
       
  3022 		return NULL;
       
  3023 	DeleteMCEntries(menuID,
       
  3024 	                menuItem);
       
  3025 	Py_INCREF(Py_None);
       
  3026 	_res = Py_None;
       
  3027 	return _res;
       
  3028 }
       
  3029 
       
  3030 static PyObject *Menu_InitContextualMenus(PyObject *_self, PyObject *_args)
       
  3031 {
       
  3032 	PyObject *_res = NULL;
       
  3033 	OSStatus _err;
       
  3034 #ifndef InitContextualMenus
       
  3035 	PyMac_PRECHECK(InitContextualMenus);
       
  3036 #endif
       
  3037 	if (!PyArg_ParseTuple(_args, ""))
       
  3038 		return NULL;
       
  3039 	_err = InitContextualMenus();
       
  3040 	if (_err != noErr) return PyMac_Error(_err);
       
  3041 	Py_INCREF(Py_None);
       
  3042 	_res = Py_None;
       
  3043 	return _res;
       
  3044 }
       
  3045 
       
  3046 static PyObject *Menu_IsShowContextualMenuClick(PyObject *_self, PyObject *_args)
       
  3047 {
       
  3048 	PyObject *_res = NULL;
       
  3049 	Boolean _rv;
       
  3050 	EventRecord inEvent;
       
  3051 #ifndef IsShowContextualMenuClick
       
  3052 	PyMac_PRECHECK(IsShowContextualMenuClick);
       
  3053 #endif
       
  3054 	if (!PyArg_ParseTuple(_args, "O&",
       
  3055 	                      PyMac_GetEventRecord, &inEvent))
       
  3056 		return NULL;
       
  3057 	_rv = IsShowContextualMenuClick(&inEvent);
       
  3058 	_res = Py_BuildValue("b",
       
  3059 	                     _rv);
       
  3060 	return _res;
       
  3061 }
       
  3062 
       
  3063 static PyObject *Menu_LMGetTheMenu(PyObject *_self, PyObject *_args)
       
  3064 {
       
  3065 	PyObject *_res = NULL;
       
  3066 	SInt16 _rv;
       
  3067 #ifndef LMGetTheMenu
       
  3068 	PyMac_PRECHECK(LMGetTheMenu);
       
  3069 #endif
       
  3070 	if (!PyArg_ParseTuple(_args, ""))
       
  3071 		return NULL;
       
  3072 	_rv = LMGetTheMenu();
       
  3073 	_res = Py_BuildValue("h",
       
  3074 	                     _rv);
       
  3075 	return _res;
       
  3076 }
       
  3077 
       
  3078 static PyObject *Menu_as_Menu(PyObject *_self, PyObject *_args)
       
  3079 {
       
  3080 	PyObject *_res = NULL;
       
  3081 	MenuHandle _rv;
       
  3082 	Handle h;
       
  3083 #ifndef as_Menu
       
  3084 	PyMac_PRECHECK(as_Menu);
       
  3085 #endif
       
  3086 	if (!PyArg_ParseTuple(_args, "O&",
       
  3087 	                      ResObj_Convert, &h))
       
  3088 		return NULL;
       
  3089 	_rv = as_Menu(h);
       
  3090 	_res = Py_BuildValue("O&",
       
  3091 	                     MenuObj_New, _rv);
       
  3092 	return _res;
       
  3093 }
       
  3094 
       
  3095 static PyObject *Menu_GetMenu(PyObject *_self, PyObject *_args)
       
  3096 {
       
  3097 	PyObject *_res = NULL;
       
  3098 	MenuHandle _rv;
       
  3099 	short resourceID;
       
  3100 #ifndef GetMenu
       
  3101 	PyMac_PRECHECK(GetMenu);
       
  3102 #endif
       
  3103 	if (!PyArg_ParseTuple(_args, "h",
       
  3104 	                      &resourceID))
       
  3105 		return NULL;
       
  3106 	_rv = GetMenu(resourceID);
       
  3107 	_res = Py_BuildValue("O&",
       
  3108 	                     MenuObj_New, _rv);
       
  3109 	return _res;
       
  3110 }
       
  3111 
       
  3112 static PyObject *Menu_DeleteMenu(PyObject *_self, PyObject *_args)
       
  3113 {
       
  3114 	PyObject *_res = NULL;
       
  3115 	short menuID;
       
  3116 #ifndef DeleteMenu
       
  3117 	PyMac_PRECHECK(DeleteMenu);
       
  3118 #endif
       
  3119 	if (!PyArg_ParseTuple(_args, "h",
       
  3120 	                      &menuID))
       
  3121 		return NULL;
       
  3122 	DeleteMenu(menuID);
       
  3123 	Py_INCREF(Py_None);
       
  3124 	_res = Py_None;
       
  3125 	return _res;
       
  3126 }
       
  3127 
       
  3128 static PyObject *Menu_DrawMenuBar(PyObject *_self, PyObject *_args)
       
  3129 {
       
  3130 	PyObject *_res = NULL;
       
  3131 #ifndef DrawMenuBar
       
  3132 	PyMac_PRECHECK(DrawMenuBar);
       
  3133 #endif
       
  3134 	if (!PyArg_ParseTuple(_args, ""))
       
  3135 		return NULL;
       
  3136 	DrawMenuBar();
       
  3137 	Py_INCREF(Py_None);
       
  3138 	_res = Py_None;
       
  3139 	return _res;
       
  3140 }
       
  3141 
       
  3142 static PyObject *Menu_CountMenuItemsWithCommandID(PyObject *_self, PyObject *_args)
       
  3143 {
       
  3144 	PyObject *_res = NULL;
       
  3145 	ItemCount _rv;
       
  3146 	MenuHandle inMenu;
       
  3147 	MenuCommand inCommandID;
       
  3148 #ifndef CountMenuItemsWithCommandID
       
  3149 	PyMac_PRECHECK(CountMenuItemsWithCommandID);
       
  3150 #endif
       
  3151 	if (!PyArg_ParseTuple(_args, "O&l",
       
  3152 	                      OptMenuObj_Convert, &inMenu,
       
  3153 	                      &inCommandID))
       
  3154 		return NULL;
       
  3155 	_rv = CountMenuItemsWithCommandID(inMenu,
       
  3156 	                                  inCommandID);
       
  3157 	_res = Py_BuildValue("l",
       
  3158 	                     _rv);
       
  3159 	return _res;
       
  3160 }
       
  3161 
       
  3162 static PyObject *Menu_GetIndMenuItemWithCommandID(PyObject *_self, PyObject *_args)
       
  3163 {
       
  3164 	PyObject *_res = NULL;
       
  3165 	OSStatus _err;
       
  3166 	MenuHandle inMenu;
       
  3167 	MenuCommand inCommandID;
       
  3168 	UInt32 inItemIndex;
       
  3169 	MenuHandle outMenu;
       
  3170 	MenuItemIndex outIndex;
       
  3171 #ifndef GetIndMenuItemWithCommandID
       
  3172 	PyMac_PRECHECK(GetIndMenuItemWithCommandID);
       
  3173 #endif
       
  3174 	if (!PyArg_ParseTuple(_args, "O&ll",
       
  3175 	                      OptMenuObj_Convert, &inMenu,
       
  3176 	                      &inCommandID,
       
  3177 	                      &inItemIndex))
       
  3178 		return NULL;
       
  3179 	_err = GetIndMenuItemWithCommandID(inMenu,
       
  3180 	                                   inCommandID,
       
  3181 	                                   inItemIndex,
       
  3182 	                                   &outMenu,
       
  3183 	                                   &outIndex);
       
  3184 	if (_err != noErr) return PyMac_Error(_err);
       
  3185 	_res = Py_BuildValue("O&h",
       
  3186 	                     MenuObj_New, outMenu,
       
  3187 	                     outIndex);
       
  3188 	return _res;
       
  3189 }
       
  3190 
       
  3191 static PyObject *Menu_EnableMenuCommand(PyObject *_self, PyObject *_args)
       
  3192 {
       
  3193 	PyObject *_res = NULL;
       
  3194 	MenuHandle inMenu;
       
  3195 	MenuCommand inCommandID;
       
  3196 #ifndef EnableMenuCommand
       
  3197 	PyMac_PRECHECK(EnableMenuCommand);
       
  3198 #endif
       
  3199 	if (!PyArg_ParseTuple(_args, "O&l",
       
  3200 	                      OptMenuObj_Convert, &inMenu,
       
  3201 	                      &inCommandID))
       
  3202 		return NULL;
       
  3203 	EnableMenuCommand(inMenu,
       
  3204 	                  inCommandID);
       
  3205 	Py_INCREF(Py_None);
       
  3206 	_res = Py_None;
       
  3207 	return _res;
       
  3208 }
       
  3209 
       
  3210 static PyObject *Menu_DisableMenuCommand(PyObject *_self, PyObject *_args)
       
  3211 {
       
  3212 	PyObject *_res = NULL;
       
  3213 	MenuHandle inMenu;
       
  3214 	MenuCommand inCommandID;
       
  3215 #ifndef DisableMenuCommand
       
  3216 	PyMac_PRECHECK(DisableMenuCommand);
       
  3217 #endif
       
  3218 	if (!PyArg_ParseTuple(_args, "O&l",
       
  3219 	                      OptMenuObj_Convert, &inMenu,
       
  3220 	                      &inCommandID))
       
  3221 		return NULL;
       
  3222 	DisableMenuCommand(inMenu,
       
  3223 	                   inCommandID);
       
  3224 	Py_INCREF(Py_None);
       
  3225 	_res = Py_None;
       
  3226 	return _res;
       
  3227 }
       
  3228 
       
  3229 static PyObject *Menu_IsMenuCommandEnabled(PyObject *_self, PyObject *_args)
       
  3230 {
       
  3231 	PyObject *_res = NULL;
       
  3232 	Boolean _rv;
       
  3233 	MenuHandle inMenu;
       
  3234 	MenuCommand inCommandID;
       
  3235 #ifndef IsMenuCommandEnabled
       
  3236 	PyMac_PRECHECK(IsMenuCommandEnabled);
       
  3237 #endif
       
  3238 	if (!PyArg_ParseTuple(_args, "O&l",
       
  3239 	                      OptMenuObj_Convert, &inMenu,
       
  3240 	                      &inCommandID))
       
  3241 		return NULL;
       
  3242 	_rv = IsMenuCommandEnabled(inMenu,
       
  3243 	                           inCommandID);
       
  3244 	_res = Py_BuildValue("b",
       
  3245 	                     _rv);
       
  3246 	return _res;
       
  3247 }
       
  3248 
       
  3249 static PyObject *Menu_SetMenuCommandMark(PyObject *_self, PyObject *_args)
       
  3250 {
       
  3251 	PyObject *_res = NULL;
       
  3252 	OSStatus _err;
       
  3253 	MenuHandle inMenu;
       
  3254 	MenuCommand inCommandID;
       
  3255 	UniChar inMark;
       
  3256 #ifndef SetMenuCommandMark
       
  3257 	PyMac_PRECHECK(SetMenuCommandMark);
       
  3258 #endif
       
  3259 	if (!PyArg_ParseTuple(_args, "O&lh",
       
  3260 	                      OptMenuObj_Convert, &inMenu,
       
  3261 	                      &inCommandID,
       
  3262 	                      &inMark))
       
  3263 		return NULL;
       
  3264 	_err = SetMenuCommandMark(inMenu,
       
  3265 	                          inCommandID,
       
  3266 	                          inMark);
       
  3267 	if (_err != noErr) return PyMac_Error(_err);
       
  3268 	Py_INCREF(Py_None);
       
  3269 	_res = Py_None;
       
  3270 	return _res;
       
  3271 }
       
  3272 
       
  3273 static PyObject *Menu_GetMenuCommandMark(PyObject *_self, PyObject *_args)
       
  3274 {
       
  3275 	PyObject *_res = NULL;
       
  3276 	OSStatus _err;
       
  3277 	MenuHandle inMenu;
       
  3278 	MenuCommand inCommandID;
       
  3279 	UniChar outMark;
       
  3280 #ifndef GetMenuCommandMark
       
  3281 	PyMac_PRECHECK(GetMenuCommandMark);
       
  3282 #endif
       
  3283 	if (!PyArg_ParseTuple(_args, "O&l",
       
  3284 	                      OptMenuObj_Convert, &inMenu,
       
  3285 	                      &inCommandID))
       
  3286 		return NULL;
       
  3287 	_err = GetMenuCommandMark(inMenu,
       
  3288 	                          inCommandID,
       
  3289 	                          &outMark);
       
  3290 	if (_err != noErr) return PyMac_Error(_err);
       
  3291 	_res = Py_BuildValue("h",
       
  3292 	                     outMark);
       
  3293 	return _res;
       
  3294 }
       
  3295 
       
  3296 static PyObject *Menu_GetMenuCommandPropertySize(PyObject *_self, PyObject *_args)
       
  3297 {
       
  3298 	PyObject *_res = NULL;
       
  3299 	OSStatus _err;
       
  3300 	MenuHandle inMenu;
       
  3301 	MenuCommand inCommandID;
       
  3302 	OSType inPropertyCreator;
       
  3303 	OSType inPropertyTag;
       
  3304 	ByteCount outSize;
       
  3305 #ifndef GetMenuCommandPropertySize
       
  3306 	PyMac_PRECHECK(GetMenuCommandPropertySize);
       
  3307 #endif
       
  3308 	if (!PyArg_ParseTuple(_args, "O&lO&O&",
       
  3309 	                      OptMenuObj_Convert, &inMenu,
       
  3310 	                      &inCommandID,
       
  3311 	                      PyMac_GetOSType, &inPropertyCreator,
       
  3312 	                      PyMac_GetOSType, &inPropertyTag))
       
  3313 		return NULL;
       
  3314 	_err = GetMenuCommandPropertySize(inMenu,
       
  3315 	                                  inCommandID,
       
  3316 	                                  inPropertyCreator,
       
  3317 	                                  inPropertyTag,
       
  3318 	                                  &outSize);
       
  3319 	if (_err != noErr) return PyMac_Error(_err);
       
  3320 	_res = Py_BuildValue("l",
       
  3321 	                     outSize);
       
  3322 	return _res;
       
  3323 }
       
  3324 
       
  3325 static PyObject *Menu_RemoveMenuCommandProperty(PyObject *_self, PyObject *_args)
       
  3326 {
       
  3327 	PyObject *_res = NULL;
       
  3328 	OSStatus _err;
       
  3329 	MenuHandle inMenu;
       
  3330 	MenuCommand inCommandID;
       
  3331 	OSType inPropertyCreator;
       
  3332 	OSType inPropertyTag;
       
  3333 #ifndef RemoveMenuCommandProperty
       
  3334 	PyMac_PRECHECK(RemoveMenuCommandProperty);
       
  3335 #endif
       
  3336 	if (!PyArg_ParseTuple(_args, "O&lO&O&",
       
  3337 	                      OptMenuObj_Convert, &inMenu,
       
  3338 	                      &inCommandID,
       
  3339 	                      PyMac_GetOSType, &inPropertyCreator,
       
  3340 	                      PyMac_GetOSType, &inPropertyTag))
       
  3341 		return NULL;
       
  3342 	_err = RemoveMenuCommandProperty(inMenu,
       
  3343 	                                 inCommandID,
       
  3344 	                                 inPropertyCreator,
       
  3345 	                                 inPropertyTag);
       
  3346 	if (_err != noErr) return PyMac_Error(_err);
       
  3347 	Py_INCREF(Py_None);
       
  3348 	_res = Py_None;
       
  3349 	return _res;
       
  3350 }
       
  3351 #endif /* __LP64__ */
       
  3352 
       
  3353 static PyMethodDef Menu_methods[] = {
       
  3354 #ifndef __LP64__
       
  3355 	{"NewMenu", (PyCFunction)Menu_NewMenu, 1,
       
  3356 	 PyDoc_STR("(MenuID menuID, Str255 menuTitle) -> (MenuHandle _rv)")},
       
  3357 	{"MacGetMenu", (PyCFunction)Menu_MacGetMenu, 1,
       
  3358 	 PyDoc_STR("(short resourceID) -> (MenuHandle _rv)")},
       
  3359 	{"CreateNewMenu", (PyCFunction)Menu_CreateNewMenu, 1,
       
  3360 	 PyDoc_STR("(MenuID inMenuID, MenuAttributes inMenuAttributes) -> (MenuHandle outMenuRef)")},
       
  3361 	{"MenuKey", (PyCFunction)Menu_MenuKey, 1,
       
  3362 	 PyDoc_STR("(CharParameter ch) -> (long _rv)")},
       
  3363 	{"MenuSelect", (PyCFunction)Menu_MenuSelect, 1,
       
  3364 	 PyDoc_STR("(Point startPt) -> (long _rv)")},
       
  3365 	{"MenuChoice", (PyCFunction)Menu_MenuChoice, 1,
       
  3366 	 PyDoc_STR("() -> (long _rv)")},
       
  3367 	{"MenuEvent", (PyCFunction)Menu_MenuEvent, 1,
       
  3368 	 PyDoc_STR("(EventRecord inEvent) -> (UInt32 _rv)")},
       
  3369 	{"GetMBarHeight", (PyCFunction)Menu_GetMBarHeight, 1,
       
  3370 	 PyDoc_STR("() -> (short _rv)")},
       
  3371 	{"MacDrawMenuBar", (PyCFunction)Menu_MacDrawMenuBar, 1,
       
  3372 	 PyDoc_STR("() -> None")},
       
  3373 	{"InvalMenuBar", (PyCFunction)Menu_InvalMenuBar, 1,
       
  3374 	 PyDoc_STR("() -> None")},
       
  3375 	{"HiliteMenu", (PyCFunction)Menu_HiliteMenu, 1,
       
  3376 	 PyDoc_STR("(MenuID menuID) -> None")},
       
  3377 	{"GetNewMBar", (PyCFunction)Menu_GetNewMBar, 1,
       
  3378 	 PyDoc_STR("(short menuBarID) -> (MenuBarHandle _rv)")},
       
  3379 	{"GetMenuBar", (PyCFunction)Menu_GetMenuBar, 1,
       
  3380 	 PyDoc_STR("() -> (MenuBarHandle _rv)")},
       
  3381 	{"SetMenuBar", (PyCFunction)Menu_SetMenuBar, 1,
       
  3382 	 PyDoc_STR("(MenuBarHandle mbar) -> None")},
       
  3383 	{"DuplicateMenuBar", (PyCFunction)Menu_DuplicateMenuBar, 1,
       
  3384 	 PyDoc_STR("(MenuBarHandle inMbar) -> (MenuBarHandle outMbar)")},
       
  3385 	{"DisposeMenuBar", (PyCFunction)Menu_DisposeMenuBar, 1,
       
  3386 	 PyDoc_STR("(MenuBarHandle inMbar) -> None")},
       
  3387 	{"GetMenuHandle", (PyCFunction)Menu_GetMenuHandle, 1,
       
  3388 	 PyDoc_STR("(MenuID menuID) -> (MenuHandle _rv)")},
       
  3389 	{"MacDeleteMenu", (PyCFunction)Menu_MacDeleteMenu, 1,
       
  3390 	 PyDoc_STR("(MenuID menuID) -> None")},
       
  3391 	{"ClearMenuBar", (PyCFunction)Menu_ClearMenuBar, 1,
       
  3392 	 PyDoc_STR("() -> None")},
       
  3393 	{"SetMenuFlashCount", (PyCFunction)Menu_SetMenuFlashCount, 1,
       
  3394 	 PyDoc_STR("(short count) -> None")},
       
  3395 	{"FlashMenuBar", (PyCFunction)Menu_FlashMenuBar, 1,
       
  3396 	 PyDoc_STR("(MenuID menuID) -> None")},
       
  3397 	{"IsMenuBarVisible", (PyCFunction)Menu_IsMenuBarVisible, 1,
       
  3398 	 PyDoc_STR("() -> (Boolean _rv)")},
       
  3399 	{"ShowMenuBar", (PyCFunction)Menu_ShowMenuBar, 1,
       
  3400 	 PyDoc_STR("() -> None")},
       
  3401 	{"HideMenuBar", (PyCFunction)Menu_HideMenuBar, 1,
       
  3402 	 PyDoc_STR("() -> None")},
       
  3403 	{"AcquireRootMenu", (PyCFunction)Menu_AcquireRootMenu, 1,
       
  3404 	 PyDoc_STR("() -> (MenuHandle _rv)")},
       
  3405 	{"DeleteMCEntries", (PyCFunction)Menu_DeleteMCEntries, 1,
       
  3406 	 PyDoc_STR("(MenuID menuID, short menuItem) -> None")},
       
  3407 	{"InitContextualMenus", (PyCFunction)Menu_InitContextualMenus, 1,
       
  3408 	 PyDoc_STR("() -> None")},
       
  3409 	{"IsShowContextualMenuClick", (PyCFunction)Menu_IsShowContextualMenuClick, 1,
       
  3410 	 PyDoc_STR("(EventRecord inEvent) -> (Boolean _rv)")},
       
  3411 	{"LMGetTheMenu", (PyCFunction)Menu_LMGetTheMenu, 1,
       
  3412 	 PyDoc_STR("() -> (SInt16 _rv)")},
       
  3413 	{"as_Menu", (PyCFunction)Menu_as_Menu, 1,
       
  3414 	 PyDoc_STR("(Handle h) -> (MenuHandle _rv)")},
       
  3415 	{"GetMenu", (PyCFunction)Menu_GetMenu, 1,
       
  3416 	 PyDoc_STR("(short resourceID) -> (MenuHandle _rv)")},
       
  3417 	{"DeleteMenu", (PyCFunction)Menu_DeleteMenu, 1,
       
  3418 	 PyDoc_STR("(short menuID) -> None")},
       
  3419 	{"DrawMenuBar", (PyCFunction)Menu_DrawMenuBar, 1,
       
  3420 	 PyDoc_STR("() -> None")},
       
  3421 	{"CountMenuItemsWithCommandID", (PyCFunction)Menu_CountMenuItemsWithCommandID, 1,
       
  3422 	 PyDoc_STR("(MenuHandle inMenu, MenuCommand inCommandID) -> (ItemCount _rv)")},
       
  3423 	{"GetIndMenuItemWithCommandID", (PyCFunction)Menu_GetIndMenuItemWithCommandID, 1,
       
  3424 	 PyDoc_STR("(MenuHandle inMenu, MenuCommand inCommandID, UInt32 inItemIndex) -> (MenuHandle outMenu, MenuItemIndex outIndex)")},
       
  3425 	{"EnableMenuCommand", (PyCFunction)Menu_EnableMenuCommand, 1,
       
  3426 	 PyDoc_STR("(MenuHandle inMenu, MenuCommand inCommandID) -> None")},
       
  3427 	{"DisableMenuCommand", (PyCFunction)Menu_DisableMenuCommand, 1,
       
  3428 	 PyDoc_STR("(MenuHandle inMenu, MenuCommand inCommandID) -> None")},
       
  3429 	{"IsMenuCommandEnabled", (PyCFunction)Menu_IsMenuCommandEnabled, 1,
       
  3430 	 PyDoc_STR("(MenuHandle inMenu, MenuCommand inCommandID) -> (Boolean _rv)")},
       
  3431 	{"SetMenuCommandMark", (PyCFunction)Menu_SetMenuCommandMark, 1,
       
  3432 	 PyDoc_STR("(MenuHandle inMenu, MenuCommand inCommandID, UniChar inMark) -> None")},
       
  3433 	{"GetMenuCommandMark", (PyCFunction)Menu_GetMenuCommandMark, 1,
       
  3434 	 PyDoc_STR("(MenuHandle inMenu, MenuCommand inCommandID) -> (UniChar outMark)")},
       
  3435 	{"GetMenuCommandPropertySize", (PyCFunction)Menu_GetMenuCommandPropertySize, 1,
       
  3436 	 PyDoc_STR("(MenuHandle inMenu, MenuCommand inCommandID, OSType inPropertyCreator, OSType inPropertyTag) -> (ByteCount outSize)")},
       
  3437 	{"RemoveMenuCommandProperty", (PyCFunction)Menu_RemoveMenuCommandProperty, 1,
       
  3438 	 PyDoc_STR("(MenuHandle inMenu, MenuCommand inCommandID, OSType inPropertyCreator, OSType inPropertyTag) -> None")},
       
  3439 #endif /* __LP64__ */
       
  3440 	{NULL, NULL, 0}
       
  3441 };
       
  3442 
       
  3443 
       
  3444 
       
  3445 
       
  3446 void init_Menu(void)
       
  3447 {
       
  3448 	PyObject *m;
       
  3449 #ifndef __LP64__
       
  3450 	PyObject *d;
       
  3451 
       
  3452 
       
  3453 
       
  3454 	        PyMac_INIT_TOOLBOX_OBJECT_NEW(MenuHandle, MenuObj_New);
       
  3455 	        PyMac_INIT_TOOLBOX_OBJECT_CONVERT(MenuHandle, MenuObj_Convert);
       
  3456 #endif /* __LP64__ */
       
  3457 
       
  3458 
       
  3459 	m = Py_InitModule("_Menu", Menu_methods);
       
  3460 #ifndef __LP64__
       
  3461 	d = PyModule_GetDict(m);
       
  3462 	Menu_Error = PyMac_GetOSErrException();
       
  3463 	if (Menu_Error == NULL ||
       
  3464 	    PyDict_SetItemString(d, "Error", Menu_Error) != 0)
       
  3465 		return;
       
  3466 	Menu_Type.ob_type = &PyType_Type;
       
  3467 	if (PyType_Ready(&Menu_Type) < 0) return;
       
  3468 	Py_INCREF(&Menu_Type);
       
  3469 	PyModule_AddObject(m, "Menu", (PyObject *)&Menu_Type);
       
  3470 	/* Backward-compatible name */
       
  3471 	Py_INCREF(&Menu_Type);
       
  3472 	PyModule_AddObject(m, "MenuType", (PyObject *)&Menu_Type);
       
  3473 #endif /* __LP64__ */
       
  3474 }
       
  3475 
       
  3476 /* ======================== End module _Menu ======================== */
       
  3477