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 3478