Commit Graph

628 Commits

Author SHA1 Message Date
Jack Jansen 234d074446 - Various tweaks to forestall compiler warnings. 2002-12-23 22:35:38 +00:00
Jack Jansen 6810f92d4d The extension module macfs has been replaced by a pure Python version. 2002-12-19 23:27:58 +00:00
Jack Jansen e87663306a Added the last missing bits of functionality, and fixed a nasty bug where we
could overwrite memory.
2002-12-19 23:26:58 +00:00
Jack Jansen f955784f0c Regenerated with inheritance-aware xxxx_Check() macros. 2002-12-19 21:24:35 +00:00
Jack Jansen 543c9253cd - Added rawdata initializers
- Added support for optional FSSpecs and FSRefs to the Alias routines.
  NewAlias and friends are still functions, though, not methods.
2002-12-18 23:17:26 +00:00
Jack Jansen 1795f29b4b Fixed silly typo.
Added comment (to myself) on what still needs to be done.
2002-12-17 23:29:27 +00:00
Jack Jansen ae63756bf8 Include Finder.h too in the list of header files to parse: the finder
constants have tradiationally been in MACFS.py.
2002-12-17 22:22:57 +00:00
Jack Jansen e55beefed8 - Added as_pathname and as_tuple methods
- Added access to the "data" attribute
- Fixed the FSRef tp_init routine to accept pathnames on OSX
- Changed the FSSpec tp_repr to return something resembling what
  macfs returns.
2002-12-17 22:10:46 +00:00
Jack Jansen e3a1c8f875 Combined alias and file into a single module. This is the only reasonable
way to get various alias creation routines as methods of FSSpec or FSRef
objects (which is the logical thing, from a Python POV). Also started on
the code that will contain all the macfs functionality, so macfs can
becode a Python module, to be used mainly for backward compatibility.
2002-12-15 19:55:07 +00:00
Jack Jansen 6d802a0ce3 Tweaks to make this module OS9-compatible. 2002-12-13 23:16:00 +00:00
Jack Jansen b132a39399 Removed: not carbon-compatible. 2002-12-13 22:49:24 +00:00
Jack Jansen 65cbf93fce Get rid of support for Universal Headers older than 3.4 and various other
outdated things.
2002-12-13 15:02:02 +00:00
Jack Jansen 6c7e326eaa Getting rid of pre-Carbon (MacOS8) support. All code depending on
TARGET_API_MAC_OS8 (or !TARGET_API_MAC_CARBON) is gone. Also some
TARGET_API_MAC_OSX conditional code is gone, because it is no longer
used on OSX-only Python (only in MacPython-OS9).
2002-12-12 10:31:54 +00:00
Jack Jansen 5f61a05d7f Fixed so the Res.Resource() accepts either another resource, a string
or no argument (giving an empty resource).
2002-12-05 23:26:38 +00:00
Jack Jansen 96cebde909 Added PEP253 support to most Carbon modules. This isn't complete yet:
some of the more compilcated cases (CF, Res) haven't been done yet. Also,
various types should inherit from each other (anything with an as_Resource
method should be a Resource subtype, the CF types should become one family).
2002-12-03 23:40:22 +00:00
Jack Jansen dbd5701d73 Converted the Carbon modules to use PEP252-style objects, with
descriptors in stead of manual getattr hooks to get at attributes
of the objects.

For Qd I have in stead gotten rid of most of the attribute access
in favor of the carbon-style accessor methods (with the exception
of visRgn, to be done later), and of the Carbon.Qd.qd global object,
for which accessor functions are also available.

For List I have fixed the fact that various methods were incorrectly
generated as functions.

CF is untouched: PEP252 doesn't allow "poor-mans-inheritance" with
basechain, so it will have to wait for PEP253 support.
2002-11-29 23:40:48 +00:00
Jack Jansen 4b5c7a4f47 Allow access to the returned value(s) as FSRefs. Unfortunately for some
reason getting at saveFileName doesn't work, so it currently only really
works for opening files for reading.
2002-11-22 23:39:52 +00:00
Jack Jansen d0e59fb68d Added the alias manager too. The interface isn't perfect yet: the alias
manager doesn't always have the alias as the first argument, so things
become functions in stead of methods.
2002-11-22 15:53:32 +00:00
Jack Jansen e2ba87396c Got angry and added support for pretty much the whole file and folder
manager. This should allow us the get rid of most of the FSSpecs, only
navigation services remains to be done.
2002-11-22 14:58:35 +00:00
Jack Jansen 972573553e Define PyDoc_STR if it isn't defined. This makes these modules compile
for Python 2.2.
2002-11-18 15:26:43 +00:00
Jack Jansen 277fc7efce Enable _AH module. 2002-09-06 23:33:40 +00:00
Jack Jansen fe9acdea8a Typecode for AHTOCType was wrong. Fixed. 2002-08-30 23:02:09 +00:00
Jack Jansen 983258ed7e Revived the Carbon.Help module, but implementing the MacHelp API in stead
of the defunct Balloons API. Help tags are TBD, but at least this gives
us access to the help menu.
2002-08-29 21:09:00 +00:00
Jack Jansen d59f8d0691 Interface to Apple Help Manager. 2002-08-22 23:31:37 +00:00
Jack Jansen f34a8bced2 Moved CoreFoundation type support to bgen/macsupport. 2002-08-22 23:30:49 +00:00
Jack Jansen 286e838f22 Added PyDoc_STR's. 2002-08-22 23:29:45 +00:00
Jack Jansen 49931887d7 Regenerated with PyDoc_STR() around docstrings. 2002-08-16 09:09:31 +00:00
Jack Jansen 7ca993ed37 Fixed the bugs in the constant definitions, and in the code to test
them.
The FutureWarnings are still there, until a way has been found to
say "I know what I'm doing here when I say 0xff000000".
2002-08-15 22:05:58 +00:00
Jack Jansen 87eea88b5a After generating the Python file with definitions try to run it, so
we catch errors during the build process in stead of later during runtime.
2002-08-15 21:48:16 +00:00
Jack Jansen 9536bcbfd8 This file should have gone long ago. 2002-08-09 09:02:01 +00:00
Jack Jansen 9c5b61b21b Patch #567296 by Pim Buurman, slightly modified by me so it can be disabled
at compile time: use PBGetCatInfoSync() to get FInfo data in stead of
GetFInfo. The latter doesn't work for folders. The former does, at
least on OSX, and insofar the info makes sense for a folder.
2002-08-06 12:59:44 +00:00
Jack Jansen c4ff194bdd Fixed the last two bgen-based modules to be buildable on OSX. 2002-08-05 21:13:07 +00:00
Jack Jansen aaebdd6a02 Enable building of Carbon toolbox modules with unix-Python. 2002-08-05 15:39:30 +00:00
Jack Jansen ff8dec7427 Got rid of staticforward. 2002-08-05 15:36:57 +00:00
Jack Jansen 3bd3fedeca Added _IBCarbon module. 2002-08-05 14:12:24 +00:00
Jack Jansen acbaefd796 Updated to something that works on my system, and regenerated module. 2002-08-04 21:59:37 +00:00
Jack Jansen 0c069924e5 Donovan Preston's interface to IBCarbon, allowing you to use Interface
Builder carbon NIB files from Python. As-is, I may need to twiddle a few
things as he donated this long ago.

Donovan is now one of the four people in the world who know how to drive
bgen!
2002-08-04 21:34:24 +00:00
Jeremy Hylton 938ace69a0 staticforward bites the dust.
The staticforward define was needed to support certain broken C
compilers (notably SCO ODT 3.0, perhaps early AIX as well) botched the
static keyword when it was used with a forward declaration of a static
initialized structure.  Standard C allows the forward declaration with
static, and we've decided to stop catering to broken C compilers.  (In
fact, we expect that the compilers are all fixed eight years later.)

I'm leaving staticforward and statichere defined in object.h as
static.  This is only for backwards compatibility with C extensions
that might still use it.

XXX I haven't updated the documentation.
2002-07-17 16:30:39 +00:00
Jack Jansen 059ed83cc3 - Got rid if WITH_CYCLE_GC
- Cleaned up Python banner string, so the normal build for MacPython 2.3
  will have a short banner.
2002-07-07 20:54:44 +00:00
Jack Jansen fc7d379a96 - Got rid of newmodule.c
- These are the final projects that support classic.
2002-06-20 22:56:22 +00:00
Just van Rossum 84fca948c8 fixed refcount leak in CreateNewWindow() and CreateWindowFromResource(). 2002-06-05 17:41:03 +00:00
Jack Jansen 0e2f798301 Replaced lots of PyMem_DEL() calls with PyObject_DEL(). 2002-05-22 14:31:48 +00:00
Jack Jansen eaba9d7b28 Added typechecking to the individual python->CF converters, so we can use them in the CF object initializers safely. 2002-05-13 21:23:10 +00:00
Jack Jansen 23be1ceb51 Added CFPreferences support. Added these as functions, not methods, which seemed counter-intuitive. 2002-05-13 21:21:49 +00:00
Jack Jansen 7906634f28 - Better exception when a NULL CF object is encountered.
- Manually generate a routine with funny error semantics.
2002-05-12 22:04:14 +00:00
Jack Jansen 6d207c09aa - Get data from CFData objects as Python strings and vv.
- Started on supporting CFPropertyLists.
2002-05-10 22:51:58 +00:00
Jack Jansen 42251323b4 Fixed string and dict conversion, and implemented booleans and numbers (int and float). I think we now have enough CFType support to start on plists and CFpreferences!
Transparent handling of unknown CFType objects still TBD.
2002-05-08 22:13:51 +00:00
Jack Jansen 1df628ddce Partial fix for string handling. Null byte TBD. 2002-05-08 15:29:33 +00:00
Jack Jansen 5ad6f7a3a9 More support for bridging between Python and CoreFoundation objects. Still untested. 2002-05-07 23:00:03 +00:00
Jack Jansen efaffae8f6 First steps towards a generalized converter of Python object
hierarchies to CoreFoundation object hierarchies and vice versa.
2002-05-05 21:48:12 +00:00
Jack Jansen 033b79c483 Regenerated. 2002-04-23 22:46:01 +00:00
Jack Jansen 786681ac60 Got rid of obsolete appearance flag. 2002-04-11 20:56:13 +00:00
Jack Jansen 8ab04b4d65 Got rid of ifdefs for long-obsolete GUSI versions. 2002-04-11 20:46:23 +00:00
Jack Jansen 714d7268d5 Weaklink most toolbox modules, improving backward compatibility. Modules will no longer fail to load if a single routine is missing on the curent OS version, in stead calling the missing routine will raise an exception.
Should finally fix 531398. 2.2.1 candidate.
2002-03-25 00:32:17 +00:00
Jack Jansen 9d79990ac7 Weaklink most toolbox modules, improving backward compatibility. Modules will no longer fail to load if a single routine is missing on the curent OS version, in stead calling the missing routine will raise an exception.
Should finally fix 531398. 2.2.1 candidate.

Also blacklisted some constants with definitions that were not Python-compatible.
2002-03-24 23:04:18 +00:00
Jack Jansen 150ed6113c Generate with weaklink stubs, so missing routines (on MacOS 8.6 and earlier)
don't cause import failure.

Fixes 531398, 2.2.1 candidate.
2002-03-22 14:16:39 +00:00
Jack Jansen 0e5a733887 Solve sync() signature conflict differently: manually return 0 if
we have GUSI's void sync().
2002-03-21 21:09:36 +00:00
Jack Jansen ca9a4a6e17 Lurking bug found by patch for 531291: FSSpecs should be passed to
Py_BuildValue by address, not by value.

2.2.1 candidate.
2002-03-18 15:41:32 +00:00
Jack Jansen cb6cf13261 Some of the newer routines return an OSErr, like most toolbox calls, in stead of depending on ResError(). Second half of fix for #531291.
2.2.1 candidate.
2002-03-18 15:31:08 +00:00
Just van Rossum dd989e1ce7 Added ClipCGContextToRegion() from Quickdraw.h. 2002-03-04 10:31:32 +00:00
Just van Rossum 38b504e9e3 Added support for SyncCGContextOriginWithPort(). 2002-03-02 10:20:44 +00:00
Jack Jansen 5ae815af99 Some buffers needed to be unsigned char, not char. 2002-02-26 21:36:19 +00:00
Jack Jansen 6a60915843 Don't blacklist ModalFilterUPP but always pass it as NULL. This enables the record routines to be generated. 2002-02-05 22:35:36 +00:00
Jack Jansen e62ceac7d4 Added SndRecord and (classic only) SndRecordToFile. 2002-02-05 22:34:35 +00:00
Jack Jansen ba4fe77fba Added as_pathname() method to FSRef objects. 2002-01-18 16:13:15 +00:00
Jack Jansen d48b10621e In MachoPython expect Unix-style pathnames for both FSSpec and FSRef initializers. TBD: Do the reverse for MacPython, and also handle as_pathname(). 2002-01-13 23:16:32 +00:00
Jack Jansen 8f54f2a3f3 Internet Config is now part of official Apple interfaces, so use the new
headers and libraries.
2002-01-11 12:38:08 +00:00
Jack Jansen b99e521319 - Updated to Waste 2.0.
- Use waste included with CW in stead of separate package.
2002-01-11 12:37:15 +00:00
Just van Rossum 4b367359b5 Fixed TrackMouseRegion() argument: ioWasInRgn is an in/out parameter. 2002-01-09 18:54:16 +00:00
Just van Rossum ec0107f023 Today's Carbon Toolbox addition: CarbonEvt.TrackMouseLocation() and friends. 2002-01-08 11:49:31 +00:00
Just van Rossum ca3b2ffbb9 Today's Carbon Toolbox addition: QDTextBounds() 2002-01-07 14:15:02 +00:00
Just van Rossum 6253a114a7 Added support for DrawThemeButton() and friends. 2002-01-06 23:03:39 +00:00
Just van Rossum 8a107fbfed Whoops, it's late -- generated output now matches what's checked in... 2002-01-05 23:44:33 +00:00
Just van Rossum eae95044ae Q&D support for ThemeDrawingState objects. 2002-01-05 23:37:19 +00:00
Just van Rossum c4cf27e8e0 - added support for UserPaneKeyDownProc and UserPaneFocusProc
- clear error after failing PyArg_Parse()
2002-01-04 19:45:15 +00:00
Jack Jansen 3bac5ca11a Some of the new routines are carbon-only. 2002-01-04 16:00:27 +00:00
Just van Rossum 7d1d396134 Callback error handling improvements:
- print traceback
- don't use fprintf()
- clear exception (implied by PyErr_Print())
2002-01-04 14:39:29 +00:00
Just van Rossum 3e584aaa2a Ugh, by all means, _do_ report exceptions somehow ;-) 2002-01-04 13:49:36 +00:00
Just van Rossum 43c2de230d fixed SetEventParameter() signature: removed unneccesary length arg. 2002-01-03 20:45:47 +00:00
Just van Rossum 8edfc542f0 The output MenuRef of GetMenuItemHierarchicalMenu() may be NULL. 2002-01-03 12:16:18 +00:00
Just van Rossum 4f6fe52424 - Added DrawThemeTextBox()
- fixed GetThemeTextDimensions(): it has an in/out Point arg, not just out.
2002-01-02 15:11:44 +00:00
Just van Rossum 1ca65c0738 rectified copy/paste oversight in comment 2002-01-02 14:59:03 +00:00
Just van Rossum ca3cff30ec - Added support for optional MenuObj arguments
- Added a bunch of calls as functions with an optional
  MenuObj first argument. The same calls already
  exist as methods, but then the first arg isn't
  optional... The method versions could go as far as I'm
  concerned. Jack?
2002-01-02 14:48:36 +00:00
Jack Jansen 69ac361cb5 Added some support for unicode arguments. 2002-01-01 22:43:13 +00:00
Jack Jansen 420ed40344 Added support for the Carbon scrap manager (finally). 2001-12-31 14:52:03 +00:00
Just van Rossum 7633593683 Oops, forgot to mark CreateScrollBarControl and CreateSliderControl
as Carbon-only
2001-12-31 09:50:32 +00:00
Just van Rossum cae6da632a - added support for ControlActionProcs, exposing the following calls:
- ctl.SetControlAction()
    - CreateScrollBarControl()
    - CreateSliderControl()
- print traceback when callbacks fail
2001-12-30 21:25:26 +00:00
Just van Rossum 7eb48e3283 Moved a bunch of routines from "blacklisted" to "graylisted", as they _are_
available in OSX (mach-o) but not in CarbonLib (neither on OSX or OS9).
2001-12-18 20:15:27 +00:00
Jack Jansen 620a7667eb Updated to Universal Headers 3.4 2001-12-18 15:39:38 +00:00
Just van Rossum f30c3ad0d9 Added missing docstring 2001-12-18 12:53:47 +00:00
Just van Rossum 66d78bf2a0 Added support for tab controls and initial (incomplete) support
for DataBrowser controls.
2001-12-18 12:47:47 +00:00
Just van Rossum 820867662b Patch #494553 by Donovan Preston: initial implementation
for GetEventParameter().
2001-12-18 12:35:57 +00:00
Jack Jansen 086f7c3890 There's a new include file AEInteraction.h which contains AESend and friends. 2001-12-17 11:47:27 +00:00
Jack Jansen ec982e2739 TickCount moved to a different header file. We manually added it back in here, for conveninece. 2001-12-17 11:46:50 +00:00
Jack Jansen 2168e9d602 Adapted for Universal Headers 3.4 2001-12-16 20:18:40 +00:00
Just van Rossum 2c39115240 Made event callbacks more rubust: keep an actual reference to the
python callback, and do RemoveEventHandler() upon deallocation.
2001-12-14 23:16:04 +00:00
Jack Jansen 9635f33e5b Quick patch to allow building with Universal Headers 3.4. 2001-12-14 23:03:07 +00:00
Jack Jansen 615e2505f0 Many of the new calls are Carbon-only. Flagged them as such. 2001-12-14 22:47:19 +00:00
Just van Rossum 7ec1c85d7a - "manage" controls created by CreateXxxXxxControl() functions.
- FindControlUnderMouse() returns an existing control, not a new one.
2001-12-13 21:24:37 +00:00
Just van Rossum 4f6c05857f include the proper header for Mach-O 2001-12-13 13:40:04 +00:00