Commit Graph

651 Commits

Author SHA1 Message Date
Jack Jansen d505cab5b3 Accept only the system default encoding when converting Python
strings to CF strings. Fixes 682215.
2003-03-03 13:12:59 +00:00
Jack Jansen f92ec2d191 StdFilterProc() uses InOut parameters. 2003-02-27 22:50:50 +00:00
Jack Jansen 8cd9a4fded Added a linkmodel attribute, showing how Python was built. This is so
packages can check that extension modules are built for the right type
of python. Current values can be static, framework, shared and cfm (for
completeness, for MacPyton-OS9).

Closes bug #691889. The reporter suggests backporting this to 2.2.3
and I think I agree.
2003-02-23 23:23:47 +00:00
Jack Jansen 2bc4a47c86 WASTEconst.py goes one level above the toolbox directory. 2003-02-21 22:11:45 +00:00
Jack Jansen d7c1723742 Added a method WMAvailable(). This will return True if and only if there
is a window manager and we can connect to it, i.e. if it is safe to try
and put up windows.

As a side effect the first call will make the current process frontmost.
2003-02-21 16:31:11 +00:00
Jack Jansen 8d4f06a73a Added itertools module. 2003-02-05 13:36:50 +00:00
Jack Jansen b9fa1a9ec5 Changed an edit instruction because of a changed parameter name (sigh). 2003-02-04 15:35:07 +00:00
Jack Jansen 52377e05be The FSAliasFile routines also have an in/out parameter. 2003-02-02 23:00:21 +00:00
Jack Jansen 60ffc2bafc Added a missing INCREF in pathname(). 2003-01-28 23:29:46 +00:00
Jack Jansen 2b3ce3ba3f FSRef and EasyDialogs pathname support was pretty much broken in MacPython-OS9. Fixed. 2003-01-26 20:22:41 +00:00
Jack Jansen 9c564755b8 Added a convenience routine pathname() which accepts either a string, unicode,
FSSpec or FSRef object and returns an 8-bit pathname (utf8 encoded).
2003-01-19 22:59:52 +00:00
Jack Jansen e58962af4d Fixed the first two bugs in the new file dialogs (found by Just):
- AskFileForSave didn't work for string return values
- filterProc didn't work.
2003-01-17 23:13:03 +00:00
Jack Jansen b2a57722a8 It turns out that some calls return AEDesc records that are "borrowed",
the AEDesc data shouldn't be disposed when the Python object is.

Added a C call AEDesc_NewBorrowed() to create these objects and a Python
method old=AEDesc.AutoDispose(onoff) to change auto-dispose state.
2003-01-17 23:11:17 +00:00
Jack Jansen c99b675ff4 For reasons unknown previewProc and filterProc were disabled. Enabled them. 2003-01-17 16:14:31 +00:00
Jack Jansen 2d0909b9cb Implemented FSCatalogInfo structure support, and used this to implement
FSSpec.SetDates() and GetDates(). Closes #662836.
2003-01-15 22:36:16 +00:00
Jack Jansen bc65521567 Implemented FSCatalogInfo. 2003-01-12 23:01:46 +00:00
Jack Jansen b2fcd086c7 Started on implementing support for FSCatalogInfo. Doesn't work yet, don't
try it.
2003-01-09 23:37:37 +00:00
Jack Jansen 3e82872eca Merging the various tweaks for MacPython-OS9 2.3a1 back into the trunk. 2003-01-08 16:27:44 +00:00
Jack Jansen 5681acbf94 Added zipimport and _random module. 2002-12-30 23:11:30 +00:00
Jack Jansen 248f6f1f73 Second-argument alias methods were generated with a variation on
MethodGenerator, this should be OSErrMethodGenerator.
2002-12-26 20:45:43 +00:00
Jack Jansen 00df3e052b If you entered a pathname for a nonexisting file to a FSSpec constructor
on OSX then the actual error (file not found) was obscured by the
error message that tried to be helpful about the allowed arguments. Fixed.
2002-12-25 22:45:28 +00:00
Jack Jansen e072b876e0 Removed macfs, added File and Folder. 2002-12-24 13:08:52 +00:00
Jack Jansen b734869f46 - Various tweaks to shut up compiler warnings.
- Regenerated with the correct calls to PyType_Ready and the correct
  deallocator calls.
2002-12-23 23:16:25 +00:00
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