diff options
Diffstat (limited to 'Mac/Modules/te/tesupport.py')
-rw-r--r-- | Mac/Modules/te/tesupport.py | 245 |
1 files changed, 122 insertions, 123 deletions
diff --git a/Mac/Modules/te/tesupport.py b/Mac/Modules/te/tesupport.py index 13f1b97..ad6c053 100644 --- a/Mac/Modules/te/tesupport.py +++ b/Mac/Modules/te/tesupport.py @@ -6,17 +6,17 @@ import string # Declarations that change for each manager -MACHEADERFILE = 'TextEdit.h' # The Apple header file -MODNAME = '_TE' # The name of the module -OBJECTNAME = 'TE' # The basic name of the objects used here -KIND = 'Handle' # Usually 'Ptr' or 'Handle' +MACHEADERFILE = 'TextEdit.h' # The Apple header file +MODNAME = '_TE' # The name of the module +OBJECTNAME = 'TE' # The basic name of the objects used here +KIND = 'Handle' # Usually 'Ptr' or 'Handle' # The following is *usually* unchanged but may still require tuning -MODPREFIX = 'TE' # The prefix for module-wide routines -OBJECTTYPE = "TEHandle" # The C type used to represent them -OBJECTPREFIX = MODPREFIX + 'Obj' # The prefix for object methods +MODPREFIX = 'TE' # The prefix for module-wide routines +OBJECTTYPE = "TEHandle" # The C type used to represent them +OBJECTPREFIX = MODPREFIX + 'Obj' # The prefix for object methods INPUTFILE = string.lower(MODPREFIX) + 'gen.py' # The file generated by the scanner -OUTPUTFILE = MODNAME + "module.c" # The file generated by this program +OUTPUTFILE = MODNAME + "module.c" # The file generated by this program from macsupport import * @@ -52,137 +52,137 @@ static PyObject * TextStyle_New(TextStylePtr itself) { - return Py_BuildValue("lllO&", (long)itself->tsFont, (long)itself->tsFace, (long)itself->tsSize, QdRGB_New, - &itself->tsColor); + return Py_BuildValue("lllO&", (long)itself->tsFont, (long)itself->tsFace, (long)itself->tsSize, QdRGB_New, + &itself->tsColor); } static int TextStyle_Convert(PyObject *v, TextStylePtr p_itself) { - long font, face, size; - - if( !PyArg_ParseTuple(v, "lllO&", &font, &face, &size, QdRGB_Convert, &p_itself->tsColor) ) - return 0; - p_itself->tsFont = (short)font; - p_itself->tsFace = (Style)face; - p_itself->tsSize = (short)size; - return 1; + long font, face, size; + + if( !PyArg_ParseTuple(v, "lllO&", &font, &face, &size, QdRGB_Convert, &p_itself->tsColor) ) + return 0; + p_itself->tsFont = (short)font; + p_itself->tsFace = (Style)face; + p_itself->tsSize = (short)size; + return 1; } """ initstuff = initstuff + """ - PyMac_INIT_TOOLBOX_OBJECT_NEW(TEHandle, TEObj_New); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(TEHandle, TEObj_Convert); + PyMac_INIT_TOOLBOX_OBJECT_NEW(TEHandle, TEObj_New); + PyMac_INIT_TOOLBOX_OBJECT_CONVERT(TEHandle, TEObj_Convert); """ class TEMethodGenerator(OSErrWeakLinkMethodGenerator): - """Similar to MethodGenerator, but has self as last argument""" + """Similar to MethodGenerator, but has self as last argument""" - def parseArgumentList(self, args): - args, a0 = args[:-1], args[-1] - t0, n0, m0 = a0 - if m0 != InMode: - raise ValueError, "method's 'self' must be 'InMode'" - self.itself = Variable(t0, "_self->ob_itself", SelfMode) - FunctionGenerator.parseArgumentList(self, args) - self.argumentList.append(self.itself) + def parseArgumentList(self, args): + args, a0 = args[:-1], args[-1] + t0, n0, m0 = a0 + if m0 != InMode: + raise ValueError, "method's 'self' must be 'InMode'" + self.itself = Variable(t0, "_self->ob_itself", SelfMode) + FunctionGenerator.parseArgumentList(self, args) + self.argumentList.append(self.itself) class MyObjectDefinition(PEP253Mixin, GlobalObjectDefinition): - # XXXX Could be subtype of Resource - # Attributes that can be set. - getsetlist = [ - ( - 'destRect', - 'return Py_BuildValue("O&", PyMac_BuildRect, &(*self->ob_itself)->destRect);', - None, - 'Destination rectangle' - ), ( - 'viewRect', - 'return Py_BuildValue("O&", PyMac_BuildRect, &(*self->ob_itself)->viewRect);', - None, - 'Viewing rectangle' - ), ( - 'selRect', - 'return Py_BuildValue("O&", PyMac_BuildRect, &(*self->ob_itself)->selRect);', - None, - 'Selection rectangle' - ), ( - 'lineHeight', - 'return Py_BuildValue("h", (*self->ob_itself)->lineHeight);', - None, - 'Height of a line' - ), ( - 'fontAscent', - 'return Py_BuildValue("h", (*self->ob_itself)->fontAscent);', - None, - 'Ascent of a line' - ), ( - "selPoint", - 'return Py_BuildValue("O&", PyMac_BuildPoint, (*self->ob_itself)->selPoint);', - None, - 'Selection Point' - ), ( - 'selStart', - 'return Py_BuildValue("h", (*self->ob_itself)->selStart);', - None, - 'Start of selection' - ), ( - 'selEnd', - 'return Py_BuildValue("h", (*self->ob_itself)->selEnd);', - None, - 'End of selection' - ), ( - 'active', - 'return Py_BuildValue("h", (*self->ob_itself)->active);', - None, - 'TBD' - ), ( - 'just', - 'return Py_BuildValue("h", (*self->ob_itself)->just);', - None, - 'Justification' - ), ( - 'teLength', - 'return Py_BuildValue("h", (*self->ob_itself)->teLength);', - None, - 'TBD' - ), ( - 'txFont', - 'return Py_BuildValue("h", (*self->ob_itself)->txFont);', - None, - 'Current font' - ), ( - 'txFace', - 'return Py_BuildValue("h", (*self->ob_itself)->txFace);', - None, - 'Current font variant' - ), ( - 'txMode', - 'return Py_BuildValue("h", (*self->ob_itself)->txMode);', - None, - 'Current text-drawing mode' - ), ( - 'txSize', - 'return Py_BuildValue("h", (*self->ob_itself)->txSize);', - None, - 'Current font size' - ), ( - 'nLines', - 'return Py_BuildValue("h", (*self->ob_itself)->nLines);', - None, - 'TBD' - )] - - def outputCheckNewArg(self): - Output("""if (itself == NULL) { - PyErr_SetString(TE_Error,"Cannot create null TE"); - return NULL; - }""") - def outputFreeIt(self, itselfname): - Output("TEDispose(%s);", itselfname) - + # XXXX Could be subtype of Resource + # Attributes that can be set. + getsetlist = [ + ( + 'destRect', + 'return Py_BuildValue("O&", PyMac_BuildRect, &(*self->ob_itself)->destRect);', + None, + 'Destination rectangle' + ), ( + 'viewRect', + 'return Py_BuildValue("O&", PyMac_BuildRect, &(*self->ob_itself)->viewRect);', + None, + 'Viewing rectangle' + ), ( + 'selRect', + 'return Py_BuildValue("O&", PyMac_BuildRect, &(*self->ob_itself)->selRect);', + None, + 'Selection rectangle' + ), ( + 'lineHeight', + 'return Py_BuildValue("h", (*self->ob_itself)->lineHeight);', + None, + 'Height of a line' + ), ( + 'fontAscent', + 'return Py_BuildValue("h", (*self->ob_itself)->fontAscent);', + None, + 'Ascent of a line' + ), ( + "selPoint", + 'return Py_BuildValue("O&", PyMac_BuildPoint, (*self->ob_itself)->selPoint);', + None, + 'Selection Point' + ), ( + 'selStart', + 'return Py_BuildValue("h", (*self->ob_itself)->selStart);', + None, + 'Start of selection' + ), ( + 'selEnd', + 'return Py_BuildValue("h", (*self->ob_itself)->selEnd);', + None, + 'End of selection' + ), ( + 'active', + 'return Py_BuildValue("h", (*self->ob_itself)->active);', + None, + 'TBD' + ), ( + 'just', + 'return Py_BuildValue("h", (*self->ob_itself)->just);', + None, + 'Justification' + ), ( + 'teLength', + 'return Py_BuildValue("h", (*self->ob_itself)->teLength);', + None, + 'TBD' + ), ( + 'txFont', + 'return Py_BuildValue("h", (*self->ob_itself)->txFont);', + None, + 'Current font' + ), ( + 'txFace', + 'return Py_BuildValue("h", (*self->ob_itself)->txFace);', + None, + 'Current font variant' + ), ( + 'txMode', + 'return Py_BuildValue("h", (*self->ob_itself)->txMode);', + None, + 'Current text-drawing mode' + ), ( + 'txSize', + 'return Py_BuildValue("h", (*self->ob_itself)->txSize);', + None, + 'Current font size' + ), ( + 'nLines', + 'return Py_BuildValue("h", (*self->ob_itself)->nLines);', + None, + 'TBD' + )] + + def outputCheckNewArg(self): + Output("""if (itself == NULL) { + PyErr_SetString(TE_Error,"Cannot create null TE"); + return NULL; + }""") + def outputFreeIt(self, itselfname): + Output("TEDispose(%s);", itselfname) + # From here on it's basically all boiler plate... @@ -214,4 +214,3 @@ for f in methods: object.add(f) # generate output (open the output file as late as possible) SetOutputFileName(OUTPUTFILE) module.generate() - |