1 2 /* ========================== Module _Win =========================== */ 3 4 #include "Python.h" 5 #include "pymactoolbox.h" 6 7 #if APPLE_SUPPORTS_QUICKTIME 8 9 10 /* Macro to test whether a weak-loaded CFM function exists */ 11 #define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\ 12 PyErr_SetString(PyExc_NotImplementedError, \ 13 "Not available in this shared library/OS version"); \ 14 return NULL; \ 15 }} while(0) 16 17 18 #include <Carbon/Carbon.h> 19 20 #ifdef USE_TOOLBOX_OBJECT_GLUE 21 extern PyObject *_WinObj_New(WindowRef); 22 extern PyObject *_WinObj_WhichWindow(WindowRef); 23 extern int _WinObj_Convert(PyObject *, WindowRef *); 24 25 #define WinObj_New _WinObj_New 26 #define WinObj_WhichWindow _WinObj_WhichWindow 27 #define WinObj_Convert _WinObj_Convert 28 #endif 29 30 /* Classic calls that we emulate in carbon mode */ 31 #define GetWindowUpdateRgn(win, rgn) GetWindowRegion((win), kWindowUpdateRgn, (rgn)) 32 #define GetWindowStructureRgn(win, rgn) GetWindowRegion((win), kWindowStructureRgn, (rgn)) 33 #define GetWindowContentRgn(win, rgn) GetWindowRegion((win), kWindowContentRgn, (rgn)) 34 35 /* Function to dispose a window, with a "normal" calling sequence */ 36 static void 37 PyMac_AutoDisposeWindow(WindowPtr w) 38 { 39 DisposeWindow(w); 40 } 41 42 static PyObject *Win_Error; 43 44 /* ----------------------- Object type Window ----------------------- */ 45 46 PyTypeObject Window_Type; 47 48 #define WinObj_Check(x) ((x)->ob_type == &Window_Type || PyObject_TypeCheck((x), &Window_Type)) 49 50 typedef struct WindowObject { 51 PyObject_HEAD 52 WindowPtr ob_itself; 53 void (*ob_freeit)(WindowPtr ptr); 54 } WindowObject; 55 56 PyObject *WinObj_New(WindowPtr itself) 57 { 58 WindowObject *it; 59 if (itself == NULL) return PyMac_Error(resNotFound); 60 /* XXXX Or should we use WhichWindow code here? */ 61 it = PyObject_NEW(WindowObject, &Window_Type); 62 if (it == NULL) return NULL; 63 it->ob_itself = itself; 64 it->ob_freeit = NULL; 65 if (GetWRefCon(itself) == 0) 66 { 67 SetWRefCon(itself, (long)it); 68 it->ob_freeit = PyMac_AutoDisposeWindow; 69 } 70 return (PyObject *)it; 71 } 72 73 int WinObj_Convert(PyObject *v, WindowPtr *p_itself) 74 { 75 76 if (v == Py_None) { *p_itself = NULL; return 1; } 77 if (PyInt_Check(v)) { *p_itself = (WindowPtr)PyInt_AsLong(v); return 1; } 78 79 { 80 DialogRef dlg; 81 if (DlgObj_Convert(v, &dlg) && dlg) { 82 *p_itself = GetDialogWindow(dlg); 83 return 1; 84 } 85 PyErr_Clear(); 86 } 87 if (!WinObj_Check(v)) 88 { 89 PyErr_SetString(PyExc_TypeError, "Window required"); 90 return 0; 91 } 92 *p_itself = ((WindowObject *)v)->ob_itself; 93 return 1; 94 } 95 96 static void WinObj_dealloc(WindowObject *self) 97 { 98 if (self->ob_freeit && self->ob_itself) 99 { 100 SetWRefCon(self->ob_itself, 0); 101 self->ob_freeit(self->ob_itself); 102 } 103 self->ob_itself = NULL; 104 self->ob_freeit = NULL; 105 self->ob_type->tp_free((PyObject *)self); 106 } 107 108 static PyObject *WinObj_GetWindowOwnerCount(WindowObject *_self, PyObject *_args) 109 { 110 PyObject *_res = NULL; 111 OSStatus _err; 112 UInt32 outCount; 113 #ifndef GetWindowOwnerCount 114 PyMac_PRECHECK(GetWindowOwnerCount); 115 #endif 116 if (!PyArg_ParseTuple(_args, "")) 117 return NULL; 118 _err = GetWindowOwnerCount(_self->ob_itself, 119 &outCount); 120 if (_err != noErr) return PyMac_Error(_err); 121 _res = Py_BuildValue("l", 122 outCount); 123 return _res; 124 } 125 126 static PyObject *WinObj_CloneWindow(WindowObject *_self, PyObject *_args) 127 { 128 PyObject *_res = NULL; 129 OSStatus _err; 130 #ifndef CloneWindow 131 PyMac_PRECHECK(CloneWindow); 132 #endif 133 if (!PyArg_ParseTuple(_args, "")) 134 return NULL; 135 _err = CloneWindow(_self->ob_itself); 136 if (_err != noErr) return PyMac_Error(_err); 137 Py_INCREF(Py_None); 138 _res = Py_None; 139 return _res; 140 } 141 142 static PyObject *WinObj_GetWindowRetainCount(WindowObject *_self, PyObject *_args) 143 { 144 PyObject *_res = NULL; 145 ItemCount _rv; 146 #ifndef GetWindowRetainCount 147 PyMac_PRECHECK(GetWindowRetainCount); 148 #endif 149 if (!PyArg_ParseTuple(_args, "")) 150 return NULL; 151 _rv = GetWindowRetainCount(_self->ob_itself); 152 _res = Py_BuildValue("l", 153 _rv); 154 return _res; 155 } 156 157 static PyObject *WinObj_RetainWindow(WindowObject *_self, PyObject *_args) 158 { 159 PyObject *_res = NULL; 160 OSStatus _err; 161 #ifndef RetainWindow 162 PyMac_PRECHECK(RetainWindow); 163 #endif 164 if (!PyArg_ParseTuple(_args, "")) 165 return NULL; 166 _err = RetainWindow(_self->ob_itself); 167 if (_err != noErr) return PyMac_Error(_err); 168 Py_INCREF(Py_None); 169 _res = Py_None; 170 return _res; 171 } 172 173 static PyObject *WinObj_ReleaseWindow(WindowObject *_self, PyObject *_args) 174 { 175 PyObject *_res = NULL; 176 OSStatus _err; 177 #ifndef ReleaseWindow 178 PyMac_PRECHECK(ReleaseWindow); 179 #endif 180 if (!PyArg_ParseTuple(_args, "")) 181 return NULL; 182 _err = ReleaseWindow(_self->ob_itself); 183 if (_err != noErr) return PyMac_Error(_err); 184 Py_INCREF(Py_None); 185 _res = Py_None; 186 return _res; 187 } 188 189 static PyObject *WinObj_ReshapeCustomWindow(WindowObject *_self, PyObject *_args) 190 { 191 PyObject *_res = NULL; 192 OSStatus _err; 193 #ifndef ReshapeCustomWindow 194 PyMac_PRECHECK(ReshapeCustomWindow); 195 #endif 196 if (!PyArg_ParseTuple(_args, "")) 197 return NULL; 198 _err = ReshapeCustomWindow(_self->ob_itself); 199 if (_err != noErr) return PyMac_Error(_err); 200 Py_INCREF(Py_None); 201 _res = Py_None; 202 return _res; 203 } 204 205 static PyObject *WinObj_GetWindowWidgetHilite(WindowObject *_self, PyObject *_args) 206 { 207 PyObject *_res = NULL; 208 OSStatus _err; 209 WindowDefPartCode outHilite; 210 #ifndef GetWindowWidgetHilite 211 PyMac_PRECHECK(GetWindowWidgetHilite); 212 #endif 213 if (!PyArg_ParseTuple(_args, "")) 214 return NULL; 215 _err = GetWindowWidgetHilite(_self->ob_itself, 216 &outHilite); 217 if (_err != noErr) return PyMac_Error(_err); 218 _res = Py_BuildValue("h", 219 outHilite); 220 return _res; 221 } 222 223 static PyObject *WinObj_GetWindowClass(WindowObject *_self, PyObject *_args) 224 { 225 PyObject *_res = NULL; 226 OSStatus _err; 227 WindowClass outClass; 228 #ifndef GetWindowClass 229 PyMac_PRECHECK(GetWindowClass); 230 #endif 231 if (!PyArg_ParseTuple(_args, "")) 232 return NULL; 233 _err = GetWindowClass(_self->ob_itself, 234 &outClass); 235 if (_err != noErr) return PyMac_Error(_err); 236 _res = Py_BuildValue("l", 237 outClass); 238 return _res; 239 } 240 241 static PyObject *WinObj_GetWindowAttributes(WindowObject *_self, PyObject *_args) 242 { 243 PyObject *_res = NULL; 244 OSStatus _err; 245 WindowAttributes outAttributes; 246 #ifndef GetWindowAttributes 247 PyMac_PRECHECK(GetWindowAttributes); 248 #endif 249 if (!PyArg_ParseTuple(_args, "")) 250 return NULL; 251 _err = GetWindowAttributes(_self->ob_itself, 252 &outAttributes); 253 if (_err != noErr) return PyMac_Error(_err); 254 _res = Py_BuildValue("l", 255 outAttributes); 256 return _res; 257 } 258 259 static PyObject *WinObj_ChangeWindowAttributes(WindowObject *_self, PyObject *_args) 260 { 261 PyObject *_res = NULL; 262 OSStatus _err; 263 WindowAttributes setTheseAttributes; 264 WindowAttributes clearTheseAttributes; 265 #ifndef ChangeWindowAttributes 266 PyMac_PRECHECK(ChangeWindowAttributes); 267 #endif 268 if (!PyArg_ParseTuple(_args, "ll", 269 &setTheseAttributes, 270 &clearTheseAttributes)) 271 return NULL; 272 _err = ChangeWindowAttributes(_self->ob_itself, 273 setTheseAttributes, 274 clearTheseAttributes); 275 if (_err != noErr) return PyMac_Error(_err); 276 Py_INCREF(Py_None); 277 _res = Py_None; 278 return _res; 279 } 280 281 static PyObject *WinObj_SetWindowClass(WindowObject *_self, PyObject *_args) 282 { 283 PyObject *_res = NULL; 284 OSStatus _err; 285 WindowClass inWindowClass; 286 #ifndef SetWindowClass 287 PyMac_PRECHECK(SetWindowClass); 288 #endif 289 if (!PyArg_ParseTuple(_args, "l", 290 &inWindowClass)) 291 return NULL; 292 _err = SetWindowClass(_self->ob_itself, 293 inWindowClass); 294 if (_err != noErr) return PyMac_Error(_err); 295 Py_INCREF(Py_None); 296 _res = Py_None; 297 return _res; 298 } 299 300 static PyObject *WinObj_SetWindowModality(WindowObject *_self, PyObject *_args) 301 { 302 PyObject *_res = NULL; 303 OSStatus _err; 304 WindowModality inModalKind; 305 WindowPtr inUnavailableWindow; 306 #ifndef SetWindowModality 307 PyMac_PRECHECK(SetWindowModality); 308 #endif 309 if (!PyArg_ParseTuple(_args, "lO&", 310 &inModalKind, 311 WinObj_Convert, &inUnavailableWindow)) 312 return NULL; 313 _err = SetWindowModality(_self->ob_itself, 314 inModalKind, 315 inUnavailableWindow); 316 if (_err != noErr) return PyMac_Error(_err); 317 Py_INCREF(Py_None); 318 _res = Py_None; 319 return _res; 320 } 321 322 static PyObject *WinObj_GetWindowModality(WindowObject *_self, PyObject *_args) 323 { 324 PyObject *_res = NULL; 325 OSStatus _err; 326 WindowModality outModalKind; 327 WindowPtr outUnavailableWindow; 328 #ifndef GetWindowModality 329 PyMac_PRECHECK(GetWindowModality); 330 #endif 331 if (!PyArg_ParseTuple(_args, "")) 332 return NULL; 333 _err = GetWindowModality(_self->ob_itself, 334 &outModalKind, 335 &outUnavailableWindow); 336 if (_err != noErr) return PyMac_Error(_err); 337 _res = Py_BuildValue("lO&", 338 outModalKind, 339 WinObj_WhichWindow, outUnavailableWindow); 340 return _res; 341 } 342 343 static PyObject *WinObj_SetWindowContentColor(WindowObject *_self, PyObject *_args) 344 { 345 PyObject *_res = NULL; 346 OSStatus _err; 347 RGBColor color; 348 #ifndef SetWindowContentColor 349 PyMac_PRECHECK(SetWindowContentColor); 350 #endif 351 if (!PyArg_ParseTuple(_args, "O&", 352 QdRGB_Convert, &color)) 353 return NULL; 354 _err = SetWindowContentColor(_self->ob_itself, 355 &color); 356 if (_err != noErr) return PyMac_Error(_err); 357 Py_INCREF(Py_None); 358 _res = Py_None; 359 return _res; 360 } 361 362 static PyObject *WinObj_GetWindowContentColor(WindowObject *_self, PyObject *_args) 363 { 364 PyObject *_res = NULL; 365 OSStatus _err; 366 RGBColor color; 367 #ifndef GetWindowContentColor 368 PyMac_PRECHECK(GetWindowContentColor); 369 #endif 370 if (!PyArg_ParseTuple(_args, "")) 371 return NULL; 372 _err = GetWindowContentColor(_self->ob_itself, 373 &color); 374 if (_err != noErr) return PyMac_Error(_err); 375 _res = Py_BuildValue("O&", 376 QdRGB_New, &color); 377 return _res; 378 } 379 380 static PyObject *WinObj_GetWindowContentPattern(WindowObject *_self, PyObject *_args) 381 { 382 PyObject *_res = NULL; 383 OSStatus _err; 384 PixPatHandle outPixPat; 385 #ifndef GetWindowContentPattern 386 PyMac_PRECHECK(GetWindowContentPattern); 387 #endif 388 if (!PyArg_ParseTuple(_args, "O&", 389 ResObj_Convert, &outPixPat)) 390 return NULL; 391 _err = GetWindowContentPattern(_self->ob_itself, 392 outPixPat); 393 if (_err != noErr) return PyMac_Error(_err); 394 Py_INCREF(Py_None); 395 _res = Py_None; 396 return _res; 397 } 398 399 static PyObject *WinObj_SetWindowContentPattern(WindowObject *_self, PyObject *_args) 400 { 401 PyObject *_res = NULL; 402 OSStatus _err; 403 PixPatHandle pixPat; 404 #ifndef SetWindowContentPattern 405 PyMac_PRECHECK(SetWindowContentPattern); 406 #endif 407 if (!PyArg_ParseTuple(_args, "O&", 408 ResObj_Convert, &pixPat)) 409 return NULL; 410 _err = SetWindowContentPattern(_self->ob_itself, 411 pixPat); 412 if (_err != noErr) return PyMac_Error(_err); 413 Py_INCREF(Py_None); 414 _res = Py_None; 415 return _res; 416 } 417 418 static PyObject *WinObj_ScrollWindowRect(WindowObject *_self, PyObject *_args) 419 { 420 PyObject *_res = NULL; 421 OSStatus _err; 422 Rect inScrollRect; 423 SInt16 inHPixels; 424 SInt16 inVPixels; 425 ScrollWindowOptions inOptions; 426 RgnHandle outExposedRgn; 427 #ifndef ScrollWindowRect 428 PyMac_PRECHECK(ScrollWindowRect); 429 #endif 430 if (!PyArg_ParseTuple(_args, "O&hhlO&", 431 PyMac_GetRect, &inScrollRect, 432 &inHPixels, 433 &inVPixels, 434 &inOptions, 435 ResObj_Convert, &outExposedRgn)) 436 return NULL; 437 _err = ScrollWindowRect(_self->ob_itself, 438 &inScrollRect, 439 inHPixels, 440 inVPixels, 441 inOptions, 442 outExposedRgn); 443 if (_err != noErr) return PyMac_Error(_err); 444 Py_INCREF(Py_None); 445 _res = Py_None; 446 return _res; 447 } 448 449 static PyObject *WinObj_ScrollWindowRegion(WindowObject *_self, PyObject *_args) 450 { 451 PyObject *_res = NULL; 452 OSStatus _err; 453 RgnHandle inScrollRgn; 454 SInt16 inHPixels; 455 SInt16 inVPixels; 456 ScrollWindowOptions inOptions; 457 RgnHandle outExposedRgn; 458 #ifndef ScrollWindowRegion 459 PyMac_PRECHECK(ScrollWindowRegion); 460 #endif 461 if (!PyArg_ParseTuple(_args, "O&hhlO&", 462 ResObj_Convert, &inScrollRgn, 463 &inHPixels, 464 &inVPixels, 465 &inOptions, 466 ResObj_Convert, &outExposedRgn)) 467 return NULL; 468 _err = ScrollWindowRegion(_self->ob_itself, 469 inScrollRgn, 470 inHPixels, 471 inVPixels, 472 inOptions, 473 outExposedRgn); 474 if (_err != noErr) return PyMac_Error(_err); 475 Py_INCREF(Py_None); 476 _res = Py_None; 477 return _res; 478 } 479 480 static PyObject *WinObj_ClipAbove(WindowObject *_self, PyObject *_args) 481 { 482 PyObject *_res = NULL; 483 #ifndef ClipAbove 484 PyMac_PRECHECK(ClipAbove); 485 #endif 486 if (!PyArg_ParseTuple(_args, "")) 487 return NULL; 488 ClipAbove(_self->ob_itself); 489 Py_INCREF(Py_None); 490 _res = Py_None; 491 return _res; 492 } 493 494 static PyObject *WinObj_PaintOne(WindowObject *_self, PyObject *_args) 495 { 496 PyObject *_res = NULL; 497 RgnHandle clobberedRgn; 498 #ifndef PaintOne 499 PyMac_PRECHECK(PaintOne); 500 #endif 501 if (!PyArg_ParseTuple(_args, "O&", 502 ResObj_Convert, &clobberedRgn)) 503 return NULL; 504 PaintOne(_self->ob_itself, 505 clobberedRgn); 506 Py_INCREF(Py_None); 507 _res = Py_None; 508 return _res; 509 } 510 511 static PyObject *WinObj_PaintBehind(WindowObject *_self, PyObject *_args) 512 { 513 PyObject *_res = NULL; 514 RgnHandle clobberedRgn; 515 #ifndef PaintBehind 516 PyMac_PRECHECK(PaintBehind); 517 #endif 518 if (!PyArg_ParseTuple(_args, "O&", 519 ResObj_Convert, &clobberedRgn)) 520 return NULL; 521 PaintBehind(_self->ob_itself, 522 clobberedRgn); 523 Py_INCREF(Py_None); 524 _res = Py_None; 525 return _res; 526 } 527 528 static PyObject *WinObj_CalcVis(WindowObject *_self, PyObject *_args) 529 { 530 PyObject *_res = NULL; 531 #ifndef CalcVis 532 PyMac_PRECHECK(CalcVis); 533 #endif 534 if (!PyArg_ParseTuple(_args, "")) 535 return NULL; 536 CalcVis(_self->ob_itself); 537 Py_INCREF(Py_None); 538 _res = Py_None; 539 return _res; 540 } 541 542 static PyObject *WinObj_CalcVisBehind(WindowObject *_self, PyObject *_args) 543 { 544 PyObject *_res = NULL; 545 RgnHandle clobberedRgn; 546 #ifndef CalcVisBehind 547 PyMac_PRECHECK(CalcVisBehind); 548 #endif 549 if (!PyArg_ParseTuple(_args, "O&", 550 ResObj_Convert, &clobberedRgn)) 551 return NULL; 552 CalcVisBehind(_self->ob_itself, 553 clobberedRgn); 554 Py_INCREF(Py_None); 555 _res = Py_None; 556 return _res; 557 } 558 559 static PyObject *WinObj_BringToFront(WindowObject *_self, PyObject *_args) 560 { 561 PyObject *_res = NULL; 562 #ifndef BringToFront 563 PyMac_PRECHECK(BringToFront); 564 #endif 565 if (!PyArg_ParseTuple(_args, "")) 566 return NULL; 567 BringToFront(_self->ob_itself); 568 Py_INCREF(Py_None); 569 _res = Py_None; 570 return _res; 571 } 572 573 static PyObject *WinObj_SendBehind(WindowObject *_self, PyObject *_args) 574 { 575 PyObject *_res = NULL; 576 WindowPtr behindWindow; 577 #ifndef SendBehind 578 PyMac_PRECHECK(SendBehind); 579 #endif 580 if (!PyArg_ParseTuple(_args, "O&", 581 WinObj_Convert, &behindWindow)) 582 return NULL; 583 SendBehind(_self->ob_itself, 584 behindWindow); 585 Py_INCREF(Py_None); 586 _res = Py_None; 587 return _res; 588 } 589 590 static PyObject *WinObj_SelectWindow(WindowObject *_self, PyObject *_args) 591 { 592 PyObject *_res = NULL; 593 #ifndef SelectWindow 594 PyMac_PRECHECK(SelectWindow); 595 #endif 596 if (!PyArg_ParseTuple(_args, "")) 597 return NULL; 598 SelectWindow(_self->ob_itself); 599 Py_INCREF(Py_None); 600 _res = Py_None; 601 return _res; 602 } 603 604 static PyObject *WinObj_GetNextWindowOfClass(WindowObject *_self, PyObject *_args) 605 { 606 PyObject *_res = NULL; 607 WindowPtr _rv; 608 WindowClass inWindowClass; 609 Boolean mustBeVisible; 610 #ifndef GetNextWindowOfClass 611 PyMac_PRECHECK(GetNextWindowOfClass); 612 #endif 613 if (!PyArg_ParseTuple(_args, "lb", 614 &inWindowClass, 615 &mustBeVisible)) 616 return NULL; 617 _rv = GetNextWindowOfClass(_self->ob_itself, 618 inWindowClass, 619 mustBeVisible); 620 _res = Py_BuildValue("O&", 621 WinObj_New, _rv); 622 return _res; 623 } 624 625 static PyObject *WinObj_SetWindowAlternateTitle(WindowObject *_self, PyObject *_args) 626 { 627 PyObject *_res = NULL; 628 OSStatus _err; 629 CFStringRef inTitle; 630 #ifndef SetWindowAlternateTitle 631 PyMac_PRECHECK(SetWindowAlternateTitle); 632 #endif 633 if (!PyArg_ParseTuple(_args, "O&", 634 CFStringRefObj_Convert, &inTitle)) 635 return NULL; 636 _err = SetWindowAlternateTitle(_self->ob_itself, 637 inTitle); 638 if (_err != noErr) return PyMac_Error(_err); 639 Py_INCREF(Py_None); 640 _res = Py_None; 641 return _res; 642 } 643 644 static PyObject *WinObj_CopyWindowAlternateTitle(WindowObject *_self, PyObject *_args) 645 { 646 PyObject *_res = NULL; 647 OSStatus _err; 648 CFStringRef outTitle; 649 #ifndef CopyWindowAlternateTitle 650 PyMac_PRECHECK(CopyWindowAlternateTitle); 651 #endif 652 if (!PyArg_ParseTuple(_args, "")) 653 return NULL; 654 _err = CopyWindowAlternateTitle(_self->ob_itself, 655 &outTitle); 656 if (_err != noErr) return PyMac_Error(_err); 657 _res = Py_BuildValue("O&", 658 CFStringRefObj_New, outTitle); 659 return _res; 660 } 661 662 static PyObject *WinObj_HiliteWindow(WindowObject *_self, PyObject *_args) 663 { 664 PyObject *_res = NULL; 665 Boolean fHilite; 666 #ifndef HiliteWindow 667 PyMac_PRECHECK(HiliteWindow); 668 #endif 669 if (!PyArg_ParseTuple(_args, "b", 670 &fHilite)) 671 return NULL; 672 HiliteWindow(_self->ob_itself, 673 fHilite); 674 Py_INCREF(Py_None); 675 _res = Py_None; 676 return _res; 677 } 678 679 static PyObject *WinObj_SetWRefCon(WindowObject *_self, PyObject *_args) 680 { 681 PyObject *_res = NULL; 682 long data; 683 #ifndef SetWRefCon 684 PyMac_PRECHECK(SetWRefCon); 685 #endif 686 if (!PyArg_ParseTuple(_args, "l", 687 &data)) 688 return NULL; 689 SetWRefCon(_self->ob_itself, 690 data); 691 Py_INCREF(Py_None); 692 _res = Py_None; 693 return _res; 694 } 695 696 static PyObject *WinObj_GetWRefCon(WindowObject *_self, PyObject *_args) 697 { 698 PyObject *_res = NULL; 699 long _rv; 700 #ifndef GetWRefCon 701 PyMac_PRECHECK(GetWRefCon); 702 #endif 703 if (!PyArg_ParseTuple(_args, "")) 704 return NULL; 705 _rv = GetWRefCon(_self->ob_itself); 706 _res = Py_BuildValue("l", 707 _rv); 708 return _res; 709 } 710 711 static PyObject *WinObj_SetWindowPic(WindowObject *_self, PyObject *_args) 712 { 713 PyObject *_res = NULL; 714 PicHandle pic; 715 #ifndef SetWindowPic 716 PyMac_PRECHECK(SetWindowPic); 717 #endif 718 if (!PyArg_ParseTuple(_args, "O&", 719 ResObj_Convert, &pic)) 720 return NULL; 721 SetWindowPic(_self->ob_itself, 722 pic); 723 Py_INCREF(Py_None); 724 _res = Py_None; 725 return _res; 726 } 727 728 static PyObject *WinObj_GetWindowPic(WindowObject *_self, PyObject *_args) 729 { 730 PyObject *_res = NULL; 731 PicHandle _rv; 732 #ifndef GetWindowPic 733 PyMac_PRECHECK(GetWindowPic); 734 #endif 735 if (!PyArg_ParseTuple(_args, "")) 736 return NULL; 737 _rv = GetWindowPic(_self->ob_itself); 738 _res = Py_BuildValue("O&", 739 ResObj_New, _rv); 740 return _res; 741 } 742 743 static PyObject *WinObj_GetWVariant(WindowObject *_self, PyObject *_args) 744 { 745 PyObject *_res = NULL; 746 short _rv; 747 #ifndef GetWVariant 748 PyMac_PRECHECK(GetWVariant); 749 #endif 750 if (!PyArg_ParseTuple(_args, "")) 751 return NULL; 752 _rv = GetWVariant(_self->ob_itself); 753 _res = Py_BuildValue("h", 754 _rv); 755 return _res; 756 } 757 758 static PyObject *WinObj_GetWindowFeatures(WindowObject *_self, PyObject *_args) 759 { 760 PyObject *_res = NULL; 761 OSStatus _err; 762 UInt32 outFeatures; 763 #ifndef GetWindowFeatures 764 PyMac_PRECHECK(GetWindowFeatures); 765 #endif 766 if (!PyArg_ParseTuple(_args, "")) 767 return NULL; 768 _err = GetWindowFeatures(_self->ob_itself, 769 &outFeatures); 770 if (_err != noErr) return PyMac_Error(_err); 771 _res = Py_BuildValue("l", 772 outFeatures); 773 return _res; 774 } 775 776 static PyObject *WinObj_GetWindowRegion(WindowObject *_self, PyObject *_args) 777 { 778 PyObject *_res = NULL; 779 OSStatus _err; 780 WindowRegionCode inRegionCode; 781 RgnHandle ioWinRgn; 782 #ifndef GetWindowRegion 783 PyMac_PRECHECK(GetWindowRegion); 784 #endif 785 if (!PyArg_ParseTuple(_args, "HO&", 786 &inRegionCode, 787 ResObj_Convert, &ioWinRgn)) 788 return NULL; 789 _err = GetWindowRegion(_self->ob_itself, 790 inRegionCode, 791 ioWinRgn); 792 if (_err != noErr) return PyMac_Error(_err); 793 Py_INCREF(Py_None); 794 _res = Py_None; 795 return _res; 796 } 797 798 static PyObject *WinObj_GetWindowStructureWidths(WindowObject *_self, PyObject *_args) 799 { 800 PyObject *_res = NULL; 801 OSStatus _err; 802 Rect outRect; 803 #ifndef GetWindowStructureWidths 804 PyMac_PRECHECK(GetWindowStructureWidths); 805 #endif 806 if (!PyArg_ParseTuple(_args, "")) 807 return NULL; 808 _err = GetWindowStructureWidths(_self->ob_itself, 809 &outRect); 810 if (_err != noErr) return PyMac_Error(_err); 811 _res = Py_BuildValue("O&", 812 PyMac_BuildRect, &outRect); 813 return _res; 814 } 815 816 static PyObject *WinObj_BeginUpdate(WindowObject *_self, PyObject *_args) 817 { 818 PyObject *_res = NULL; 819 #ifndef BeginUpdate 820 PyMac_PRECHECK(BeginUpdate); 821 #endif 822 if (!PyArg_ParseTuple(_args, "")) 823 return NULL; 824 BeginUpdate(_self->ob_itself); 825 Py_INCREF(Py_None); 826 _res = Py_None; 827 return _res; 828 } 829 830 static PyObject *WinObj_EndUpdate(WindowObject *_self, PyObject *_args) 831 { 832 PyObject *_res = NULL; 833 #ifndef EndUpdate 834 PyMac_PRECHECK(EndUpdate); 835 #endif 836 if (!PyArg_ParseTuple(_args, "")) 837 return NULL; 838 EndUpdate(_self->ob_itself); 839 Py_INCREF(Py_None); 840 _res = Py_None; 841 return _res; 842 } 843 844 static PyObject *WinObj_InvalWindowRgn(WindowObject *_self, PyObject *_args) 845 { 846 PyObject *_res = NULL; 847 OSStatus _err; 848 RgnHandle region; 849 #ifndef InvalWindowRgn 850 PyMac_PRECHECK(InvalWindowRgn); 851 #endif 852 if (!PyArg_ParseTuple(_args, "O&", 853 ResObj_Convert, ®ion)) 854 return NULL; 855 _err = InvalWindowRgn(_self->ob_itself, 856 region); 857 if (_err != noErr) return PyMac_Error(_err); 858 Py_INCREF(Py_None); 859 _res = Py_None; 860 return _res; 861 } 862 863 static PyObject *WinObj_InvalWindowRect(WindowObject *_self, PyObject *_args) 864 { 865 PyObject *_res = NULL; 866 OSStatus _err; 867 Rect bounds; 868 #ifndef InvalWindowRect 869 PyMac_PRECHECK(InvalWindowRect); 870 #endif 871 if (!PyArg_ParseTuple(_args, "O&", 872 PyMac_GetRect, &bounds)) 873 return NULL; 874 _err = InvalWindowRect(_self->ob_itself, 875 &bounds); 876 if (_err != noErr) return PyMac_Error(_err); 877 Py_INCREF(Py_None); 878 _res = Py_None; 879 return _res; 880 } 881 882 static PyObject *WinObj_ValidWindowRgn(WindowObject *_self, PyObject *_args) 883 { 884 PyObject *_res = NULL; 885 OSStatus _err; 886 RgnHandle region; 887 #ifndef ValidWindowRgn 888 PyMac_PRECHECK(ValidWindowRgn); 889 #endif 890 if (!PyArg_ParseTuple(_args, "O&", 891 ResObj_Convert, ®ion)) 892 return NULL; 893 _err = ValidWindowRgn(_self->ob_itself, 894 region); 895 if (_err != noErr) return PyMac_Error(_err); 896 Py_INCREF(Py_None); 897 _res = Py_None; 898 return _res; 899 } 900 901 static PyObject *WinObj_ValidWindowRect(WindowObject *_self, PyObject *_args) 902 { 903 PyObject *_res = NULL; 904 OSStatus _err; 905 Rect bounds; 906 #ifndef ValidWindowRect 907 PyMac_PRECHECK(ValidWindowRect); 908 #endif 909 if (!PyArg_ParseTuple(_args, "O&", 910 PyMac_GetRect, &bounds)) 911 return NULL; 912 _err = ValidWindowRect(_self->ob_itself, 913 &bounds); 914 if (_err != noErr) return PyMac_Error(_err); 915 Py_INCREF(Py_None); 916 _res = Py_None; 917 return _res; 918 } 919 920 static PyObject *WinObj_DrawGrowIcon(WindowObject *_self, PyObject *_args) 921 { 922 PyObject *_res = NULL; 923 #ifndef DrawGrowIcon 924 PyMac_PRECHECK(DrawGrowIcon); 925 #endif 926 if (!PyArg_ParseTuple(_args, "")) 927 return NULL; 928 DrawGrowIcon(_self->ob_itself); 929 Py_INCREF(Py_None); 930 _res = Py_None; 931 return _res; 932 } 933 934 static PyObject *WinObj_SetWTitle(WindowObject *_self, PyObject *_args) 935 { 936 PyObject *_res = NULL; 937 Str255 title; 938 #ifndef SetWTitle 939 PyMac_PRECHECK(SetWTitle); 940 #endif 941 if (!PyArg_ParseTuple(_args, "O&", 942 PyMac_GetStr255, title)) 943 return NULL; 944 SetWTitle(_self->ob_itself, 945 title); 946 Py_INCREF(Py_None); 947 _res = Py_None; 948 return _res; 949 } 950 951 static PyObject *WinObj_GetWTitle(WindowObject *_self, PyObject *_args) 952 { 953 PyObject *_res = NULL; 954 Str255 title; 955 #ifndef GetWTitle 956 PyMac_PRECHECK(GetWTitle); 957 #endif 958 if (!PyArg_ParseTuple(_args, "")) 959 return NULL; 960 GetWTitle(_self->ob_itself, 961 title); 962 _res = Py_BuildValue("O&", 963 PyMac_BuildStr255, title); 964 return _res; 965 } 966 967 static PyObject *WinObj_SetWindowTitleWithCFString(WindowObject *_self, PyObject *_args) 968 { 969 PyObject *_res = NULL; 970 OSStatus _err; 971 CFStringRef inString; 972 #ifndef SetWindowTitleWithCFString 973 PyMac_PRECHECK(SetWindowTitleWithCFString); 974 #endif 975 if (!PyArg_ParseTuple(_args, "O&", 976 CFStringRefObj_Convert, &inString)) 977 return NULL; 978 _err = SetWindowTitleWithCFString(_self->ob_itself, 979 inString); 980 if (_err != noErr) return PyMac_Error(_err); 981 Py_INCREF(Py_None); 982 _res = Py_None; 983 return _res; 984 } 985 986 static PyObject *WinObj_CopyWindowTitleAsCFString(WindowObject *_self, PyObject *_args) 987 { 988 PyObject *_res = NULL; 989 OSStatus _err; 990 CFStringRef outString; 991 #ifndef CopyWindowTitleAsCFString 992 PyMac_PRECHECK(CopyWindowTitleAsCFString); 993 #endif 994 if (!PyArg_ParseTuple(_args, "")) 995 return NULL; 996 _err = CopyWindowTitleAsCFString(_self->ob_itself, 997 &outString); 998 if (_err != noErr) return PyMac_Error(_err); 999 _res = Py_BuildValue("O&", 1000 CFStringRefObj_New, outString); 1001 return _res; 1002 } 1003 1004 static PyObject *WinObj_SetWindowProxyFSSpec(WindowObject *_self, PyObject *_args) 1005 { 1006 PyObject *_res = NULL; 1007 OSStatus _err; 1008 FSSpec inFile; 1009 #ifndef SetWindowProxyFSSpec 1010 PyMac_PRECHECK(SetWindowProxyFSSpec); 1011 #endif 1012 if (!PyArg_ParseTuple(_args, "O&", 1013 PyMac_GetFSSpec, &inFile)) 1014 return NULL; 1015 _err = SetWindowProxyFSSpec(_self->ob_itself, 1016 &inFile); 1017 if (_err != noErr) return PyMac_Error(_err); 1018 Py_INCREF(Py_None); 1019 _res = Py_None; 1020 return _res; 1021 } 1022 1023 static PyObject *WinObj_GetWindowProxyFSSpec(WindowObject *_self, PyObject *_args) 1024 { 1025 PyObject *_res = NULL; 1026 OSStatus _err; 1027 FSSpec outFile; 1028 #ifndef GetWindowProxyFSSpec 1029 PyMac_PRECHECK(GetWindowProxyFSSpec); 1030 #endif 1031 if (!PyArg_ParseTuple(_args, "")) 1032 return NULL; 1033 _err = GetWindowProxyFSSpec(_self->ob_itself, 1034 &outFile); 1035 if (_err != noErr) return PyMac_Error(_err); 1036 _res = Py_BuildValue("O&", 1037 PyMac_BuildFSSpec, &outFile); 1038 return _res; 1039 } 1040 1041 static PyObject *WinObj_SetWindowProxyAlias(WindowObject *_self, PyObject *_args) 1042 { 1043 PyObject *_res = NULL; 1044 OSStatus _err; 1045 AliasHandle inAlias; 1046 #ifndef SetWindowProxyAlias 1047 PyMac_PRECHECK(SetWindowProxyAlias); 1048 #endif 1049 if (!PyArg_ParseTuple(_args, "O&", 1050 ResObj_Convert, &inAlias)) 1051 return NULL; 1052 _err = SetWindowProxyAlias(_self->ob_itself, 1053 inAlias); 1054 if (_err != noErr) return PyMac_Error(_err); 1055 Py_INCREF(Py_None); 1056 _res = Py_None; 1057 return _res; 1058 } 1059 1060 static PyObject *WinObj_GetWindowProxyAlias(WindowObject *_self, PyObject *_args) 1061 { 1062 PyObject *_res = NULL; 1063 OSStatus _err; 1064 AliasHandle alias; 1065 #ifndef GetWindowProxyAlias 1066 PyMac_PRECHECK(GetWindowProxyAlias); 1067 #endif 1068 if (!PyArg_ParseTuple(_args, "")) 1069 return NULL; 1070 _err = GetWindowProxyAlias(_self->ob_itself, 1071 &alias); 1072 if (_err != noErr) return PyMac_Error(_err); 1073 _res = Py_BuildValue("O&", 1074 ResObj_New, alias); 1075 return _res; 1076 } 1077 1078 static PyObject *WinObj_SetWindowProxyCreatorAndType(WindowObject *_self, PyObject *_args) 1079 { 1080 PyObject *_res = NULL; 1081 OSStatus _err; 1082 OSType fileCreator; 1083 OSType fileType; 1084 SInt16 vRefNum; 1085 #ifndef SetWindowProxyCreatorAndType 1086 PyMac_PRECHECK(SetWindowProxyCreatorAndType); 1087 #endif 1088 if (!PyArg_ParseTuple(_args, "O&O&h", 1089 PyMac_GetOSType, &fileCreator, 1090 PyMac_GetOSType, &fileType, 1091 &vRefNum)) 1092 return NULL; 1093 _err = SetWindowProxyCreatorAndType(_self->ob_itself, 1094 fileCreator, 1095 fileType, 1096 vRefNum); 1097 if (_err != noErr) return PyMac_Error(_err); 1098 Py_INCREF(Py_None); 1099 _res = Py_None; 1100 return _res; 1101 } 1102 1103 static PyObject *WinObj_GetWindowProxyIcon(WindowObject *_self, PyObject *_args) 1104 { 1105 PyObject *_res = NULL; 1106 OSStatus _err; 1107 IconRef outIcon; 1108 #ifndef GetWindowProxyIcon 1109 PyMac_PRECHECK(GetWindowProxyIcon); 1110 #endif 1111 if (!PyArg_ParseTuple(_args, "")) 1112 return NULL; 1113 _err = GetWindowProxyIcon(_self->ob_itself, 1114 &outIcon); 1115 if (_err != noErr) return PyMac_Error(_err); 1116 _res = Py_BuildValue("O&", 1117 ResObj_New, outIcon); 1118 return _res; 1119 } 1120 1121 static PyObject *WinObj_SetWindowProxyIcon(WindowObject *_self, PyObject *_args) 1122 { 1123 PyObject *_res = NULL; 1124 OSStatus _err; 1125 IconRef icon; 1126 #ifndef SetWindowProxyIcon 1127 PyMac_PRECHECK(SetWindowProxyIcon); 1128 #endif 1129 if (!PyArg_ParseTuple(_args, "O&", 1130 ResObj_Convert, &icon)) 1131 return NULL; 1132 _err = SetWindowProxyIcon(_self->ob_itself, 1133 icon); 1134 if (_err != noErr) return PyMac_Error(_err); 1135 Py_INCREF(Py_None); 1136 _res = Py_None; 1137 return _res; 1138 } 1139 1140 static PyObject *WinObj_RemoveWindowProxy(WindowObject *_self, PyObject *_args) 1141 { 1142 PyObject *_res = NULL; 1143 OSStatus _err; 1144 #ifndef RemoveWindowProxy 1145 PyMac_PRECHECK(RemoveWindowProxy); 1146 #endif 1147 if (!PyArg_ParseTuple(_args, "")) 1148 return NULL; 1149 _err = RemoveWindowProxy(_self->ob_itself); 1150 if (_err != noErr) return PyMac_Error(_err); 1151 Py_INCREF(Py_None); 1152 _res = Py_None; 1153 return _res; 1154 } 1155 1156 static PyObject *WinObj_BeginWindowProxyDrag(WindowObject *_self, PyObject *_args) 1157 { 1158 PyObject *_res = NULL; 1159 OSStatus _err; 1160 DragReference outNewDrag; 1161 RgnHandle outDragOutlineRgn; 1162 #ifndef BeginWindowProxyDrag 1163 PyMac_PRECHECK(BeginWindowProxyDrag); 1164 #endif 1165 if (!PyArg_ParseTuple(_args, "O&", 1166 ResObj_Convert, &outDragOutlineRgn)) 1167 return NULL; 1168 _err = BeginWindowProxyDrag(_self->ob_itself, 1169 &outNewDrag, 1170 outDragOutlineRgn); 1171 if (_err != noErr) return PyMac_Error(_err); 1172 _res = Py_BuildValue("O&", 1173 DragObj_New, outNewDrag); 1174 return _res; 1175 } 1176 1177 static PyObject *WinObj_EndWindowProxyDrag(WindowObject *_self, PyObject *_args) 1178 { 1179 PyObject *_res = NULL; 1180 OSStatus _err; 1181 DragReference theDrag; 1182 #ifndef EndWindowProxyDrag 1183 PyMac_PRECHECK(EndWindowProxyDrag); 1184 #endif 1185 if (!PyArg_ParseTuple(_args, "O&", 1186 DragObj_Convert, &theDrag)) 1187 return NULL; 1188 _err = EndWindowProxyDrag(_self->ob_itself, 1189 theDrag); 1190 if (_err != noErr) return PyMac_Error(_err); 1191 Py_INCREF(Py_None); 1192 _res = Py_None; 1193 return _res; 1194 } 1195 1196 static PyObject *WinObj_TrackWindowProxyFromExistingDrag(WindowObject *_self, PyObject *_args) 1197 { 1198 PyObject *_res = NULL; 1199 OSStatus _err; 1200 Point startPt; 1201 DragReference drag; 1202 RgnHandle inDragOutlineRgn; 1203 #ifndef TrackWindowProxyFromExistingDrag 1204 PyMac_PRECHECK(TrackWindowProxyFromExistingDrag); 1205 #endif 1206 if (!PyArg_ParseTuple(_args, "O&O&O&", 1207 PyMac_GetPoint, &startPt, 1208 DragObj_Convert, &drag, 1209 ResObj_Convert, &inDragOutlineRgn)) 1210 return NULL; 1211 _err = TrackWindowProxyFromExistingDrag(_self->ob_itself, 1212 startPt, 1213 drag, 1214 inDragOutlineRgn); 1215 if (_err != noErr) return PyMac_Error(_err); 1216 Py_INCREF(Py_None); 1217 _res = Py_None; 1218 return _res; 1219 } 1220 1221 static PyObject *WinObj_TrackWindowProxyDrag(WindowObject *_self, PyObject *_args) 1222 { 1223 PyObject *_res = NULL; 1224 OSStatus _err; 1225 Point startPt; 1226 #ifndef TrackWindowProxyDrag 1227 PyMac_PRECHECK(TrackWindowProxyDrag); 1228 #endif 1229 if (!PyArg_ParseTuple(_args, "O&", 1230 PyMac_GetPoint, &startPt)) 1231 return NULL; 1232 _err = TrackWindowProxyDrag(_self->ob_itself, 1233 startPt); 1234 if (_err != noErr) return PyMac_Error(_err); 1235 Py_INCREF(Py_None); 1236 _res = Py_None; 1237 return _res; 1238 } 1239 1240 static PyObject *WinObj_IsWindowModified(WindowObject *_self, PyObject *_args) 1241 { 1242 PyObject *_res = NULL; 1243 Boolean _rv; 1244 #ifndef IsWindowModified 1245 PyMac_PRECHECK(IsWindowModified); 1246 #endif 1247 if (!PyArg_ParseTuple(_args, "")) 1248 return NULL; 1249 _rv = IsWindowModified(_self->ob_itself); 1250 _res = Py_BuildValue("b", 1251 _rv); 1252 return _res; 1253 } 1254 1255 static PyObject *WinObj_SetWindowModified(WindowObject *_self, PyObject *_args) 1256 { 1257 PyObject *_res = NULL; 1258 OSStatus _err; 1259 Boolean modified; 1260 #ifndef SetWindowModified 1261 PyMac_PRECHECK(SetWindowModified); 1262 #endif 1263 if (!PyArg_ParseTuple(_args, "b", 1264 &modified)) 1265 return NULL; 1266 _err = SetWindowModified(_self->ob_itself, 1267 modified); 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 *WinObj_IsWindowPathSelectClick(WindowObject *_self, PyObject *_args) 1275 { 1276 PyObject *_res = NULL; 1277 Boolean _rv; 1278 EventRecord event; 1279 #ifndef IsWindowPathSelectClick 1280 PyMac_PRECHECK(IsWindowPathSelectClick); 1281 #endif 1282 if (!PyArg_ParseTuple(_args, "O&", 1283 PyMac_GetEventRecord, &event)) 1284 return NULL; 1285 _rv = IsWindowPathSelectClick(_self->ob_itself, 1286 &event); 1287 _res = Py_BuildValue("b", 1288 _rv); 1289 return _res; 1290 } 1291 1292 static PyObject *WinObj_WindowPathSelect(WindowObject *_self, PyObject *_args) 1293 { 1294 PyObject *_res = NULL; 1295 OSStatus _err; 1296 MenuHandle menu; 1297 SInt32 outMenuResult; 1298 #ifndef WindowPathSelect 1299 PyMac_PRECHECK(WindowPathSelect); 1300 #endif 1301 if (!PyArg_ParseTuple(_args, "O&", 1302 MenuObj_Convert, &menu)) 1303 return NULL; 1304 _err = WindowPathSelect(_self->ob_itself, 1305 menu, 1306 &outMenuResult); 1307 if (_err != noErr) return PyMac_Error(_err); 1308 _res = Py_BuildValue("l", 1309 outMenuResult); 1310 return _res; 1311 } 1312 1313 static PyObject *WinObj_HiliteWindowFrameForDrag(WindowObject *_self, PyObject *_args) 1314 { 1315 PyObject *_res = NULL; 1316 OSStatus _err; 1317 Boolean hilited; 1318 #ifndef HiliteWindowFrameForDrag 1319 PyMac_PRECHECK(HiliteWindowFrameForDrag); 1320 #endif 1321 if (!PyArg_ParseTuple(_args, "b", 1322 &hilited)) 1323 return NULL; 1324 _err = HiliteWindowFrameForDrag(_self->ob_itself, 1325 hilited); 1326 if (_err != noErr) return PyMac_Error(_err); 1327 Py_INCREF(Py_None); 1328 _res = Py_None; 1329 return _res; 1330 } 1331 1332 static PyObject *WinObj_TransitionWindow(WindowObject *_self, PyObject *_args) 1333 { 1334 PyObject *_res = NULL; 1335 OSStatus _err; 1336 WindowTransitionEffect inEffect; 1337 WindowTransitionAction inAction; 1338 Rect inRect; 1339 #ifndef TransitionWindow 1340 PyMac_PRECHECK(TransitionWindow); 1341 #endif 1342 if (!PyArg_ParseTuple(_args, "llO&", 1343 &inEffect, 1344 &inAction, 1345 PyMac_GetRect, &inRect)) 1346 return NULL; 1347 _err = TransitionWindow(_self->ob_itself, 1348 inEffect, 1349 inAction, 1350 &inRect); 1351 if (_err != noErr) return PyMac_Error(_err); 1352 Py_INCREF(Py_None); 1353 _res = Py_None; 1354 return _res; 1355 } 1356 1357 static PyObject *WinObj_TransitionWindowAndParent(WindowObject *_self, PyObject *_args) 1358 { 1359 PyObject *_res = NULL; 1360 OSStatus _err; 1361 WindowPtr inParentWindow; 1362 WindowTransitionEffect inEffect; 1363 WindowTransitionAction inAction; 1364 Rect inRect; 1365 #ifndef TransitionWindowAndParent 1366 PyMac_PRECHECK(TransitionWindowAndParent); 1367 #endif 1368 if (!PyArg_ParseTuple(_args, "O&llO&", 1369 WinObj_Convert, &inParentWindow, 1370 &inEffect, 1371 &inAction, 1372 PyMac_GetRect, &inRect)) 1373 return NULL; 1374 _err = TransitionWindowAndParent(_self->ob_itself, 1375 inParentWindow, 1376 inEffect, 1377 inAction, 1378 &inRect); 1379 if (_err != noErr) return PyMac_Error(_err); 1380 Py_INCREF(Py_None); 1381 _res = Py_None; 1382 return _res; 1383 } 1384 1385 static PyObject *WinObj_MacMoveWindow(WindowObject *_self, PyObject *_args) 1386 { 1387 PyObject *_res = NULL; 1388 short hGlobal; 1389 short vGlobal; 1390 Boolean front; 1391 #ifndef MacMoveWindow 1392 PyMac_PRECHECK(MacMoveWindow); 1393 #endif 1394 if (!PyArg_ParseTuple(_args, "hhb", 1395 &hGlobal, 1396 &vGlobal, 1397 &front)) 1398 return NULL; 1399 MacMoveWindow(_self->ob_itself, 1400 hGlobal, 1401 vGlobal, 1402 front); 1403 Py_INCREF(Py_None); 1404 _res = Py_None; 1405 return _res; 1406 } 1407 1408 static PyObject *WinObj_SizeWindow(WindowObject *_self, PyObject *_args) 1409 { 1410 PyObject *_res = NULL; 1411 short w; 1412 short h; 1413 Boolean fUpdate; 1414 #ifndef SizeWindow 1415 PyMac_PRECHECK(SizeWindow); 1416 #endif 1417 if (!PyArg_ParseTuple(_args, "hhb", 1418 &w, 1419 &h, 1420 &fUpdate)) 1421 return NULL; 1422 SizeWindow(_self->ob_itself, 1423 w, 1424 h, 1425 fUpdate); 1426 Py_INCREF(Py_None); 1427 _res = Py_None; 1428 return _res; 1429 } 1430 1431 static PyObject *WinObj_GrowWindow(WindowObject *_self, PyObject *_args) 1432 { 1433 PyObject *_res = NULL; 1434 long _rv; 1435 Point startPt; 1436 Rect bBox; 1437 #ifndef GrowWindow 1438 PyMac_PRECHECK(GrowWindow); 1439 #endif 1440 if (!PyArg_ParseTuple(_args, "O&O&", 1441 PyMac_GetPoint, &startPt, 1442 PyMac_GetRect, &bBox)) 1443 return NULL; 1444 _rv = GrowWindow(_self->ob_itself, 1445 startPt, 1446 &bBox); 1447 _res = Py_BuildValue("l", 1448 _rv); 1449 return _res; 1450 } 1451 1452 static PyObject *WinObj_DragWindow(WindowObject *_self, PyObject *_args) 1453 { 1454 PyObject *_res = NULL; 1455 Point startPt; 1456 Rect boundsRect; 1457 #ifndef DragWindow 1458 PyMac_PRECHECK(DragWindow); 1459 #endif 1460 if (!PyArg_ParseTuple(_args, "O&O&", 1461 PyMac_GetPoint, &startPt, 1462 PyMac_GetRect, &boundsRect)) 1463 return NULL; 1464 DragWindow(_self->ob_itself, 1465 startPt, 1466 &boundsRect); 1467 Py_INCREF(Py_None); 1468 _res = Py_None; 1469 return _res; 1470 } 1471 1472 static PyObject *WinObj_ZoomWindow(WindowObject *_self, PyObject *_args) 1473 { 1474 PyObject *_res = NULL; 1475 WindowPartCode partCode; 1476 Boolean front; 1477 #ifndef ZoomWindow 1478 PyMac_PRECHECK(ZoomWindow); 1479 #endif 1480 if (!PyArg_ParseTuple(_args, "hb", 1481 &partCode, 1482 &front)) 1483 return NULL; 1484 ZoomWindow(_self->ob_itself, 1485 partCode, 1486 front); 1487 Py_INCREF(Py_None); 1488 _res = Py_None; 1489 return _res; 1490 } 1491 1492 static PyObject *WinObj_IsWindowCollapsable(WindowObject *_self, PyObject *_args) 1493 { 1494 PyObject *_res = NULL; 1495 Boolean _rv; 1496 #ifndef IsWindowCollapsable 1497 PyMac_PRECHECK(IsWindowCollapsable); 1498 #endif 1499 if (!PyArg_ParseTuple(_args, "")) 1500 return NULL; 1501 _rv = IsWindowCollapsable(_self->ob_itself); 1502 _res = Py_BuildValue("b", 1503 _rv); 1504 return _res; 1505 } 1506 1507 static PyObject *WinObj_IsWindowCollapsed(WindowObject *_self, PyObject *_args) 1508 { 1509 PyObject *_res = NULL; 1510 Boolean _rv; 1511 #ifndef IsWindowCollapsed 1512 PyMac_PRECHECK(IsWindowCollapsed); 1513 #endif 1514 if (!PyArg_ParseTuple(_args, "")) 1515 return NULL; 1516 _rv = IsWindowCollapsed(_self->ob_itself); 1517 _res = Py_BuildValue("b", 1518 _rv); 1519 return _res; 1520 } 1521 1522 static PyObject *WinObj_CollapseWindow(WindowObject *_self, PyObject *_args) 1523 { 1524 PyObject *_res = NULL; 1525 OSStatus _err; 1526 Boolean collapse; 1527 #ifndef CollapseWindow 1528 PyMac_PRECHECK(CollapseWindow); 1529 #endif 1530 if (!PyArg_ParseTuple(_args, "b", 1531 &collapse)) 1532 return NULL; 1533 _err = CollapseWindow(_self->ob_itself, 1534 collapse); 1535 if (_err != noErr) return PyMac_Error(_err); 1536 Py_INCREF(Py_None); 1537 _res = Py_None; 1538 return _res; 1539 } 1540 1541 static PyObject *WinObj_GetWindowBounds(WindowObject *_self, PyObject *_args) 1542 { 1543 PyObject *_res = NULL; 1544 OSStatus _err; 1545 WindowRegionCode regionCode; 1546 Rect globalBounds; 1547 #ifndef GetWindowBounds 1548 PyMac_PRECHECK(GetWindowBounds); 1549 #endif 1550 if (!PyArg_ParseTuple(_args, "H", 1551 ®ionCode)) 1552 return NULL; 1553 _err = GetWindowBounds(_self->ob_itself, 1554 regionCode, 1555 &globalBounds); 1556 if (_err != noErr) return PyMac_Error(_err); 1557 _res = Py_BuildValue("O&", 1558 PyMac_BuildRect, &globalBounds); 1559 return _res; 1560 } 1561 1562 static PyObject *WinObj_ResizeWindow(WindowObject *_self, PyObject *_args) 1563 { 1564 PyObject *_res = NULL; 1565 Boolean _rv; 1566 Point inStartPoint; 1567 Rect inSizeConstraints; 1568 Rect outNewContentRect; 1569 #ifndef ResizeWindow 1570 PyMac_PRECHECK(ResizeWindow); 1571 #endif 1572 if (!PyArg_ParseTuple(_args, "O&O&", 1573 PyMac_GetPoint, &inStartPoint, 1574 PyMac_GetRect, &inSizeConstraints)) 1575 return NULL; 1576 _rv = ResizeWindow(_self->ob_itself, 1577 inStartPoint, 1578 &inSizeConstraints, 1579 &outNewContentRect); 1580 _res = Py_BuildValue("bO&", 1581 _rv, 1582 PyMac_BuildRect, &outNewContentRect); 1583 return _res; 1584 } 1585 1586 static PyObject *WinObj_SetWindowBounds(WindowObject *_self, PyObject *_args) 1587 { 1588 PyObject *_res = NULL; 1589 OSStatus _err; 1590 WindowRegionCode regionCode; 1591 Rect globalBounds; 1592 #ifndef SetWindowBounds 1593 PyMac_PRECHECK(SetWindowBounds); 1594 #endif 1595 if (!PyArg_ParseTuple(_args, "HO&", 1596 ®ionCode, 1597 PyMac_GetRect, &globalBounds)) 1598 return NULL; 1599 _err = SetWindowBounds(_self->ob_itself, 1600 regionCode, 1601 &globalBounds); 1602 if (_err != noErr) return PyMac_Error(_err); 1603 Py_INCREF(Py_None); 1604 _res = Py_None; 1605 return _res; 1606 } 1607 1608 static PyObject *WinObj_RepositionWindow(WindowObject *_self, PyObject *_args) 1609 { 1610 PyObject *_res = NULL; 1611 OSStatus _err; 1612 WindowPtr parentWindow; 1613 WindowPositionMethod method; 1614 #ifndef RepositionWindow 1615 PyMac_PRECHECK(RepositionWindow); 1616 #endif 1617 if (!PyArg_ParseTuple(_args, "O&l", 1618 WinObj_Convert, &parentWindow, 1619 &method)) 1620 return NULL; 1621 _err = RepositionWindow(_self->ob_itself, 1622 parentWindow, 1623 method); 1624 if (_err != noErr) return PyMac_Error(_err); 1625 Py_INCREF(Py_None); 1626 _res = Py_None; 1627 return _res; 1628 } 1629 1630 static PyObject *WinObj_MoveWindowStructure(WindowObject *_self, PyObject *_args) 1631 { 1632 PyObject *_res = NULL; 1633 OSStatus _err; 1634 short hGlobal; 1635 short vGlobal; 1636 #ifndef MoveWindowStructure 1637 PyMac_PRECHECK(MoveWindowStructure); 1638 #endif 1639 if (!PyArg_ParseTuple(_args, "hh", 1640 &hGlobal, 1641 &vGlobal)) 1642 return NULL; 1643 _err = MoveWindowStructure(_self->ob_itself, 1644 hGlobal, 1645 vGlobal); 1646 if (_err != noErr) return PyMac_Error(_err); 1647 Py_INCREF(Py_None); 1648 _res = Py_None; 1649 return _res; 1650 } 1651 1652 static PyObject *WinObj_IsWindowInStandardState(WindowObject *_self, PyObject *_args) 1653 { 1654 PyObject *_res = NULL; 1655 Boolean _rv; 1656 Point inIdealSize; 1657 Rect outIdealStandardState; 1658 #ifndef IsWindowInStandardState 1659 PyMac_PRECHECK(IsWindowInStandardState); 1660 #endif 1661 if (!PyArg_ParseTuple(_args, "O&", 1662 PyMac_GetPoint, &inIdealSize)) 1663 return NULL; 1664 _rv = IsWindowInStandardState(_self->ob_itself, 1665 &inIdealSize, 1666 &outIdealStandardState); 1667 _res = Py_BuildValue("bO&", 1668 _rv, 1669 PyMac_BuildRect, &outIdealStandardState); 1670 return _res; 1671 } 1672 1673 static PyObject *WinObj_ZoomWindowIdeal(WindowObject *_self, PyObject *_args) 1674 { 1675 PyObject *_res = NULL; 1676 OSStatus _err; 1677 WindowPartCode inPartCode; 1678 Point ioIdealSize; 1679 #ifndef ZoomWindowIdeal 1680 PyMac_PRECHECK(ZoomWindowIdeal); 1681 #endif 1682 if (!PyArg_ParseTuple(_args, "h", 1683 &inPartCode)) 1684 return NULL; 1685 _err = ZoomWindowIdeal(_self->ob_itself, 1686 inPartCode, 1687 &ioIdealSize); 1688 if (_err != noErr) return PyMac_Error(_err); 1689 _res = Py_BuildValue("O&", 1690 PyMac_BuildPoint, ioIdealSize); 1691 return _res; 1692 } 1693 1694 static PyObject *WinObj_GetWindowIdealUserState(WindowObject *_self, PyObject *_args) 1695 { 1696 PyObject *_res = NULL; 1697 OSStatus _err; 1698 Rect outUserState; 1699 #ifndef GetWindowIdealUserState 1700 PyMac_PRECHECK(GetWindowIdealUserState); 1701 #endif 1702 if (!PyArg_ParseTuple(_args, "")) 1703 return NULL; 1704 _err = GetWindowIdealUserState(_self->ob_itself, 1705 &outUserState); 1706 if (_err != noErr) return PyMac_Error(_err); 1707 _res = Py_BuildValue("O&", 1708 PyMac_BuildRect, &outUserState); 1709 return _res; 1710 } 1711 1712 static PyObject *WinObj_SetWindowIdealUserState(WindowObject *_self, PyObject *_args) 1713 { 1714 PyObject *_res = NULL; 1715 OSStatus _err; 1716 Rect inUserState; 1717 #ifndef SetWindowIdealUserState 1718 PyMac_PRECHECK(SetWindowIdealUserState); 1719 #endif 1720 if (!PyArg_ParseTuple(_args, "O&", 1721 PyMac_GetRect, &inUserState)) 1722 return NULL; 1723 _err = SetWindowIdealUserState(_self->ob_itself, 1724 &inUserState); 1725 if (_err != noErr) return PyMac_Error(_err); 1726 Py_INCREF(Py_None); 1727 _res = Py_None; 1728 return _res; 1729 } 1730 1731 static PyObject *WinObj_GetWindowGreatestAreaDevice(WindowObject *_self, PyObject *_args) 1732 { 1733 PyObject *_res = NULL; 1734 OSStatus _err; 1735 WindowRegionCode inRegion; 1736 GDHandle outGreatestDevice; 1737 Rect outGreatestDeviceRect; 1738 #ifndef GetWindowGreatestAreaDevice 1739 PyMac_PRECHECK(GetWindowGreatestAreaDevice); 1740 #endif 1741 if (!PyArg_ParseTuple(_args, "H", 1742 &inRegion)) 1743 return NULL; 1744 _err = GetWindowGreatestAreaDevice(_self->ob_itself, 1745 inRegion, 1746 &outGreatestDevice, 1747 &outGreatestDeviceRect); 1748 if (_err != noErr) return PyMac_Error(_err); 1749 _res = Py_BuildValue("O&O&", 1750 ResObj_New, outGreatestDevice, 1751 PyMac_BuildRect, &outGreatestDeviceRect); 1752 return _res; 1753 } 1754 1755 static PyObject *WinObj_ConstrainWindowToScreen(WindowObject *_self, PyObject *_args) 1756 { 1757 PyObject *_res = NULL; 1758 OSStatus _err; 1759 WindowRegionCode inRegionCode; 1760 WindowConstrainOptions inOptions; 1761 Rect inScreenRect; 1762 Rect outStructure; 1763 #ifndef ConstrainWindowToScreen 1764 PyMac_PRECHECK(ConstrainWindowToScreen); 1765 #endif 1766 if (!PyArg_ParseTuple(_args, "HlO&", 1767 &inRegionCode, 1768 &inOptions, 1769 PyMac_GetRect, &inScreenRect)) 1770 return NULL; 1771 _err = ConstrainWindowToScreen(_self->ob_itself, 1772 inRegionCode, 1773 inOptions, 1774 &inScreenRect, 1775 &outStructure); 1776 if (_err != noErr) return PyMac_Error(_err); 1777 _res = Py_BuildValue("O&", 1778 PyMac_BuildRect, &outStructure); 1779 return _res; 1780 } 1781 1782 static PyObject *WinObj_HideWindow(WindowObject *_self, PyObject *_args) 1783 { 1784 PyObject *_res = NULL; 1785 #ifndef HideWindow 1786 PyMac_PRECHECK(HideWindow); 1787 #endif 1788 if (!PyArg_ParseTuple(_args, "")) 1789 return NULL; 1790 HideWindow(_self->ob_itself); 1791 Py_INCREF(Py_None); 1792 _res = Py_None; 1793 return _res; 1794 } 1795 1796 static PyObject *WinObj_MacShowWindow(WindowObject *_self, PyObject *_args) 1797 { 1798 PyObject *_res = NULL; 1799 #ifndef MacShowWindow 1800 PyMac_PRECHECK(MacShowWindow); 1801 #endif 1802 if (!PyArg_ParseTuple(_args, "")) 1803 return NULL; 1804 MacShowWindow(_self->ob_itself); 1805 Py_INCREF(Py_None); 1806 _res = Py_None; 1807 return _res; 1808 } 1809 1810 static PyObject *WinObj_ShowHide(WindowObject *_self, PyObject *_args) 1811 { 1812 PyObject *_res = NULL; 1813 Boolean showFlag; 1814 #ifndef ShowHide 1815 PyMac_PRECHECK(ShowHide); 1816 #endif 1817 if (!PyArg_ParseTuple(_args, "b", 1818 &showFlag)) 1819 return NULL; 1820 ShowHide(_self->ob_itself, 1821 showFlag); 1822 Py_INCREF(Py_None); 1823 _res = Py_None; 1824 return _res; 1825 } 1826 1827 static PyObject *WinObj_MacIsWindowVisible(WindowObject *_self, PyObject *_args) 1828 { 1829 PyObject *_res = NULL; 1830 Boolean _rv; 1831 #ifndef MacIsWindowVisible 1832 PyMac_PRECHECK(MacIsWindowVisible); 1833 #endif 1834 if (!PyArg_ParseTuple(_args, "")) 1835 return NULL; 1836 _rv = MacIsWindowVisible(_self->ob_itself); 1837 _res = Py_BuildValue("b", 1838 _rv); 1839 return _res; 1840 } 1841 1842 static PyObject *WinObj_ShowSheetWindow(WindowObject *_self, PyObject *_args) 1843 { 1844 PyObject *_res = NULL; 1845 OSStatus _err; 1846 WindowPtr inParentWindow; 1847 #ifndef ShowSheetWindow 1848 PyMac_PRECHECK(ShowSheetWindow); 1849 #endif 1850 if (!PyArg_ParseTuple(_args, "O&", 1851 WinObj_Convert, &inParentWindow)) 1852 return NULL; 1853 _err = ShowSheetWindow(_self->ob_itself, 1854 inParentWindow); 1855 if (_err != noErr) return PyMac_Error(_err); 1856 Py_INCREF(Py_None); 1857 _res = Py_None; 1858 return _res; 1859 } 1860 1861 static PyObject *WinObj_HideSheetWindow(WindowObject *_self, PyObject *_args) 1862 { 1863 PyObject *_res = NULL; 1864 OSStatus _err; 1865 #ifndef HideSheetWindow 1866 PyMac_PRECHECK(HideSheetWindow); 1867 #endif 1868 if (!PyArg_ParseTuple(_args, "")) 1869 return NULL; 1870 _err = HideSheetWindow(_self->ob_itself); 1871 if (_err != noErr) return PyMac_Error(_err); 1872 Py_INCREF(Py_None); 1873 _res = Py_None; 1874 return _res; 1875 } 1876 1877 static PyObject *WinObj_GetSheetWindowParent(WindowObject *_self, PyObject *_args) 1878 { 1879 PyObject *_res = NULL; 1880 OSStatus _err; 1881 WindowPtr outParentWindow; 1882 #ifndef GetSheetWindowParent 1883 PyMac_PRECHECK(GetSheetWindowParent); 1884 #endif 1885 if (!PyArg_ParseTuple(_args, "")) 1886 return NULL; 1887 _err = GetSheetWindowParent(_self->ob_itself, 1888 &outParentWindow); 1889 if (_err != noErr) return PyMac_Error(_err); 1890 _res = Py_BuildValue("O&", 1891 WinObj_WhichWindow, outParentWindow); 1892 return _res; 1893 } 1894 1895 static PyObject *WinObj_GetWindowPropertyAttributes(WindowObject *_self, PyObject *_args) 1896 { 1897 PyObject *_res = NULL; 1898 OSStatus _err; 1899 OSType propertyCreator; 1900 OSType propertyTag; 1901 UInt32 attributes; 1902 #ifndef GetWindowPropertyAttributes 1903 PyMac_PRECHECK(GetWindowPropertyAttributes); 1904 #endif 1905 if (!PyArg_ParseTuple(_args, "O&O&", 1906 PyMac_GetOSType, &propertyCreator, 1907 PyMac_GetOSType, &propertyTag)) 1908 return NULL; 1909 _err = GetWindowPropertyAttributes(_self->ob_itself, 1910 propertyCreator, 1911 propertyTag, 1912 &attributes); 1913 if (_err != noErr) return PyMac_Error(_err); 1914 _res = Py_BuildValue("l", 1915 attributes); 1916 return _res; 1917 } 1918 1919 static PyObject *WinObj_ChangeWindowPropertyAttributes(WindowObject *_self, PyObject *_args) 1920 { 1921 PyObject *_res = NULL; 1922 OSStatus _err; 1923 OSType propertyCreator; 1924 OSType propertyTag; 1925 UInt32 attributesToSet; 1926 UInt32 attributesToClear; 1927 #ifndef ChangeWindowPropertyAttributes 1928 PyMac_PRECHECK(ChangeWindowPropertyAttributes); 1929 #endif 1930 if (!PyArg_ParseTuple(_args, "O&O&ll", 1931 PyMac_GetOSType, &propertyCreator, 1932 PyMac_GetOSType, &propertyTag, 1933 &attributesToSet, 1934 &attributesToClear)) 1935 return NULL; 1936 _err = ChangeWindowPropertyAttributes(_self->ob_itself, 1937 propertyCreator, 1938 propertyTag, 1939 attributesToSet, 1940 attributesToClear); 1941 if (_err != noErr) return PyMac_Error(_err); 1942 Py_INCREF(Py_None); 1943 _res = Py_None; 1944 return _res; 1945 } 1946 1947 static PyObject *WinObj_TrackBox(WindowObject *_self, PyObject *_args) 1948 { 1949 PyObject *_res = NULL; 1950 Boolean _rv; 1951 Point thePt; 1952 WindowPartCode partCode; 1953 #ifndef TrackBox 1954 PyMac_PRECHECK(TrackBox); 1955 #endif 1956 if (!PyArg_ParseTuple(_args, "O&h", 1957 PyMac_GetPoint, &thePt, 1958 &partCode)) 1959 return NULL; 1960 _rv = TrackBox(_self->ob_itself, 1961 thePt, 1962 partCode); 1963 _res = Py_BuildValue("b", 1964 _rv); 1965 return _res; 1966 } 1967 1968 static PyObject *WinObj_TrackGoAway(WindowObject *_self, PyObject *_args) 1969 { 1970 PyObject *_res = NULL; 1971 Boolean _rv; 1972 Point thePt; 1973 #ifndef TrackGoAway 1974 PyMac_PRECHECK(TrackGoAway); 1975 #endif 1976 if (!PyArg_ParseTuple(_args, "O&", 1977 PyMac_GetPoint, &thePt)) 1978 return NULL; 1979 _rv = TrackGoAway(_self->ob_itself, 1980 thePt); 1981 _res = Py_BuildValue("b", 1982 _rv); 1983 return _res; 1984 } 1985 1986 static PyObject *WinObj_GetWindowPort(WindowObject *_self, PyObject *_args) 1987 { 1988 PyObject *_res = NULL; 1989 CGrafPtr _rv; 1990 #ifndef GetWindowPort 1991 PyMac_PRECHECK(GetWindowPort); 1992 #endif 1993 if (!PyArg_ParseTuple(_args, "")) 1994 return NULL; 1995 _rv = GetWindowPort(_self->ob_itself); 1996 _res = Py_BuildValue("O&", 1997 GrafObj_New, _rv); 1998 return _res; 1999 } 2000 2001 static PyObject *WinObj_GetWindowStructurePort(WindowObject *_self, PyObject *_args) 2002 { 2003 PyObject *_res = NULL; 2004 CGrafPtr _rv; 2005 #ifndef GetWindowStructurePort 2006 PyMac_PRECHECK(GetWindowStructurePort); 2007 #endif 2008 if (!PyArg_ParseTuple(_args, "")) 2009 return NULL; 2010 _rv = GetWindowStructurePort(_self->ob_itself); 2011 _res = Py_BuildValue("O&", 2012 GrafObj_New, _rv); 2013 return _res; 2014 } 2015 2016 static PyObject *WinObj_GetWindowKind(WindowObject *_self, PyObject *_args) 2017 { 2018 PyObject *_res = NULL; 2019 short _rv; 2020 #ifndef GetWindowKind 2021 PyMac_PRECHECK(GetWindowKind); 2022 #endif 2023 if (!PyArg_ParseTuple(_args, "")) 2024 return NULL; 2025 _rv = GetWindowKind(_self->ob_itself); 2026 _res = Py_BuildValue("h", 2027 _rv); 2028 return _res; 2029 } 2030 2031 static PyObject *WinObj_IsWindowHilited(WindowObject *_self, PyObject *_args) 2032 { 2033 PyObject *_res = NULL; 2034 Boolean _rv; 2035 #ifndef IsWindowHilited 2036 PyMac_PRECHECK(IsWindowHilited); 2037 #endif 2038 if (!PyArg_ParseTuple(_args, "")) 2039 return NULL; 2040 _rv = IsWindowHilited(_self->ob_itself); 2041 _res = Py_BuildValue("b", 2042 _rv); 2043 return _res; 2044 } 2045 2046 static PyObject *WinObj_IsWindowUpdatePending(WindowObject *_self, PyObject *_args) 2047 { 2048 PyObject *_res = NULL; 2049 Boolean _rv; 2050 #ifndef IsWindowUpdatePending 2051 PyMac_PRECHECK(IsWindowUpdatePending); 2052 #endif 2053 if (!PyArg_ParseTuple(_args, "")) 2054 return NULL; 2055 _rv = IsWindowUpdatePending(_self->ob_itself); 2056 _res = Py_BuildValue("b", 2057 _rv); 2058 return _res; 2059 } 2060 2061 static PyObject *WinObj_MacGetNextWindow(WindowObject *_self, PyObject *_args) 2062 { 2063 PyObject *_res = NULL; 2064 WindowPtr _rv; 2065 #ifndef MacGetNextWindow 2066 PyMac_PRECHECK(MacGetNextWindow); 2067 #endif 2068 if (!PyArg_ParseTuple(_args, "")) 2069 return NULL; 2070 _rv = MacGetNextWindow(_self->ob_itself); 2071 _res = Py_BuildValue("O&", 2072 WinObj_New, _rv); 2073 return _res; 2074 } 2075 2076 static PyObject *WinObj_GetWindowStandardState(WindowObject *_self, PyObject *_args) 2077 { 2078 PyObject *_res = NULL; 2079 Rect rect; 2080 #ifndef GetWindowStandardState 2081 PyMac_PRECHECK(GetWindowStandardState); 2082 #endif 2083 if (!PyArg_ParseTuple(_args, "")) 2084 return NULL; 2085 GetWindowStandardState(_self->ob_itself, 2086 &rect); 2087 _res = Py_BuildValue("O&", 2088 PyMac_BuildRect, &rect); 2089 return _res; 2090 } 2091 2092 static PyObject *WinObj_GetWindowUserState(WindowObject *_self, PyObject *_args) 2093 { 2094 PyObject *_res = NULL; 2095 Rect rect; 2096 #ifndef GetWindowUserState 2097 PyMac_PRECHECK(GetWindowUserState); 2098 #endif 2099 if (!PyArg_ParseTuple(_args, "")) 2100 return NULL; 2101 GetWindowUserState(_self->ob_itself, 2102 &rect); 2103 _res = Py_BuildValue("O&", 2104 PyMac_BuildRect, &rect); 2105 return _res; 2106 } 2107 2108 static PyObject *WinObj_SetWindowKind(WindowObject *_self, PyObject *_args) 2109 { 2110 PyObject *_res = NULL; 2111 short kind; 2112 #ifndef SetWindowKind 2113 PyMac_PRECHECK(SetWindowKind); 2114 #endif 2115 if (!PyArg_ParseTuple(_args, "h", 2116 &kind)) 2117 return NULL; 2118 SetWindowKind(_self->ob_itself, 2119 kind); 2120 Py_INCREF(Py_None); 2121 _res = Py_None; 2122 return _res; 2123 } 2124 2125 static PyObject *WinObj_SetWindowStandardState(WindowObject *_self, PyObject *_args) 2126 { 2127 PyObject *_res = NULL; 2128 Rect rect; 2129 #ifndef SetWindowStandardState 2130 PyMac_PRECHECK(SetWindowStandardState); 2131 #endif 2132 if (!PyArg_ParseTuple(_args, "O&", 2133 PyMac_GetRect, &rect)) 2134 return NULL; 2135 SetWindowStandardState(_self->ob_itself, 2136 &rect); 2137 Py_INCREF(Py_None); 2138 _res = Py_None; 2139 return _res; 2140 } 2141 2142 static PyObject *WinObj_SetWindowUserState(WindowObject *_self, PyObject *_args) 2143 { 2144 PyObject *_res = NULL; 2145 Rect rect; 2146 #ifndef SetWindowUserState 2147 PyMac_PRECHECK(SetWindowUserState); 2148 #endif 2149 if (!PyArg_ParseTuple(_args, "O&", 2150 PyMac_GetRect, &rect)) 2151 return NULL; 2152 SetWindowUserState(_self->ob_itself, 2153 &rect); 2154 Py_INCREF(Py_None); 2155 _res = Py_None; 2156 return _res; 2157 } 2158 2159 static PyObject *WinObj_SetPortWindowPort(WindowObject *_self, PyObject *_args) 2160 { 2161 PyObject *_res = NULL; 2162 #ifndef SetPortWindowPort 2163 PyMac_PRECHECK(SetPortWindowPort); 2164 #endif 2165 if (!PyArg_ParseTuple(_args, "")) 2166 return NULL; 2167 SetPortWindowPort(_self->ob_itself); 2168 Py_INCREF(Py_None); 2169 _res = Py_None; 2170 return _res; 2171 } 2172 2173 static PyObject *WinObj_GetWindowPortBounds(WindowObject *_self, PyObject *_args) 2174 { 2175 PyObject *_res = NULL; 2176 Rect bounds; 2177 #ifndef GetWindowPortBounds 2178 PyMac_PRECHECK(GetWindowPortBounds); 2179 #endif 2180 if (!PyArg_ParseTuple(_args, "")) 2181 return NULL; 2182 GetWindowPortBounds(_self->ob_itself, 2183 &bounds); 2184 _res = Py_BuildValue("O&", 2185 PyMac_BuildRect, &bounds); 2186 return _res; 2187 } 2188 2189 static PyObject *WinObj_IsWindowVisible(WindowObject *_self, PyObject *_args) 2190 { 2191 PyObject *_res = NULL; 2192 Boolean _rv; 2193 #ifndef IsWindowVisible 2194 PyMac_PRECHECK(IsWindowVisible); 2195 #endif 2196 if (!PyArg_ParseTuple(_args, "")) 2197 return NULL; 2198 _rv = IsWindowVisible(_self->ob_itself); 2199 _res = Py_BuildValue("b", 2200 _rv); 2201 return _res; 2202 } 2203 2204 static PyObject *WinObj_GetWindowStructureRgn(WindowObject *_self, PyObject *_args) 2205 { 2206 PyObject *_res = NULL; 2207 RgnHandle r; 2208 #ifndef GetWindowStructureRgn 2209 PyMac_PRECHECK(GetWindowStructureRgn); 2210 #endif 2211 if (!PyArg_ParseTuple(_args, "O&", 2212 ResObj_Convert, &r)) 2213 return NULL; 2214 GetWindowStructureRgn(_self->ob_itself, 2215 r); 2216 Py_INCREF(Py_None); 2217 _res = Py_None; 2218 return _res; 2219 } 2220 2221 static PyObject *WinObj_GetWindowContentRgn(WindowObject *_self, PyObject *_args) 2222 { 2223 PyObject *_res = NULL; 2224 RgnHandle r; 2225 #ifndef GetWindowContentRgn 2226 PyMac_PRECHECK(GetWindowContentRgn); 2227 #endif 2228 if (!PyArg_ParseTuple(_args, "O&", 2229 ResObj_Convert, &r)) 2230 return NULL; 2231 GetWindowContentRgn(_self->ob_itself, 2232 r); 2233 Py_INCREF(Py_None); 2234 _res = Py_None; 2235 return _res; 2236 } 2237 2238 static PyObject *WinObj_GetWindowUpdateRgn(WindowObject *_self, PyObject *_args) 2239 { 2240 PyObject *_res = NULL; 2241 RgnHandle r; 2242 #ifndef GetWindowUpdateRgn 2243 PyMac_PRECHECK(GetWindowUpdateRgn); 2244 #endif 2245 if (!PyArg_ParseTuple(_args, "O&", 2246 ResObj_Convert, &r)) 2247 return NULL; 2248 GetWindowUpdateRgn(_self->ob_itself, 2249 r); 2250 Py_INCREF(Py_None); 2251 _res = Py_None; 2252 return _res; 2253 } 2254 2255 static PyObject *WinObj_GetNextWindow(WindowObject *_self, PyObject *_args) 2256 { 2257 PyObject *_res = NULL; 2258 WindowPtr _rv; 2259 #ifndef GetNextWindow 2260 PyMac_PRECHECK(GetNextWindow); 2261 #endif 2262 if (!PyArg_ParseTuple(_args, "")) 2263 return NULL; 2264 _rv = GetNextWindow(_self->ob_itself); 2265 _res = Py_BuildValue("O&", 2266 WinObj_WhichWindow, _rv); 2267 return _res; 2268 } 2269 2270 static PyObject *WinObj_MoveWindow(WindowObject *_self, PyObject *_args) 2271 { 2272 PyObject *_res = NULL; 2273 short hGlobal; 2274 short vGlobal; 2275 Boolean front; 2276 #ifndef MoveWindow 2277 PyMac_PRECHECK(MoveWindow); 2278 #endif 2279 if (!PyArg_ParseTuple(_args, "hhb", 2280 &hGlobal, 2281 &vGlobal, 2282 &front)) 2283 return NULL; 2284 MoveWindow(_self->ob_itself, 2285 hGlobal, 2286 vGlobal, 2287 front); 2288 Py_INCREF(Py_None); 2289 _res = Py_None; 2290 return _res; 2291 } 2292 2293 static PyObject *WinObj_ShowWindow(WindowObject *_self, PyObject *_args) 2294 { 2295 PyObject *_res = NULL; 2296 #ifndef ShowWindow 2297 PyMac_PRECHECK(ShowWindow); 2298 #endif 2299 if (!PyArg_ParseTuple(_args, "")) 2300 return NULL; 2301 ShowWindow(_self->ob_itself); 2302 Py_INCREF(Py_None); 2303 _res = Py_None; 2304 return _res; 2305 } 2306 2307 static PyObject *WinObj_AutoDispose(WindowObject *_self, PyObject *_args) 2308 { 2309 PyObject *_res = NULL; 2310 2311 int onoff, old = 0; 2312 if (!PyArg_ParseTuple(_args, "i", &onoff)) 2313 return NULL; 2314 if ( _self->ob_freeit ) 2315 old = 1; 2316 if ( onoff ) 2317 _self->ob_freeit = PyMac_AutoDisposeWindow; 2318 else 2319 _self->ob_freeit = NULL; 2320 _res = Py_BuildValue("i", old); 2321 return _res; 2322 2323 } 2324 2325 static PyMethodDef WinObj_methods[] = { 2326 {"GetWindowOwnerCount", (PyCFunction)WinObj_GetWindowOwnerCount, 1, 2327 PyDoc_STR("() -> (UInt32 outCount)")}, 2328 {"CloneWindow", (PyCFunction)WinObj_CloneWindow, 1, 2329 PyDoc_STR("() -> None")}, 2330 {"GetWindowRetainCount", (PyCFunction)WinObj_GetWindowRetainCount, 1, 2331 PyDoc_STR("() -> (ItemCount _rv)")}, 2332 {"RetainWindow", (PyCFunction)WinObj_RetainWindow, 1, 2333 PyDoc_STR("() -> None")}, 2334 {"ReleaseWindow", (PyCFunction)WinObj_ReleaseWindow, 1, 2335 PyDoc_STR("() -> None")}, 2336 {"ReshapeCustomWindow", (PyCFunction)WinObj_ReshapeCustomWindow, 1, 2337 PyDoc_STR("() -> None")}, 2338 {"GetWindowWidgetHilite", (PyCFunction)WinObj_GetWindowWidgetHilite, 1, 2339 PyDoc_STR("() -> (WindowDefPartCode outHilite)")}, 2340 {"GetWindowClass", (PyCFunction)WinObj_GetWindowClass, 1, 2341 PyDoc_STR("() -> (WindowClass outClass)")}, 2342 {"GetWindowAttributes", (PyCFunction)WinObj_GetWindowAttributes, 1, 2343 PyDoc_STR("() -> (WindowAttributes outAttributes)")}, 2344 {"ChangeWindowAttributes", (PyCFunction)WinObj_ChangeWindowAttributes, 1, 2345 PyDoc_STR("(WindowAttributes setTheseAttributes, WindowAttributes clearTheseAttributes) -> None")}, 2346 {"SetWindowClass", (PyCFunction)WinObj_SetWindowClass, 1, 2347 PyDoc_STR("(WindowClass inWindowClass) -> None")}, 2348 {"SetWindowModality", (PyCFunction)WinObj_SetWindowModality, 1, 2349 PyDoc_STR("(WindowModality inModalKind, WindowPtr inUnavailableWindow) -> None")}, 2350 {"GetWindowModality", (PyCFunction)WinObj_GetWindowModality, 1, 2351 PyDoc_STR("() -> (WindowModality outModalKind, WindowPtr outUnavailableWindow)")}, 2352 {"SetWindowContentColor", (PyCFunction)WinObj_SetWindowContentColor, 1, 2353 PyDoc_STR("(RGBColor color) -> None")}, 2354 {"GetWindowContentColor", (PyCFunction)WinObj_GetWindowContentColor, 1, 2355 PyDoc_STR("() -> (RGBColor color)")}, 2356 {"GetWindowContentPattern", (PyCFunction)WinObj_GetWindowContentPattern, 1, 2357 PyDoc_STR("(PixPatHandle outPixPat) -> None")}, 2358 {"SetWindowContentPattern", (PyCFunction)WinObj_SetWindowContentPattern, 1, 2359 PyDoc_STR("(PixPatHandle pixPat) -> None")}, 2360 {"ScrollWindowRect", (PyCFunction)WinObj_ScrollWindowRect, 1, 2361 PyDoc_STR("(Rect inScrollRect, SInt16 inHPixels, SInt16 inVPixels, ScrollWindowOptions inOptions, RgnHandle outExposedRgn) -> None")}, 2362 {"ScrollWindowRegion", (PyCFunction)WinObj_ScrollWindowRegion, 1, 2363 PyDoc_STR("(RgnHandle inScrollRgn, SInt16 inHPixels, SInt16 inVPixels, ScrollWindowOptions inOptions, RgnHandle outExposedRgn) -> None")}, 2364 {"ClipAbove", (PyCFunction)WinObj_ClipAbove, 1, 2365 PyDoc_STR("() -> None")}, 2366 {"PaintOne", (PyCFunction)WinObj_PaintOne, 1, 2367 PyDoc_STR("(RgnHandle clobberedRgn) -> None")}, 2368 {"PaintBehind", (PyCFunction)WinObj_PaintBehind, 1, 2369 PyDoc_STR("(RgnHandle clobberedRgn) -> None")}, 2370 {"CalcVis", (PyCFunction)WinObj_CalcVis, 1, 2371 PyDoc_STR("() -> None")}, 2372 {"CalcVisBehind", (PyCFunction)WinObj_CalcVisBehind, 1, 2373 PyDoc_STR("(RgnHandle clobberedRgn) -> None")}, 2374 {"BringToFront", (PyCFunction)WinObj_BringToFront, 1, 2375 PyDoc_STR("() -> None")}, 2376 {"SendBehind", (PyCFunction)WinObj_SendBehind, 1, 2377 PyDoc_STR("(WindowPtr behindWindow) -> None")}, 2378 {"SelectWindow", (PyCFunction)WinObj_SelectWindow, 1, 2379 PyDoc_STR("() -> None")}, 2380 {"GetNextWindowOfClass", (PyCFunction)WinObj_GetNextWindowOfClass, 1, 2381 PyDoc_STR("(WindowClass inWindowClass, Boolean mustBeVisible) -> (WindowPtr _rv)")}, 2382 {"SetWindowAlternateTitle", (PyCFunction)WinObj_SetWindowAlternateTitle, 1, 2383 PyDoc_STR("(CFStringRef inTitle) -> None")}, 2384 {"CopyWindowAlternateTitle", (PyCFunction)WinObj_CopyWindowAlternateTitle, 1, 2385 PyDoc_STR("() -> (CFStringRef outTitle)")}, 2386 {"HiliteWindow", (PyCFunction)WinObj_HiliteWindow, 1, 2387 PyDoc_STR("(Boolean fHilite) -> None")}, 2388 {"SetWRefCon", (PyCFunction)WinObj_SetWRefCon, 1, 2389 PyDoc_STR("(long data) -> None")}, 2390 {"GetWRefCon", (PyCFunction)WinObj_GetWRefCon, 1, 2391 PyDoc_STR("() -> (long _rv)")}, 2392 {"SetWindowPic", (PyCFunction)WinObj_SetWindowPic, 1, 2393 PyDoc_STR("(PicHandle pic) -> None")}, 2394 {"GetWindowPic", (PyCFunction)WinObj_GetWindowPic, 1, 2395 PyDoc_STR("() -> (PicHandle _rv)")}, 2396 {"GetWVariant", (PyCFunction)WinObj_GetWVariant, 1, 2397 PyDoc_STR("() -> (short _rv)")}, 2398 {"GetWindowFeatures", (PyCFunction)WinObj_GetWindowFeatures, 1, 2399 PyDoc_STR("() -> (UInt32 outFeatures)")}, 2400 {"GetWindowRegion", (PyCFunction)WinObj_GetWindowRegion, 1, 2401 PyDoc_STR("(WindowRegionCode inRegionCode, RgnHandle ioWinRgn) -> None")}, 2402 {"GetWindowStructureWidths", (PyCFunction)WinObj_GetWindowStructureWidths, 1, 2403 PyDoc_STR("() -> (Rect outRect)")}, 2404 {"BeginUpdate", (PyCFunction)WinObj_BeginUpdate, 1, 2405 PyDoc_STR("() -> None")}, 2406 {"EndUpdate", (PyCFunction)WinObj_EndUpdate, 1, 2407 PyDoc_STR("() -> None")}, 2408 {"InvalWindowRgn", (PyCFunction)WinObj_InvalWindowRgn, 1, 2409 PyDoc_STR("(RgnHandle region) -> None")}, 2410 {"InvalWindowRect", (PyCFunction)WinObj_InvalWindowRect, 1, 2411 PyDoc_STR("(Rect bounds) -> None")}, 2412 {"ValidWindowRgn", (PyCFunction)WinObj_ValidWindowRgn, 1, 2413 PyDoc_STR("(RgnHandle region) -> None")}, 2414 {"ValidWindowRect", (PyCFunction)WinObj_ValidWindowRect, 1, 2415 PyDoc_STR("(Rect bounds) -> None")}, 2416 {"DrawGrowIcon", (PyCFunction)WinObj_DrawGrowIcon, 1, 2417 PyDoc_STR("() -> None")}, 2418 {"SetWTitle", (PyCFunction)WinObj_SetWTitle, 1, 2419 PyDoc_STR("(Str255 title) -> None")}, 2420 {"GetWTitle", (PyCFunction)WinObj_GetWTitle, 1, 2421 PyDoc_STR("() -> (Str255 title)")}, 2422 {"SetWindowTitleWithCFString", (PyCFunction)WinObj_SetWindowTitleWithCFString, 1, 2423 PyDoc_STR("(CFStringRef inString) -> None")}, 2424 {"CopyWindowTitleAsCFString", (PyCFunction)WinObj_CopyWindowTitleAsCFString, 1, 2425 PyDoc_STR("() -> (CFStringRef outString)")}, 2426 {"SetWindowProxyFSSpec", (PyCFunction)WinObj_SetWindowProxyFSSpec, 1, 2427 PyDoc_STR("(FSSpec inFile) -> None")}, 2428 {"GetWindowProxyFSSpec", (PyCFunction)WinObj_GetWindowProxyFSSpec, 1, 2429 PyDoc_STR("() -> (FSSpec outFile)")}, 2430 {"SetWindowProxyAlias", (PyCFunction)WinObj_SetWindowProxyAlias, 1, 2431 PyDoc_STR("(AliasHandle inAlias) -> None")}, 2432 {"GetWindowProxyAlias", (PyCFunction)WinObj_GetWindowProxyAlias, 1, 2433 PyDoc_STR("() -> (AliasHandle alias)")}, 2434 {"SetWindowProxyCreatorAndType", (PyCFunction)WinObj_SetWindowProxyCreatorAndType, 1, 2435 PyDoc_STR("(OSType fileCreator, OSType fileType, SInt16 vRefNum) -> None")}, 2436 {"GetWindowProxyIcon", (PyCFunction)WinObj_GetWindowProxyIcon, 1, 2437 PyDoc_STR("() -> (IconRef outIcon)")}, 2438 {"SetWindowProxyIcon", (PyCFunction)WinObj_SetWindowProxyIcon, 1, 2439 PyDoc_STR("(IconRef icon) -> None")}, 2440 {"RemoveWindowProxy", (PyCFunction)WinObj_RemoveWindowProxy, 1, 2441 PyDoc_STR("() -> None")}, 2442 {"BeginWindowProxyDrag", (PyCFunction)WinObj_BeginWindowProxyDrag, 1, 2443 PyDoc_STR("(RgnHandle outDragOutlineRgn) -> (DragReference outNewDrag)")}, 2444 {"EndWindowProxyDrag", (PyCFunction)WinObj_EndWindowProxyDrag, 1, 2445 PyDoc_STR("(DragReference theDrag) -> None")}, 2446 {"TrackWindowProxyFromExistingDrag", (PyCFunction)WinObj_TrackWindowProxyFromExistingDrag, 1, 2447 PyDoc_STR("(Point startPt, DragReference drag, RgnHandle inDragOutlineRgn) -> None")}, 2448 {"TrackWindowProxyDrag", (PyCFunction)WinObj_TrackWindowProxyDrag, 1, 2449 PyDoc_STR("(Point startPt) -> None")}, 2450 {"IsWindowModified", (PyCFunction)WinObj_IsWindowModified, 1, 2451 PyDoc_STR("() -> (Boolean _rv)")}, 2452 {"SetWindowModified", (PyCFunction)WinObj_SetWindowModified, 1, 2453 PyDoc_STR("(Boolean modified) -> None")}, 2454 {"IsWindowPathSelectClick", (PyCFunction)WinObj_IsWindowPathSelectClick, 1, 2455 PyDoc_STR("(EventRecord event) -> (Boolean _rv)")}, 2456 {"WindowPathSelect", (PyCFunction)WinObj_WindowPathSelect, 1, 2457 PyDoc_STR("(MenuHandle menu) -> (SInt32 outMenuResult)")}, 2458 {"HiliteWindowFrameForDrag", (PyCFunction)WinObj_HiliteWindowFrameForDrag, 1, 2459 PyDoc_STR("(Boolean hilited) -> None")}, 2460 {"TransitionWindow", (PyCFunction)WinObj_TransitionWindow, 1, 2461 PyDoc_STR("(WindowTransitionEffect inEffect, WindowTransitionAction inAction, Rect inRect) -> None")}, 2462 {"TransitionWindowAndParent", (PyCFunction)WinObj_TransitionWindowAndParent, 1, 2463 PyDoc_STR("(WindowPtr inParentWindow, WindowTransitionEffect inEffect, WindowTransitionAction inAction, Rect inRect) -> None")}, 2464 {"MacMoveWindow", (PyCFunction)WinObj_MacMoveWindow, 1, 2465 PyDoc_STR("(short hGlobal, short vGlobal, Boolean front) -> None")}, 2466 {"SizeWindow", (PyCFunction)WinObj_SizeWindow, 1, 2467 PyDoc_STR("(short w, short h, Boolean fUpdate) -> None")}, 2468 {"GrowWindow", (PyCFunction)WinObj_GrowWindow, 1, 2469 PyDoc_STR("(Point startPt, Rect bBox) -> (long _rv)")}, 2470 {"DragWindow", (PyCFunction)WinObj_DragWindow, 1, 2471 PyDoc_STR("(Point startPt, Rect boundsRect) -> None")}, 2472 {"ZoomWindow", (PyCFunction)WinObj_ZoomWindow, 1, 2473 PyDoc_STR("(WindowPartCode partCode, Boolean front) -> None")}, 2474 {"IsWindowCollapsable", (PyCFunction)WinObj_IsWindowCollapsable, 1, 2475 PyDoc_STR("() -> (Boolean _rv)")}, 2476 {"IsWindowCollapsed", (PyCFunction)WinObj_IsWindowCollapsed, 1, 2477 PyDoc_STR("() -> (Boolean _rv)")}, 2478 {"CollapseWindow", (PyCFunction)WinObj_CollapseWindow, 1, 2479 PyDoc_STR("(Boolean collapse) -> None")}, 2480 {"GetWindowBounds", (PyCFunction)WinObj_GetWindowBounds, 1, 2481 PyDoc_STR("(WindowRegionCode regionCode) -> (Rect globalBounds)")}, 2482 {"ResizeWindow", (PyCFunction)WinObj_ResizeWindow, 1, 2483 PyDoc_STR("(Point inStartPoint, Rect inSizeConstraints) -> (Boolean _rv, Rect outNewContentRect)")}, 2484 {"SetWindowBounds", (PyCFunction)WinObj_SetWindowBounds, 1, 2485 PyDoc_STR("(WindowRegionCode regionCode, Rect globalBounds) -> None")}, 2486 {"RepositionWindow", (PyCFunction)WinObj_RepositionWindow, 1, 2487 PyDoc_STR("(WindowPtr parentWindow, WindowPositionMethod method) -> None")}, 2488 {"MoveWindowStructure", (PyCFunction)WinObj_MoveWindowStructure, 1, 2489 PyDoc_STR("(short hGlobal, short vGlobal) -> None")}, 2490 {"IsWindowInStandardState", (PyCFunction)WinObj_IsWindowInStandardState, 1, 2491 PyDoc_STR("(Point inIdealSize) -> (Boolean _rv, Rect outIdealStandardState)")}, 2492 {"ZoomWindowIdeal", (PyCFunction)WinObj_ZoomWindowIdeal, 1, 2493 PyDoc_STR("(WindowPartCode inPartCode) -> (Point ioIdealSize)")}, 2494 {"GetWindowIdealUserState", (PyCFunction)WinObj_GetWindowIdealUserState, 1, 2495 PyDoc_STR("() -> (Rect outUserState)")}, 2496 {"SetWindowIdealUserState", (PyCFunction)WinObj_SetWindowIdealUserState, 1, 2497 PyDoc_STR("(Rect inUserState) -> None")}, 2498 {"GetWindowGreatestAreaDevice", (PyCFunction)WinObj_GetWindowGreatestAreaDevice, 1, 2499 PyDoc_STR("(WindowRegionCode inRegion) -> (GDHandle outGreatestDevice, Rect outGreatestDeviceRect)")}, 2500 {"ConstrainWindowToScreen", (PyCFunction)WinObj_ConstrainWindowToScreen, 1, 2501 PyDoc_STR("(WindowRegionCode inRegionCode, WindowConstrainOptions inOptions, Rect inScreenRect) -> (Rect outStructure)")}, 2502 {"HideWindow", (PyCFunction)WinObj_HideWindow, 1, 2503 PyDoc_STR("() -> None")}, 2504 {"MacShowWindow", (PyCFunction)WinObj_MacShowWindow, 1, 2505 PyDoc_STR("() -> None")}, 2506 {"ShowHide", (PyCFunction)WinObj_ShowHide, 1, 2507 PyDoc_STR("(Boolean showFlag) -> None")}, 2508 {"MacIsWindowVisible", (PyCFunction)WinObj_MacIsWindowVisible, 1, 2509 PyDoc_STR("() -> (Boolean _rv)")}, 2510 {"ShowSheetWindow", (PyCFunction)WinObj_ShowSheetWindow, 1, 2511 PyDoc_STR("(WindowPtr inParentWindow) -> None")}, 2512 {"HideSheetWindow", (PyCFunction)WinObj_HideSheetWindow, 1, 2513 PyDoc_STR("() -> None")}, 2514 {"GetSheetWindowParent", (PyCFunction)WinObj_GetSheetWindowParent, 1, 2515 PyDoc_STR("() -> (WindowPtr outParentWindow)")}, 2516 {"GetWindowPropertyAttributes", (PyCFunction)WinObj_GetWindowPropertyAttributes, 1, 2517 PyDoc_STR("(OSType propertyCreator, OSType propertyTag) -> (UInt32 attributes)")}, 2518 {"ChangeWindowPropertyAttributes", (PyCFunction)WinObj_ChangeWindowPropertyAttributes, 1, 2519 PyDoc_STR("(OSType propertyCreator, OSType propertyTag, UInt32 attributesToSet, UInt32 attributesToClear) -> None")}, 2520 {"TrackBox", (PyCFunction)WinObj_TrackBox, 1, 2521 PyDoc_STR("(Point thePt, WindowPartCode partCode) -> (Boolean _rv)")}, 2522 {"TrackGoAway", (PyCFunction)WinObj_TrackGoAway, 1, 2523 PyDoc_STR("(Point thePt) -> (Boolean _rv)")}, 2524 {"GetWindowPort", (PyCFunction)WinObj_GetWindowPort, 1, 2525 PyDoc_STR("() -> (CGrafPtr _rv)")}, 2526 {"GetWindowStructurePort", (PyCFunction)WinObj_GetWindowStructurePort, 1, 2527 PyDoc_STR("() -> (CGrafPtr _rv)")}, 2528 {"GetWindowKind", (PyCFunction)WinObj_GetWindowKind, 1, 2529 PyDoc_STR("() -> (short _rv)")}, 2530 {"IsWindowHilited", (PyCFunction)WinObj_IsWindowHilited, 1, 2531 PyDoc_STR("() -> (Boolean _rv)")}, 2532 {"IsWindowUpdatePending", (PyCFunction)WinObj_IsWindowUpdatePending, 1, 2533 PyDoc_STR("() -> (Boolean _rv)")}, 2534 {"MacGetNextWindow", (PyCFunction)WinObj_MacGetNextWindow, 1, 2535 PyDoc_STR("() -> (WindowPtr _rv)")}, 2536 {"GetWindowStandardState", (PyCFunction)WinObj_GetWindowStandardState, 1, 2537 PyDoc_STR("() -> (Rect rect)")}, 2538 {"GetWindowUserState", (PyCFunction)WinObj_GetWindowUserState, 1, 2539 PyDoc_STR("() -> (Rect rect)")}, 2540 {"SetWindowKind", (PyCFunction)WinObj_SetWindowKind, 1, 2541 PyDoc_STR("(short kind) -> None")}, 2542 {"SetWindowStandardState", (PyCFunction)WinObj_SetWindowStandardState, 1, 2543 PyDoc_STR("(Rect rect) -> None")}, 2544 {"SetWindowUserState", (PyCFunction)WinObj_SetWindowUserState, 1, 2545 PyDoc_STR("(Rect rect) -> None")}, 2546 {"SetPortWindowPort", (PyCFunction)WinObj_SetPortWindowPort, 1, 2547 PyDoc_STR("() -> None")}, 2548 {"GetWindowPortBounds", (PyCFunction)WinObj_GetWindowPortBounds, 1, 2549 PyDoc_STR("() -> (Rect bounds)")}, 2550 {"IsWindowVisible", (PyCFunction)WinObj_IsWindowVisible, 1, 2551 PyDoc_STR("() -> (Boolean _rv)")}, 2552 {"GetWindowStructureRgn", (PyCFunction)WinObj_GetWindowStructureRgn, 1, 2553 PyDoc_STR("(RgnHandle r) -> None")}, 2554 {"GetWindowContentRgn", (PyCFunction)WinObj_GetWindowContentRgn, 1, 2555 PyDoc_STR("(RgnHandle r) -> None")}, 2556 {"GetWindowUpdateRgn", (PyCFunction)WinObj_GetWindowUpdateRgn, 1, 2557 PyDoc_STR("(RgnHandle r) -> None")}, 2558 {"GetNextWindow", (PyCFunction)WinObj_GetNextWindow, 1, 2559 PyDoc_STR("() -> (WindowPtr _rv)")}, 2560 {"MoveWindow", (PyCFunction)WinObj_MoveWindow, 1, 2561 PyDoc_STR("(short hGlobal, short vGlobal, Boolean front) -> None")}, 2562 {"ShowWindow", (PyCFunction)WinObj_ShowWindow, 1, 2563 PyDoc_STR("() -> None")}, 2564 {"AutoDispose", (PyCFunction)WinObj_AutoDispose, 1, 2565 PyDoc_STR("(int)->int. Automatically DisposeHandle the object on Python object cleanup")}, 2566 {NULL, NULL, 0} 2567 }; 2568 2569 #define WinObj_getsetlist NULL 2570 2571 2572 static int WinObj_compare(WindowObject *self, WindowObject *other) 2573 { 2574 if ( self->ob_itself > other->ob_itself ) return 1; 2575 if ( self->ob_itself < other->ob_itself ) return -1; 2576 return 0; 2577 } 2578 2579 static PyObject * WinObj_repr(WindowObject *self) 2580 { 2581 char buf[100]; 2582 sprintf(buf, "<Window object at 0x%8.8x for 0x%8.8x>", (unsigned)self, (unsigned)self->ob_itself); 2583 return PyString_FromString(buf); 2584 } 2585 2586 static int WinObj_hash(WindowObject *self) 2587 { 2588 return (int)self->ob_itself; 2589 } 2590 #define WinObj_tp_init 0 2591 2592 #define WinObj_tp_alloc PyType_GenericAlloc 2593 2594 static PyObject *WinObj_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds) 2595 { 2596 PyObject *_self; 2597 WindowPtr itself; 2598 char *kw[] = {"itself", 0}; 2599 2600 if (!PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw, WinObj_Convert, &itself)) return NULL; 2601 if ((_self = type->tp_alloc(type, 0)) == NULL) return NULL; 2602 ((WindowObject *)_self)->ob_itself = itself; 2603 return _self; 2604 } 2605 2606 #define WinObj_tp_free PyObject_Del 2607 2608 2609 PyTypeObject Window_Type = { 2610 PyObject_HEAD_INIT(NULL) 2611 0, /*ob_size*/ 2612 "_Win.Window", /*tp_name*/ 2613 sizeof(WindowObject), /*tp_basicsize*/ 2614 0, /*tp_itemsize*/ 2615 /* methods */ 2616 (destructor) WinObj_dealloc, /*tp_dealloc*/ 2617 0, /*tp_print*/ 2618 (getattrfunc)0, /*tp_getattr*/ 2619 (setattrfunc)0, /*tp_setattr*/ 2620 (cmpfunc) WinObj_compare, /*tp_compare*/ 2621 (reprfunc) WinObj_repr, /*tp_repr*/ 2622 (PyNumberMethods *)0, /* tp_as_number */ 2623 (PySequenceMethods *)0, /* tp_as_sequence */ 2624 (PyMappingMethods *)0, /* tp_as_mapping */ 2625 (hashfunc) WinObj_hash, /*tp_hash*/ 2626 0, /*tp_call*/ 2627 0, /*tp_str*/ 2628 PyObject_GenericGetAttr, /*tp_getattro*/ 2629 PyObject_GenericSetAttr, /*tp_setattro */ 2630 0, /*tp_as_buffer*/ 2631 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */ 2632 0, /*tp_doc*/ 2633 0, /*tp_traverse*/ 2634 0, /*tp_clear*/ 2635 0, /*tp_richcompare*/ 2636 0, /*tp_weaklistoffset*/ 2637 0, /*tp_iter*/ 2638 0, /*tp_iternext*/ 2639 WinObj_methods, /* tp_methods */ 2640 0, /*tp_members*/ 2641 WinObj_getsetlist, /*tp_getset*/ 2642 0, /*tp_base*/ 2643 0, /*tp_dict*/ 2644 0, /*tp_descr_get*/ 2645 0, /*tp_descr_set*/ 2646 0, /*tp_dictoffset*/ 2647 WinObj_tp_init, /* tp_init */ 2648 WinObj_tp_alloc, /* tp_alloc */ 2649 WinObj_tp_new, /* tp_new */ 2650 WinObj_tp_free, /* tp_free */ 2651 }; 2652 2653 /* --------------------- End object type Window --------------------- */ 2654 2655 2656 static PyObject *Win_GetNewCWindow(PyObject *_self, PyObject *_args) 2657 { 2658 PyObject *_res = NULL; 2659 WindowPtr _rv; 2660 short windowID; 2661 WindowPtr behind; 2662 #ifndef GetNewCWindow 2663 PyMac_PRECHECK(GetNewCWindow); 2664 #endif 2665 if (!PyArg_ParseTuple(_args, "hO&", 2666 &windowID, 2667 WinObj_Convert, &behind)) 2668 return NULL; 2669 _rv = GetNewCWindow(windowID, 2670 (void *)0, 2671 behind); 2672 _res = Py_BuildValue("O&", 2673 WinObj_New, _rv); 2674 return _res; 2675 } 2676 2677 static PyObject *Win_NewWindow(PyObject *_self, PyObject *_args) 2678 { 2679 PyObject *_res = NULL; 2680 WindowPtr _rv; 2681 Rect boundsRect; 2682 Str255 title; 2683 Boolean visible; 2684 short theProc; 2685 WindowPtr behind; 2686 Boolean goAwayFlag; 2687 long refCon; 2688 #ifndef NewWindow 2689 PyMac_PRECHECK(NewWindow); 2690 #endif 2691 if (!PyArg_ParseTuple(_args, "O&O&bhO&bl", 2692 PyMac_GetRect, &boundsRect, 2693 PyMac_GetStr255, title, 2694 &visible, 2695 &theProc, 2696 WinObj_Convert, &behind, 2697 &goAwayFlag, 2698 &refCon)) 2699 return NULL; 2700 _rv = NewWindow((void *)0, 2701 &boundsRect, 2702 title, 2703 visible, 2704 theProc, 2705 behind, 2706 goAwayFlag, 2707 refCon); 2708 _res = Py_BuildValue("O&", 2709 WinObj_New, _rv); 2710 return _res; 2711 } 2712 2713 static PyObject *Win_GetNewWindow(PyObject *_self, PyObject *_args) 2714 { 2715 PyObject *_res = NULL; 2716 WindowPtr _rv; 2717 short windowID; 2718 WindowPtr behind; 2719 #ifndef GetNewWindow 2720 PyMac_PRECHECK(GetNewWindow); 2721 #endif 2722 if (!PyArg_ParseTuple(_args, "hO&", 2723 &windowID, 2724 WinObj_Convert, &behind)) 2725 return NULL; 2726 _rv = GetNewWindow(windowID, 2727 (void *)0, 2728 behind); 2729 _res = Py_BuildValue("O&", 2730 WinObj_New, _rv); 2731 return _res; 2732 } 2733 2734 static PyObject *Win_NewCWindow(PyObject *_self, PyObject *_args) 2735 { 2736 PyObject *_res = NULL; 2737 WindowPtr _rv; 2738 Rect boundsRect; 2739 Str255 title; 2740 Boolean visible; 2741 short procID; 2742 WindowPtr behind; 2743 Boolean goAwayFlag; 2744 long refCon; 2745 #ifndef NewCWindow 2746 PyMac_PRECHECK(NewCWindow); 2747 #endif 2748 if (!PyArg_ParseTuple(_args, "O&O&bhO&bl", 2749 PyMac_GetRect, &boundsRect, 2750 PyMac_GetStr255, title, 2751 &visible, 2752 &procID, 2753 WinObj_Convert, &behind, 2754 &goAwayFlag, 2755 &refCon)) 2756 return NULL; 2757 _rv = NewCWindow((void *)0, 2758 &boundsRect, 2759 title, 2760 visible, 2761 procID, 2762 behind, 2763 goAwayFlag, 2764 refCon); 2765 _res = Py_BuildValue("O&", 2766 WinObj_New, _rv); 2767 return _res; 2768 } 2769 2770 static PyObject *Win_CreateNewWindow(PyObject *_self, PyObject *_args) 2771 { 2772 PyObject *_res = NULL; 2773 OSStatus _err; 2774 WindowClass windowClass; 2775 WindowAttributes attributes; 2776 Rect contentBounds; 2777 WindowPtr outWindow; 2778 #ifndef CreateNewWindow 2779 PyMac_PRECHECK(CreateNewWindow); 2780 #endif 2781 if (!PyArg_ParseTuple(_args, "llO&", 2782 &windowClass, 2783 &attributes, 2784 PyMac_GetRect, &contentBounds)) 2785 return NULL; 2786 _err = CreateNewWindow(windowClass, 2787 attributes, 2788 &contentBounds, 2789 &outWindow); 2790 if (_err != noErr) return PyMac_Error(_err); 2791 _res = Py_BuildValue("O&", 2792 WinObj_New, outWindow); 2793 return _res; 2794 } 2795 2796 static PyObject *Win_CreateWindowFromResource(PyObject *_self, PyObject *_args) 2797 { 2798 PyObject *_res = NULL; 2799 OSStatus _err; 2800 SInt16 resID; 2801 WindowPtr outWindow; 2802 #ifndef CreateWindowFromResource 2803 PyMac_PRECHECK(CreateWindowFromResource); 2804 #endif 2805 if (!PyArg_ParseTuple(_args, "h", 2806 &resID)) 2807 return NULL; 2808 _err = CreateWindowFromResource(resID, 2809 &outWindow); 2810 if (_err != noErr) return PyMac_Error(_err); 2811 _res = Py_BuildValue("O&", 2812 WinObj_New, outWindow); 2813 return _res; 2814 } 2815 2816 static PyObject *Win_ShowFloatingWindows(PyObject *_self, PyObject *_args) 2817 { 2818 PyObject *_res = NULL; 2819 OSStatus _err; 2820 #ifndef ShowFloatingWindows 2821 PyMac_PRECHECK(ShowFloatingWindows); 2822 #endif 2823 if (!PyArg_ParseTuple(_args, "")) 2824 return NULL; 2825 _err = ShowFloatingWindows(); 2826 if (_err != noErr) return PyMac_Error(_err); 2827 Py_INCREF(Py_None); 2828 _res = Py_None; 2829 return _res; 2830 } 2831 2832 static PyObject *Win_HideFloatingWindows(PyObject *_self, PyObject *_args) 2833 { 2834 PyObject *_res = NULL; 2835 OSStatus _err; 2836 #ifndef HideFloatingWindows 2837 PyMac_PRECHECK(HideFloatingWindows); 2838 #endif 2839 if (!PyArg_ParseTuple(_args, "")) 2840 return NULL; 2841 _err = HideFloatingWindows(); 2842 if (_err != noErr) return PyMac_Error(_err); 2843 Py_INCREF(Py_None); 2844 _res = Py_None; 2845 return _res; 2846 } 2847 2848 static PyObject *Win_AreFloatingWindowsVisible(PyObject *_self, PyObject *_args) 2849 { 2850 PyObject *_res = NULL; 2851 Boolean _rv; 2852 #ifndef AreFloatingWindowsVisible 2853 PyMac_PRECHECK(AreFloatingWindowsVisible); 2854 #endif 2855 if (!PyArg_ParseTuple(_args, "")) 2856 return NULL; 2857 _rv = AreFloatingWindowsVisible(); 2858 _res = Py_BuildValue("b", 2859 _rv); 2860 return _res; 2861 } 2862 2863 static PyObject *Win_CheckUpdate(PyObject *_self, PyObject *_args) 2864 { 2865 PyObject *_res = NULL; 2866 Boolean _rv; 2867 EventRecord theEvent; 2868 #ifndef CheckUpdate 2869 PyMac_PRECHECK(CheckUpdate); 2870 #endif 2871 if (!PyArg_ParseTuple(_args, "")) 2872 return NULL; 2873 _rv = CheckUpdate(&theEvent); 2874 _res = Py_BuildValue("bO&", 2875 _rv, 2876 PyMac_BuildEventRecord, &theEvent); 2877 return _res; 2878 } 2879 2880 static PyObject *Win_MacFindWindow(PyObject *_self, PyObject *_args) 2881 { 2882 PyObject *_res = NULL; 2883 WindowPartCode _rv; 2884 Point thePoint; 2885 WindowPtr window; 2886 #ifndef MacFindWindow 2887 PyMac_PRECHECK(MacFindWindow); 2888 #endif 2889 if (!PyArg_ParseTuple(_args, "O&", 2890 PyMac_GetPoint, &thePoint)) 2891 return NULL; 2892 _rv = MacFindWindow(thePoint, 2893 &window); 2894 _res = Py_BuildValue("hO&", 2895 _rv, 2896 WinObj_WhichWindow, window); 2897 return _res; 2898 } 2899 2900 static PyObject *Win_FrontWindow(PyObject *_self, PyObject *_args) 2901 { 2902 PyObject *_res = NULL; 2903 WindowPtr _rv; 2904 #ifndef FrontWindow 2905 PyMac_PRECHECK(FrontWindow); 2906 #endif 2907 if (!PyArg_ParseTuple(_args, "")) 2908 return NULL; 2909 _rv = FrontWindow(); 2910 _res = Py_BuildValue("O&", 2911 WinObj_WhichWindow, _rv); 2912 return _res; 2913 } 2914 2915 static PyObject *Win_FrontNonFloatingWindow(PyObject *_self, PyObject *_args) 2916 { 2917 PyObject *_res = NULL; 2918 WindowPtr _rv; 2919 #ifndef FrontNonFloatingWindow 2920 PyMac_PRECHECK(FrontNonFloatingWindow); 2921 #endif 2922 if (!PyArg_ParseTuple(_args, "")) 2923 return NULL; 2924 _rv = FrontNonFloatingWindow(); 2925 _res = Py_BuildValue("O&", 2926 WinObj_WhichWindow, _rv); 2927 return _res; 2928 } 2929 2930 static PyObject *Win_GetFrontWindowOfClass(PyObject *_self, PyObject *_args) 2931 { 2932 PyObject *_res = NULL; 2933 WindowPtr _rv; 2934 WindowClass inWindowClass; 2935 Boolean mustBeVisible; 2936 #ifndef GetFrontWindowOfClass 2937 PyMac_PRECHECK(GetFrontWindowOfClass); 2938 #endif 2939 if (!PyArg_ParseTuple(_args, "lb", 2940 &inWindowClass, 2941 &mustBeVisible)) 2942 return NULL; 2943 _rv = GetFrontWindowOfClass(inWindowClass, 2944 mustBeVisible); 2945 _res = Py_BuildValue("O&", 2946 WinObj_New, _rv); 2947 return _res; 2948 } 2949 2950 static PyObject *Win_FindWindowOfClass(PyObject *_self, PyObject *_args) 2951 { 2952 PyObject *_res = NULL; 2953 OSStatus _err; 2954 Point where; 2955 WindowClass inWindowClass; 2956 WindowPtr outWindow; 2957 WindowPartCode outWindowPart; 2958 #ifndef FindWindowOfClass 2959 PyMac_PRECHECK(FindWindowOfClass); 2960 #endif 2961 if (!PyArg_ParseTuple(_args, "O&l", 2962 PyMac_GetPoint, &where, 2963 &inWindowClass)) 2964 return NULL; 2965 _err = FindWindowOfClass(&where, 2966 inWindowClass, 2967 &outWindow, 2968 &outWindowPart); 2969 if (_err != noErr) return PyMac_Error(_err); 2970 _res = Py_BuildValue("O&h", 2971 WinObj_WhichWindow, outWindow, 2972 outWindowPart); 2973 return _res; 2974 } 2975 2976 static PyObject *Win_CreateStandardWindowMenu(PyObject *_self, PyObject *_args) 2977 { 2978 PyObject *_res = NULL; 2979 OSStatus _err; 2980 OptionBits inOptions; 2981 MenuHandle outMenu; 2982 #ifndef CreateStandardWindowMenu 2983 PyMac_PRECHECK(CreateStandardWindowMenu); 2984 #endif 2985 if (!PyArg_ParseTuple(_args, "l", 2986 &inOptions)) 2987 return NULL; 2988 _err = CreateStandardWindowMenu(inOptions, 2989 &outMenu); 2990 if (_err != noErr) return PyMac_Error(_err); 2991 _res = Py_BuildValue("O&", 2992 MenuObj_New, outMenu); 2993 return _res; 2994 } 2995 2996 static PyObject *Win_CollapseAllWindows(PyObject *_self, PyObject *_args) 2997 { 2998 PyObject *_res = NULL; 2999 OSStatus _err; 3000 Boolean collapse; 3001 #ifndef CollapseAllWindows 3002 PyMac_PRECHECK(CollapseAllWindows); 3003 #endif 3004 if (!PyArg_ParseTuple(_args, "b", 3005 &collapse)) 3006 return NULL; 3007 _err = CollapseAllWindows(collapse); 3008 if (_err != noErr) return PyMac_Error(_err); 3009 Py_INCREF(Py_None); 3010 _res = Py_None; 3011 return _res; 3012 } 3013 3014 static PyObject *Win_GetAvailableWindowPositioningBounds(PyObject *_self, PyObject *_args) 3015 { 3016 PyObject *_res = NULL; 3017 OSStatus _err; 3018 GDHandle inDevice; 3019 Rect outAvailableRect; 3020 #ifndef GetAvailableWindowPositioningBounds 3021 PyMac_PRECHECK(GetAvailableWindowPositioningBounds); 3022 #endif 3023 if (!PyArg_ParseTuple(_args, "O&", 3024 ResObj_Convert, &inDevice)) 3025 return NULL; 3026 _err = GetAvailableWindowPositioningBounds(inDevice, 3027 &outAvailableRect); 3028 if (_err != noErr) return PyMac_Error(_err); 3029 _res = Py_BuildValue("O&", 3030 PyMac_BuildRect, &outAvailableRect); 3031 return _res; 3032 } 3033 3034 static PyObject *Win_DisableScreenUpdates(PyObject *_self, PyObject *_args) 3035 { 3036 PyObject *_res = NULL; 3037 OSStatus _err; 3038 #ifndef DisableScreenUpdates 3039 PyMac_PRECHECK(DisableScreenUpdates); 3040 #endif 3041 if (!PyArg_ParseTuple(_args, "")) 3042 return NULL; 3043 _err = DisableScreenUpdates(); 3044 if (_err != noErr) return PyMac_Error(_err); 3045 Py_INCREF(Py_None); 3046 _res = Py_None; 3047 return _res; 3048 } 3049 3050 static PyObject *Win_EnableScreenUpdates(PyObject *_self, PyObject *_args) 3051 { 3052 PyObject *_res = NULL; 3053 OSStatus _err; 3054 #ifndef EnableScreenUpdates 3055 PyMac_PRECHECK(EnableScreenUpdates); 3056 #endif 3057 if (!PyArg_ParseTuple(_args, "")) 3058 return NULL; 3059 _err = EnableScreenUpdates(); 3060 if (_err != noErr) return PyMac_Error(_err); 3061 Py_INCREF(Py_None); 3062 _res = Py_None; 3063 return _res; 3064 } 3065 3066 static PyObject *Win_PinRect(PyObject *_self, PyObject *_args) 3067 { 3068 PyObject *_res = NULL; 3069 long _rv; 3070 Rect theRect; 3071 Point thePt; 3072 #ifndef PinRect 3073 PyMac_PRECHECK(PinRect); 3074 #endif 3075 if (!PyArg_ParseTuple(_args, "O&O&", 3076 PyMac_GetRect, &theRect, 3077 PyMac_GetPoint, &thePt)) 3078 return NULL; 3079 _rv = PinRect(&theRect, 3080 thePt); 3081 _res = Py_BuildValue("l", 3082 _rv); 3083 return _res; 3084 } 3085 3086 static PyObject *Win_GetGrayRgn(PyObject *_self, PyObject *_args) 3087 { 3088 PyObject *_res = NULL; 3089 RgnHandle _rv; 3090 #ifndef GetGrayRgn 3091 PyMac_PRECHECK(GetGrayRgn); 3092 #endif 3093 if (!PyArg_ParseTuple(_args, "")) 3094 return NULL; 3095 _rv = GetGrayRgn(); 3096 _res = Py_BuildValue("O&", 3097 ResObj_New, _rv); 3098 return _res; 3099 } 3100 3101 static PyObject *Win_GetWindowFromPort(PyObject *_self, PyObject *_args) 3102 { 3103 PyObject *_res = NULL; 3104 WindowPtr _rv; 3105 CGrafPtr port; 3106 #ifndef GetWindowFromPort 3107 PyMac_PRECHECK(GetWindowFromPort); 3108 #endif 3109 if (!PyArg_ParseTuple(_args, "O&", 3110 GrafObj_Convert, &port)) 3111 return NULL; 3112 _rv = GetWindowFromPort(port); 3113 _res = Py_BuildValue("O&", 3114 WinObj_New, _rv); 3115 return _res; 3116 } 3117 3118 static PyObject *Win_WhichWindow(PyObject *_self, PyObject *_args) 3119 { 3120 PyObject *_res = NULL; 3121 3122 long ptr; 3123 3124 if ( !PyArg_ParseTuple(_args, "i", &ptr) ) 3125 return NULL; 3126 _res = WinObj_WhichWindow((WindowPtr)ptr); 3127 return _res; 3128 3129 } 3130 3131 static PyObject *Win_FindWindow(PyObject *_self, PyObject *_args) 3132 { 3133 PyObject *_res = NULL; 3134 short _rv; 3135 Point thePoint; 3136 WindowPtr theWindow; 3137 #ifndef FindWindow 3138 PyMac_PRECHECK(FindWindow); 3139 #endif 3140 if (!PyArg_ParseTuple(_args, "O&", 3141 PyMac_GetPoint, &thePoint)) 3142 return NULL; 3143 _rv = FindWindow(thePoint, 3144 &theWindow); 3145 _res = Py_BuildValue("hO&", 3146 _rv, 3147 WinObj_WhichWindow, theWindow); 3148 return _res; 3149 } 3150 #endif /* APPLE_SUPPORTS_QUICKTIME */ 3151 3152 static PyMethodDef Win_methods[] = { 3153 #if APPLE_SUPPORTS_QUICKTIME 3154 {"GetNewCWindow", (PyCFunction)Win_GetNewCWindow, 1, 3155 PyDoc_STR("(short windowID, WindowPtr behind) -> (WindowPtr _rv)")}, 3156 {"NewWindow", (PyCFunction)Win_NewWindow, 1, 3157 PyDoc_STR("(Rect boundsRect, Str255 title, Boolean visible, short theProc, WindowPtr behind, Boolean goAwayFlag, long refCon) -> (WindowPtr _rv)")}, 3158 {"GetNewWindow", (PyCFunction)Win_GetNewWindow, 1, 3159 PyDoc_STR("(short windowID, WindowPtr behind) -> (WindowPtr _rv)")}, 3160 {"NewCWindow", (PyCFunction)Win_NewCWindow, 1, 3161 PyDoc_STR("(Rect boundsRect, Str255 title, Boolean visible, short procID, WindowPtr behind, Boolean goAwayFlag, long refCon) -> (WindowPtr _rv)")}, 3162 {"CreateNewWindow", (PyCFunction)Win_CreateNewWindow, 1, 3163 PyDoc_STR("(WindowClass windowClass, WindowAttributes attributes, Rect contentBounds) -> (WindowPtr outWindow)")}, 3164 {"CreateWindowFromResource", (PyCFunction)Win_CreateWindowFromResource, 1, 3165 PyDoc_STR("(SInt16 resID) -> (WindowPtr outWindow)")}, 3166 {"ShowFloatingWindows", (PyCFunction)Win_ShowFloatingWindows, 1, 3167 PyDoc_STR("() -> None")}, 3168 {"HideFloatingWindows", (PyCFunction)Win_HideFloatingWindows, 1, 3169 PyDoc_STR("() -> None")}, 3170 {"AreFloatingWindowsVisible", (PyCFunction)Win_AreFloatingWindowsVisible, 1, 3171 PyDoc_STR("() -> (Boolean _rv)")}, 3172 {"CheckUpdate", (PyCFunction)Win_CheckUpdate, 1, 3173 PyDoc_STR("() -> (Boolean _rv, EventRecord theEvent)")}, 3174 {"MacFindWindow", (PyCFunction)Win_MacFindWindow, 1, 3175 PyDoc_STR("(Point thePoint) -> (WindowPartCode _rv, WindowPtr window)")}, 3176 {"FrontWindow", (PyCFunction)Win_FrontWindow, 1, 3177 PyDoc_STR("() -> (WindowPtr _rv)")}, 3178 {"FrontNonFloatingWindow", (PyCFunction)Win_FrontNonFloatingWindow, 1, 3179 PyDoc_STR("() -> (WindowPtr _rv)")}, 3180 {"GetFrontWindowOfClass", (PyCFunction)Win_GetFrontWindowOfClass, 1, 3181 PyDoc_STR("(WindowClass inWindowClass, Boolean mustBeVisible) -> (WindowPtr _rv)")}, 3182 {"FindWindowOfClass", (PyCFunction)Win_FindWindowOfClass, 1, 3183 PyDoc_STR("(Point where, WindowClass inWindowClass) -> (WindowPtr outWindow, WindowPartCode outWindowPart)")}, 3184 {"CreateStandardWindowMenu", (PyCFunction)Win_CreateStandardWindowMenu, 1, 3185 PyDoc_STR("(OptionBits inOptions) -> (MenuHandle outMenu)")}, 3186 {"CollapseAllWindows", (PyCFunction)Win_CollapseAllWindows, 1, 3187 PyDoc_STR("(Boolean collapse) -> None")}, 3188 {"GetAvailableWindowPositioningBounds", (PyCFunction)Win_GetAvailableWindowPositioningBounds, 1, 3189 PyDoc_STR("(GDHandle inDevice) -> (Rect outAvailableRect)")}, 3190 {"DisableScreenUpdates", (PyCFunction)Win_DisableScreenUpdates, 1, 3191 PyDoc_STR("() -> None")}, 3192 {"EnableScreenUpdates", (PyCFunction)Win_EnableScreenUpdates, 1, 3193 PyDoc_STR("() -> None")}, 3194 {"PinRect", (PyCFunction)Win_PinRect, 1, 3195 PyDoc_STR("(Rect theRect, Point thePt) -> (long _rv)")}, 3196 {"GetGrayRgn", (PyCFunction)Win_GetGrayRgn, 1, 3197 PyDoc_STR("() -> (RgnHandle _rv)")}, 3198 {"GetWindowFromPort", (PyCFunction)Win_GetWindowFromPort, 1, 3199 PyDoc_STR("(CGrafPtr port) -> (WindowPtr _rv)")}, 3200 {"WhichWindow", (PyCFunction)Win_WhichWindow, 1, 3201 PyDoc_STR("Resolve an integer WindowPtr address to a Window object")}, 3202 {"FindWindow", (PyCFunction)Win_FindWindow, 1, 3203 PyDoc_STR("(Point thePoint) -> (short _rv, WindowPtr theWindow)")}, 3204 {NULL, NULL, 0} 3205 #endif /* APPLE_SUPPORTS_QUICKTIME */ 3206 }; 3207 3208 3209 3210 #if APPLE_SUPPORTS_QUICKTIME 3211 /* Return the object corresponding to the window, or NULL */ 3212 3213 PyObject * 3214 WinObj_WhichWindow(WindowPtr w) 3215 { 3216 PyObject *it; 3217 3218 if (w == NULL) { 3219 it = Py_None; 3220 Py_INCREF(it); 3221 } else { 3222 it = (PyObject *) GetWRefCon(w); 3223 if (it == NULL || !IsPointerValid((Ptr)it) || ((WindowObject *)it)->ob_itself != w || !WinObj_Check(it)) { 3224 it = WinObj_New(w); 3225 ((WindowObject *)it)->ob_freeit = NULL; 3226 } else { 3227 Py_INCREF(it); 3228 } 3229 } 3230 return it; 3231 } 3232 3233 #endif /* APPLE_SUPPORTS_QUICKTIME */ 3234 3235 void init_Win(void) 3236 { 3237 PyObject *m; 3238 #if APPLE_SUPPORTS_QUICKTIME 3239 PyObject *d; 3240 3241 PyMac_INIT_TOOLBOX_OBJECT_NEW(WindowPtr, WinObj_New); 3242 PyMac_INIT_TOOLBOX_OBJECT_NEW(WindowPtr, WinObj_WhichWindow); 3243 PyMac_INIT_TOOLBOX_OBJECT_CONVERT(WindowPtr, WinObj_Convert); 3244 3245 #endif /* APPLE_SUPPORTS_QUICKTIME */ 3246 3247 m = Py_InitModule("_Win", Win_methods); 3248 #if APPLE_SUPPORTS_QUICKTIME 3249 d = PyModule_GetDict(m); 3250 Win_Error = PyMac_GetOSErrException(); 3251 if (Win_Error == NULL || 3252 PyDict_SetItemString(d, "Error", Win_Error) != 0) 3253 return; 3254 Window_Type.ob_type = &PyType_Type; 3255 if (PyType_Ready(&Window_Type) < 0) return; 3256 Py_INCREF(&Window_Type); 3257 PyModule_AddObject(m, "Window", (PyObject *)&Window_Type); 3258 /* Backward-compatible name */ 3259 Py_INCREF(&Window_Type); 3260 PyModule_AddObject(m, "WindowType", (PyObject *)&Window_Type); 3261 #endif /* APPLE_SUPPORTS_QUICKTIME */ 3262 } 3263 3264 /* ======================== End module _Win ========================= */ 3265 3266