diff options
author | Jack Jansen <jack.jansen@cwi.nl> | 2002-11-29 23:40:48 (GMT) |
---|---|---|
committer | Jack Jansen <jack.jansen@cwi.nl> | 2002-11-29 23:40:48 (GMT) |
commit | dbd5701d736a151d29fee4658228e16876626f47 (patch) | |
tree | 164a5bf1d9a00788bd229820df9bfa81d75933eb /Mac/Modules/carbonevt/CarbonEvtsupport.py | |
parent | 818855939ac016492cb59d1fc2fea94cc0764855 (diff) | |
download | cpython-dbd5701d736a151d29fee4658228e16876626f47.zip cpython-dbd5701d736a151d29fee4658228e16876626f47.tar.gz cpython-dbd5701d736a151d29fee4658228e16876626f47.tar.bz2 |
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.
Diffstat (limited to 'Mac/Modules/carbonevt/CarbonEvtsupport.py')
-rw-r--r-- | Mac/Modules/carbonevt/CarbonEvtsupport.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Mac/Modules/carbonevt/CarbonEvtsupport.py b/Mac/Modules/carbonevt/CarbonEvtsupport.py index cbaca2a..e3ac5f5 100644 --- a/Mac/Modules/carbonevt/CarbonEvtsupport.py +++ b/Mac/Modules/carbonevt/CarbonEvtsupport.py @@ -215,7 +215,7 @@ module = MacModule('_CarbonEvt', 'CarbonEvents', includestuff, finalstuff, inits -class EventHandlerRefObjectDefinition(GlobalObjectDefinition): +class EventHandlerRefObjectDefinition(PEP252Mixin, GlobalObjectDefinition): def outputStructMembers(self): Output("%s ob_itself;", self.itselftype) Output("PyObject *ob_callback;") @@ -227,12 +227,15 @@ class EventHandlerRefObjectDefinition(GlobalObjectDefinition): Output("RemoveEventHandler(self->ob_itself);") Output("Py_DECREF(self->ob_callback);") OutRbrace() + +class MyGlobalObjectDefinition(PEP252Mixin, GlobalObjectDefinition): + pass for typ in RefObjectTypes: if typ == 'EventHandlerRef': EventHandlerRefobject = EventHandlerRefObjectDefinition('EventHandlerRef') else: - execstr = typ + 'object = GlobalObjectDefinition(typ)' + execstr = typ + 'object = MyGlobalObjectDefinition(typ)' exec execstr module.addobject(eval(typ + 'object')) |