mirror of https://github.com/python/cpython
another round... ported to __SC__
This commit is contained in:
parent
295d171650
commit
9784295b15
|
@ -11,7 +11,7 @@ import StringIO
|
|||
from Res import *
|
||||
|
||||
def main():
|
||||
filename = raw_input("Listing file? (default stdout): ")
|
||||
filename = ""
|
||||
redirect(filename, realmain)
|
||||
|
||||
def redirect(filename, func, *args):
|
||||
|
@ -27,14 +27,14 @@ def redirect(filename, func, *args):
|
|||
def realmain():
|
||||
#list('C:System Folder:Extensions:AppleScript\252')
|
||||
#list('C:Tao AppleScript:Finder Liaison:Finder Liaison 1.0')
|
||||
#list('C:Tao AppleScript:Scriptable Text Editor')
|
||||
list('C:Tao AppleScript:Scriptable Text Editor')
|
||||
#list('C:Internet:Eudora 1.4.2:Eudora1.4.2')
|
||||
#list('E:Excel 4.0:Microsoft Excel')
|
||||
#list('C:Internet:Netscape 1.0N:Netscape 1.0N')
|
||||
#find('C:')
|
||||
find('D:')
|
||||
find('E:')
|
||||
find('F:')
|
||||
#find('D:')
|
||||
#find('E:')
|
||||
#find('F:')
|
||||
|
||||
def find(dir, maxlevel = 5):
|
||||
hits = []
|
||||
|
|
|
@ -6,14 +6,21 @@ especially to figure out all the different forms an object specifier
|
|||
can have (without having to rely on Apple's implementation).
|
||||
"""
|
||||
|
||||
import addpack
|
||||
addpack.addpack('Demo')
|
||||
addpack.addpack('bgen')
|
||||
addpack.addpack('ae')
|
||||
addpack.addpack('evt')
|
||||
|
||||
import sys
|
||||
sys.stdout = sys.stderr
|
||||
import traceback
|
||||
import MacOS
|
||||
import AE
|
||||
from AppleEvents import *
|
||||
import Evt
|
||||
from Events import *
|
||||
import aetools
|
||||
import sys
|
||||
import MacOS
|
||||
import traceback
|
||||
|
||||
kHighLevelEvent = 23 # Not defined anywhere for Python yet?
|
||||
|
||||
|
@ -49,6 +56,9 @@ class EchoServer:
|
|||
|
||||
def mainloop(self, mask = everyEvent, timeout = 60*60):
|
||||
while 1:
|
||||
self.dooneevent(mask, timeout)
|
||||
|
||||
def dooneevent(self, mask = everyEvent, timeout = 60*60):
|
||||
got, event = Evt.WaitNextEvent(mask, timeout)
|
||||
if got:
|
||||
self.lowlevelhandler(event)
|
||||
|
@ -116,4 +126,3 @@ def code(x):
|
|||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
else: main()
|
||||
|
|
|
@ -136,8 +136,10 @@ def unpack(desc):
|
|||
|
||||
|
||||
def mkfss(data):
|
||||
print "mkfss data =", `data`
|
||||
vol, dir, fnlen = struct.unpack('hlb', data[:7])
|
||||
filename = data[7:7+fnlen]
|
||||
print (vol, dir, fnlen, filename)
|
||||
return macfs.FSSpec((vol, dir, filename))
|
||||
|
||||
|
||||
|
|
|
@ -82,7 +82,7 @@ typedef struct AEDescObject {
|
|||
} AEDescObject;
|
||||
|
||||
static PyObject *AEDesc_New(itself)
|
||||
const AEDesc *itself;
|
||||
AEDesc *itself;
|
||||
{
|
||||
AEDescObject *it;
|
||||
it = PyObject_NEW(AEDescObject, &AEDesc_Type);
|
||||
|
@ -174,11 +174,13 @@ static PyObject *AEDesc_AEPutPtr(_self, _args)
|
|||
DescType typeCode;
|
||||
char *dataPtr__in__;
|
||||
long dataPtr__len__;
|
||||
int dataPtr__in_len__;
|
||||
if (!PyArg_ParseTuple(_args, "lO&s#",
|
||||
&index,
|
||||
PyMac_GetOSType, &typeCode,
|
||||
&dataPtr__in__, &dataPtr__len__))
|
||||
&dataPtr__in__, &dataPtr__in_len__))
|
||||
return NULL;
|
||||
dataPtr__len__ = dataPtr__in_len__;
|
||||
_err = AEPutPtr(&_self->ob_itself,
|
||||
index,
|
||||
typeCode,
|
||||
|
@ -223,16 +225,18 @@ static PyObject *AEDesc_AEGetNthPtr(_self, _args)
|
|||
DescType typeCode;
|
||||
char *dataPtr__out__;
|
||||
long dataPtr__len__;
|
||||
if (!PyArg_ParseTuple(_args, "lO&l",
|
||||
int dataPtr__in_len__;
|
||||
if (!PyArg_ParseTuple(_args, "lO&i",
|
||||
&index,
|
||||
PyMac_GetOSType, &desiredType,
|
||||
&dataPtr__len__))
|
||||
&dataPtr__in_len__))
|
||||
return NULL;
|
||||
if ((dataPtr__out__ = malloc(dataPtr__len__)) == NULL)
|
||||
if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL)
|
||||
{
|
||||
PyErr_NoMemory();
|
||||
goto dataPtr__error__;
|
||||
}
|
||||
dataPtr__len__ = dataPtr__in_len__;
|
||||
_err = AEGetNthPtr(&_self->ob_itself,
|
||||
index,
|
||||
desiredType,
|
||||
|
@ -243,7 +247,7 @@ static PyObject *AEDesc_AEGetNthPtr(_self, _args)
|
|||
_res = Py_BuildValue("O&O&s#",
|
||||
PyMac_BuildOSType, theAEKeyword,
|
||||
PyMac_BuildOSType, typeCode,
|
||||
dataPtr__out__, dataPtr__len__);
|
||||
dataPtr__out__, (int)dataPtr__len__);
|
||||
free(dataPtr__out__);
|
||||
dataPtr__error__: ;
|
||||
return _res;
|
||||
|
@ -326,11 +330,13 @@ static PyObject *AEDesc_AEPutKeyPtr(_self, _args)
|
|||
DescType typeCode;
|
||||
char *dataPtr__in__;
|
||||
long dataPtr__len__;
|
||||
int dataPtr__in_len__;
|
||||
if (!PyArg_ParseTuple(_args, "O&O&s#",
|
||||
PyMac_GetOSType, &theAEKeyword,
|
||||
PyMac_GetOSType, &typeCode,
|
||||
&dataPtr__in__, &dataPtr__len__))
|
||||
&dataPtr__in__, &dataPtr__in_len__))
|
||||
return NULL;
|
||||
dataPtr__len__ = dataPtr__in_len__;
|
||||
_err = AEPutKeyPtr(&_self->ob_itself,
|
||||
theAEKeyword,
|
||||
typeCode,
|
||||
|
@ -374,16 +380,18 @@ static PyObject *AEDesc_AEGetKeyPtr(_self, _args)
|
|||
DescType typeCode;
|
||||
char *dataPtr__out__;
|
||||
long dataPtr__len__;
|
||||
if (!PyArg_ParseTuple(_args, "O&O&l",
|
||||
int dataPtr__in_len__;
|
||||
if (!PyArg_ParseTuple(_args, "O&O&i",
|
||||
PyMac_GetOSType, &theAEKeyword,
|
||||
PyMac_GetOSType, &desiredType,
|
||||
&dataPtr__len__))
|
||||
&dataPtr__in_len__))
|
||||
return NULL;
|
||||
if ((dataPtr__out__ = malloc(dataPtr__len__)) == NULL)
|
||||
if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL)
|
||||
{
|
||||
PyErr_NoMemory();
|
||||
goto dataPtr__error__;
|
||||
}
|
||||
dataPtr__len__ = dataPtr__in_len__;
|
||||
_err = AEGetKeyPtr(&_self->ob_itself,
|
||||
theAEKeyword,
|
||||
desiredType,
|
||||
|
@ -392,7 +400,7 @@ static PyObject *AEDesc_AEGetKeyPtr(_self, _args)
|
|||
if (_err != noErr) return PyMac_Error(_err);
|
||||
_res = Py_BuildValue("O&s#",
|
||||
PyMac_BuildOSType, typeCode,
|
||||
dataPtr__out__, dataPtr__len__);
|
||||
dataPtr__out__, (int)dataPtr__len__);
|
||||
free(dataPtr__out__);
|
||||
dataPtr__error__: ;
|
||||
return _res;
|
||||
|
@ -472,11 +480,13 @@ static PyObject *AEDesc_AEPutParamPtr(_self, _args)
|
|||
DescType typeCode;
|
||||
char *dataPtr__in__;
|
||||
long dataPtr__len__;
|
||||
int dataPtr__in_len__;
|
||||
if (!PyArg_ParseTuple(_args, "O&O&s#",
|
||||
PyMac_GetOSType, &theAEKeyword,
|
||||
PyMac_GetOSType, &typeCode,
|
||||
&dataPtr__in__, &dataPtr__len__))
|
||||
&dataPtr__in__, &dataPtr__in_len__))
|
||||
return NULL;
|
||||
dataPtr__len__ = dataPtr__in_len__;
|
||||
_err = AEPutParamPtr(&_self->ob_itself,
|
||||
theAEKeyword,
|
||||
typeCode,
|
||||
|
@ -520,16 +530,18 @@ static PyObject *AEDesc_AEGetParamPtr(_self, _args)
|
|||
DescType typeCode;
|
||||
char *dataPtr__out__;
|
||||
long dataPtr__len__;
|
||||
if (!PyArg_ParseTuple(_args, "O&O&l",
|
||||
int dataPtr__in_len__;
|
||||
if (!PyArg_ParseTuple(_args, "O&O&i",
|
||||
PyMac_GetOSType, &theAEKeyword,
|
||||
PyMac_GetOSType, &desiredType,
|
||||
&dataPtr__len__))
|
||||
&dataPtr__in_len__))
|
||||
return NULL;
|
||||
if ((dataPtr__out__ = malloc(dataPtr__len__)) == NULL)
|
||||
if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL)
|
||||
{
|
||||
PyErr_NoMemory();
|
||||
goto dataPtr__error__;
|
||||
}
|
||||
dataPtr__len__ = dataPtr__in_len__;
|
||||
_err = AEGetParamPtr(&_self->ob_itself,
|
||||
theAEKeyword,
|
||||
desiredType,
|
||||
|
@ -538,7 +550,7 @@ static PyObject *AEDesc_AEGetParamPtr(_self, _args)
|
|||
if (_err != noErr) return PyMac_Error(_err);
|
||||
_res = Py_BuildValue("O&s#",
|
||||
PyMac_BuildOSType, typeCode,
|
||||
dataPtr__out__, dataPtr__len__);
|
||||
dataPtr__out__, (int)dataPtr__len__);
|
||||
free(dataPtr__out__);
|
||||
dataPtr__error__: ;
|
||||
return _res;
|
||||
|
@ -619,16 +631,18 @@ static PyObject *AEDesc_AEGetAttributePtr(_self, _args)
|
|||
DescType typeCode;
|
||||
char *dataPtr__out__;
|
||||
long dataPtr__len__;
|
||||
if (!PyArg_ParseTuple(_args, "O&O&l",
|
||||
int dataPtr__in_len__;
|
||||
if (!PyArg_ParseTuple(_args, "O&O&i",
|
||||
PyMac_GetOSType, &theAEKeyword,
|
||||
PyMac_GetOSType, &desiredType,
|
||||
&dataPtr__len__))
|
||||
&dataPtr__in_len__))
|
||||
return NULL;
|
||||
if ((dataPtr__out__ = malloc(dataPtr__len__)) == NULL)
|
||||
if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL)
|
||||
{
|
||||
PyErr_NoMemory();
|
||||
goto dataPtr__error__;
|
||||
}
|
||||
dataPtr__len__ = dataPtr__in_len__;
|
||||
_err = AEGetAttributePtr(&_self->ob_itself,
|
||||
theAEKeyword,
|
||||
desiredType,
|
||||
|
@ -637,7 +651,7 @@ static PyObject *AEDesc_AEGetAttributePtr(_self, _args)
|
|||
if (_err != noErr) return PyMac_Error(_err);
|
||||
_res = Py_BuildValue("O&s#",
|
||||
PyMac_BuildOSType, typeCode,
|
||||
dataPtr__out__, dataPtr__len__);
|
||||
dataPtr__out__, (int)dataPtr__len__);
|
||||
free(dataPtr__out__);
|
||||
dataPtr__error__: ;
|
||||
return _res;
|
||||
|
@ -699,11 +713,13 @@ static PyObject *AEDesc_AEPutAttributePtr(_self, _args)
|
|||
DescType typeCode;
|
||||
char *dataPtr__in__;
|
||||
long dataPtr__len__;
|
||||
int dataPtr__in_len__;
|
||||
if (!PyArg_ParseTuple(_args, "O&O&s#",
|
||||
PyMac_GetOSType, &theAEKeyword,
|
||||
PyMac_GetOSType, &typeCode,
|
||||
&dataPtr__in__, &dataPtr__len__))
|
||||
&dataPtr__in__, &dataPtr__in_len__))
|
||||
return NULL;
|
||||
dataPtr__len__ = dataPtr__in_len__;
|
||||
_err = AEPutAttributePtr(&_self->ob_itself,
|
||||
theAEKeyword,
|
||||
typeCode,
|
||||
|
@ -927,7 +943,7 @@ static PyObject *AEDesc_getattr(self, name)
|
|||
|
||||
#define AEDesc_setattr NULL
|
||||
|
||||
static PyTypeObject AEDesc_Type = {
|
||||
staticforward PyTypeObject AEDesc_Type = {
|
||||
PyObject_HEAD_INIT(&PyType_Type)
|
||||
0, /*ob_size*/
|
||||
"AEDesc", /*tp_name*/
|
||||
|
@ -952,11 +968,13 @@ static PyObject *AE_AECreateDesc(_self, _args)
|
|||
DescType typeCode;
|
||||
char *dataPtr__in__;
|
||||
long dataPtr__len__;
|
||||
int dataPtr__in_len__;
|
||||
AEDesc result;
|
||||
if (!PyArg_ParseTuple(_args, "O&s#",
|
||||
PyMac_GetOSType, &typeCode,
|
||||
&dataPtr__in__, &dataPtr__len__))
|
||||
&dataPtr__in__, &dataPtr__in_len__))
|
||||
return NULL;
|
||||
dataPtr__len__ = dataPtr__in_len__;
|
||||
_err = AECreateDesc(typeCode,
|
||||
dataPtr__in__, dataPtr__len__,
|
||||
&result);
|
||||
|
@ -976,13 +994,15 @@ static PyObject *AE_AECoercePtr(_self, _args)
|
|||
DescType typeCode;
|
||||
char *dataPtr__in__;
|
||||
long dataPtr__len__;
|
||||
int dataPtr__in_len__;
|
||||
DescType toType;
|
||||
AEDesc result;
|
||||
if (!PyArg_ParseTuple(_args, "O&s#O&",
|
||||
PyMac_GetOSType, &typeCode,
|
||||
&dataPtr__in__, &dataPtr__len__,
|
||||
&dataPtr__in__, &dataPtr__in_len__,
|
||||
PyMac_GetOSType, &toType))
|
||||
return NULL;
|
||||
dataPtr__len__ = dataPtr__in_len__;
|
||||
_err = AECoercePtr(typeCode,
|
||||
dataPtr__in__, dataPtr__len__,
|
||||
toType,
|
||||
|
@ -1002,12 +1022,14 @@ static PyObject *AE_AECreateList(_self, _args)
|
|||
OSErr _err;
|
||||
char *factoringPtr__in__;
|
||||
long factoringPtr__len__;
|
||||
int factoringPtr__in_len__;
|
||||
Boolean isRecord;
|
||||
AEDescList resultList;
|
||||
if (!PyArg_ParseTuple(_args, "s#b",
|
||||
&factoringPtr__in__, &factoringPtr__len__,
|
||||
&factoringPtr__in__, &factoringPtr__in_len__,
|
||||
&isRecord))
|
||||
return NULL;
|
||||
factoringPtr__len__ = factoringPtr__in_len__;
|
||||
_err = AECreateList(factoringPtr__in__, factoringPtr__len__,
|
||||
isRecord,
|
||||
&resultList);
|
||||
|
@ -1232,7 +1254,7 @@ static PyMethodDef AE_methods[] = {
|
|||
|
||||
|
||||
static pascal OSErr
|
||||
GenericEventHandler(const AppleEvent *request, AppleEvent *reply, long refcon)
|
||||
GenericEventHandler(AppleEvent *request, AppleEvent *reply, long refcon)
|
||||
{
|
||||
PyObject *handler = (PyObject *)refcon;
|
||||
AEDescObject *requestObject, *replyObject;
|
||||
|
|
|
@ -115,7 +115,7 @@ AEIdleUPP upp_AEIdleProc;
|
|||
|
||||
finalstuff = finalstuff + """
|
||||
static pascal OSErr
|
||||
GenericEventHandler(const AppleEvent *request, AppleEvent *reply, long refcon)
|
||||
GenericEventHandler(AppleEvent *request, AppleEvent *reply, long refcon)
|
||||
{
|
||||
PyObject *handler = (PyObject *)refcon;
|
||||
AEDescObject *requestObject, *replyObject;
|
||||
|
|
|
@ -34,6 +34,10 @@ extern PyObject *WinObj_WhichWindow(WindowPtr);
|
|||
|
||||
#include <Dialogs.h>
|
||||
|
||||
#ifndef HAVE_UNIVERSAL_HEADERS
|
||||
#define NewModalFilterProc(x) (x)
|
||||
#endif
|
||||
|
||||
#define resNotFound -192 /* Can't include <Errors.h> because of Python's "errors.h" */
|
||||
|
||||
/* XXX Shouldn't this be a stack? */
|
||||
|
@ -51,7 +55,7 @@ static pascal Boolean Dlg_UnivFilterProc(DialogPtr dialog,
|
|||
if (callback == NULL)
|
||||
return 0; /* Default behavior */
|
||||
Dlg_FilterProc_callback = NULL; /* We'll restore it when call successful */
|
||||
args = Py_BuildValue("O&s#", DlgObj_New, dialog, event, sizeof(EventRecord));
|
||||
args = Py_BuildValue("O&s#", DlgObj_New, dialog, event, (int)sizeof(EventRecord));
|
||||
if (args == NULL)
|
||||
res = NULL;
|
||||
else {
|
||||
|
@ -108,7 +112,7 @@ typedef struct DialogObject {
|
|||
} DialogObject;
|
||||
|
||||
PyObject *DlgObj_New(itself)
|
||||
const DialogPtr itself;
|
||||
DialogPtr itself;
|
||||
{
|
||||
DialogObject *it;
|
||||
if (itself == NULL) return Py_None;
|
||||
|
@ -154,20 +158,6 @@ static PyObject *DlgObj_DrawDialog(_self, _args)
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *DlgObj_UpdtDialog(_self, _args)
|
||||
DialogObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
if (!PyArg_ParseTuple(_args, ""))
|
||||
return NULL;
|
||||
UpdtDialog(_self->ob_itself,
|
||||
_self->ob_itself->visRgn);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *DlgObj_UpdateDialog(_self, _args)
|
||||
DialogObject *_self;
|
||||
PyObject *_args;
|
||||
|
@ -406,8 +396,6 @@ static PyObject *DlgObj_ShortenDITL(_self, _args)
|
|||
static PyMethodDef DlgObj_methods[] = {
|
||||
{"DrawDialog", (PyCFunction)DlgObj_DrawDialog, 1,
|
||||
"() -> None"},
|
||||
{"UpdtDialog", (PyCFunction)DlgObj_UpdtDialog, 1,
|
||||
"() -> None"},
|
||||
{"UpdateDialog", (PyCFunction)DlgObj_UpdateDialog, 1,
|
||||
"() -> None"},
|
||||
{"GetDItem", (PyCFunction)DlgObj_GetDItem, 1,
|
||||
|
@ -524,36 +512,6 @@ static PyObject *Dlg_GetNewDialog(_self, _args)
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *Dlg_CouldDialog(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
short dialogID;
|
||||
if (!PyArg_ParseTuple(_args, "h",
|
||||
&dialogID))
|
||||
return NULL;
|
||||
CouldDialog(dialogID);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *Dlg_FreeDialog(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
short dialogID;
|
||||
if (!PyArg_ParseTuple(_args, "h",
|
||||
&dialogID))
|
||||
return NULL;
|
||||
FreeDialog(dialogID);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *Dlg_ParamText(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
|
@ -588,7 +546,7 @@ static PyObject *Dlg_ModalDialog(_self, _args)
|
|||
if (!PyArg_ParseTuple(_args, "O",
|
||||
&filterProc))
|
||||
return NULL;
|
||||
ModalDialog(Dlg_PassFilterProc(filterProc),
|
||||
ModalDialog(NewModalFilterProc(Dlg_PassFilterProc(filterProc)),
|
||||
&itemHit);
|
||||
_res = Py_BuildValue("h",
|
||||
itemHit);
|
||||
|
@ -646,7 +604,7 @@ static PyObject *Dlg_Alert(_self, _args)
|
|||
&filterProc))
|
||||
return NULL;
|
||||
_rv = Alert(alertID,
|
||||
Dlg_PassFilterProc(filterProc));
|
||||
NewModalFilterProc(Dlg_PassFilterProc(filterProc)));
|
||||
_res = Py_BuildValue("h",
|
||||
_rv);
|
||||
return _res;
|
||||
|
@ -665,7 +623,7 @@ static PyObject *Dlg_StopAlert(_self, _args)
|
|||
&filterProc))
|
||||
return NULL;
|
||||
_rv = StopAlert(alertID,
|
||||
Dlg_PassFilterProc(filterProc));
|
||||
NewModalFilterProc(Dlg_PassFilterProc(filterProc)));
|
||||
_res = Py_BuildValue("h",
|
||||
_rv);
|
||||
return _res;
|
||||
|
@ -684,7 +642,7 @@ static PyObject *Dlg_NoteAlert(_self, _args)
|
|||
&filterProc))
|
||||
return NULL;
|
||||
_rv = NoteAlert(alertID,
|
||||
Dlg_PassFilterProc(filterProc));
|
||||
NewModalFilterProc(Dlg_PassFilterProc(filterProc)));
|
||||
_res = Py_BuildValue("h",
|
||||
_rv);
|
||||
return _res;
|
||||
|
@ -703,42 +661,12 @@ static PyObject *Dlg_CautionAlert(_self, _args)
|
|||
&filterProc))
|
||||
return NULL;
|
||||
_rv = CautionAlert(alertID,
|
||||
Dlg_PassFilterProc(filterProc));
|
||||
NewModalFilterProc(Dlg_PassFilterProc(filterProc)));
|
||||
_res = Py_BuildValue("h",
|
||||
_rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *Dlg_CouldAlert(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
short alertID;
|
||||
if (!PyArg_ParseTuple(_args, "h",
|
||||
&alertID))
|
||||
return NULL;
|
||||
CouldAlert(alertID);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *Dlg_FreeAlert(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
short alertID;
|
||||
if (!PyArg_ParseTuple(_args, "h",
|
||||
&alertID))
|
||||
return NULL;
|
||||
FreeAlert(alertID);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *Dlg_GetIText(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
|
@ -845,10 +773,6 @@ static PyMethodDef Dlg_methods[] = {
|
|||
"(Rect boundsRect, Str255 title, Boolean visible, short procID, WindowPtr behind, Boolean goAwayFlag, long refCon, Handle itmLstHndl) -> (DialogPtr _rv)"},
|
||||
{"GetNewDialog", (PyCFunction)Dlg_GetNewDialog, 1,
|
||||
"(short dialogID, WindowPtr behind) -> (DialogPtr _rv)"},
|
||||
{"CouldDialog", (PyCFunction)Dlg_CouldDialog, 1,
|
||||
"(short dialogID) -> None"},
|
||||
{"FreeDialog", (PyCFunction)Dlg_FreeDialog, 1,
|
||||
"(short dialogID) -> None"},
|
||||
{"ParamText", (PyCFunction)Dlg_ParamText, 1,
|
||||
"(Str255 param0, Str255 param1, Str255 param2, Str255 param3) -> None"},
|
||||
{"ModalDialog", (PyCFunction)Dlg_ModalDialog, 1,
|
||||
|
@ -865,10 +789,6 @@ static PyMethodDef Dlg_methods[] = {
|
|||
"(short alertID, PyObject* filterProc) -> (short _rv)"},
|
||||
{"CautionAlert", (PyCFunction)Dlg_CautionAlert, 1,
|
||||
"(short alertID, PyObject* filterProc) -> (short _rv)"},
|
||||
{"CouldAlert", (PyCFunction)Dlg_CouldAlert, 1,
|
||||
"(short alertID) -> None"},
|
||||
{"FreeAlert", (PyCFunction)Dlg_FreeAlert, 1,
|
||||
"(short alertID) -> None"},
|
||||
{"GetIText", (PyCFunction)Dlg_GetIText, 1,
|
||||
"(Handle item) -> (Str255 text)"},
|
||||
{"SetIText", (PyCFunction)Dlg_SetIText, 1,
|
||||
|
|
|
@ -37,6 +37,11 @@ class MyScanner(Scanner):
|
|||
'CloseDialog',
|
||||
'DisposDialog',
|
||||
'DisposeDialog',
|
||||
'UpdtDialog',
|
||||
'CouldAlert',
|
||||
'FreeAlert',
|
||||
'CouldDialog',
|
||||
'FreeDialog',
|
||||
]
|
||||
|
||||
def makeblacklisttypes(self):
|
||||
|
|
|
@ -10,7 +10,7 @@ from macsupport import *
|
|||
DialogPtr = OpaqueByValueType("DialogPtr", "DlgObj")
|
||||
|
||||
ModalFilterProcPtr = InputOnlyType("PyObject*", "O")
|
||||
ModalFilterProcPtr.passInput = lambda name: "Dlg_PassFilterProc(%s)" % name
|
||||
ModalFilterProcPtr.passInput = lambda name: "NewModalFilterProc(Dlg_PassFilterProc(%s))" % name
|
||||
|
||||
RgnHandle = FakeType("_self->ob_itself->visRgn") # XXX
|
||||
|
||||
|
@ -19,6 +19,10 @@ DITLMethod = Type("DITLMethod", "h")
|
|||
includestuff = includestuff + """
|
||||
#include <Dialogs.h>
|
||||
|
||||
#ifndef HAVE_UNIVERSAL_HEADERS
|
||||
#define NewModalFilterProc(x) (x)
|
||||
#endif
|
||||
|
||||
#define resNotFound -192 /* Can't include <Errors.h> because of Python's "errors.h" */
|
||||
|
||||
/* XXX Shouldn't this be a stack? */
|
||||
|
@ -36,7 +40,7 @@ static pascal Boolean Dlg_UnivFilterProc(DialogPtr dialog,
|
|||
if (callback == NULL)
|
||||
return 0; /* Default behavior */
|
||||
Dlg_FilterProc_callback = NULL; /* We'll restore it when call successful */
|
||||
args = Py_BuildValue("O&s#", DlgObj_New, dialog, event, sizeof(EventRecord));
|
||||
args = Py_BuildValue("O&s#", DlgObj_New, dialog, event, (int)sizeof(EventRecord));
|
||||
if (args == NULL)
|
||||
res = NULL;
|
||||
else {
|
||||
|
|
|
@ -30,9 +30,11 @@ extern int MenuObj_Convert(PyObject *, MenuHandle *);
|
|||
extern PyObject *CtlObj_New(ControlHandle);
|
||||
extern int CtlObj_Convert(PyObject *, ControlHandle *);
|
||||
|
||||
extern PyObject *WinObj_WhichWindow(WindowPtr);
|
||||
|
||||
#include <Sound.h>
|
||||
|
||||
#ifndef __MWERKS__
|
||||
#ifndef HAVE_UNIVERSAL_HEADERS
|
||||
#define SndCallBackUPP ProcPtr
|
||||
#define NewSndCallBackProc(x) (x)
|
||||
#define SndListHandle Handle
|
||||
|
@ -100,7 +102,7 @@ typedef struct SndChannelObject {
|
|||
} SndChannelObject;
|
||||
|
||||
static PyObject *SndCh_New(itself)
|
||||
const SndChannelPtr itself;
|
||||
SndChannelPtr itself;
|
||||
{
|
||||
SndChannelObject *it;
|
||||
it = PyObject_NEW(SndChannelObject, &SndChannel_Type);
|
||||
|
@ -262,7 +264,6 @@ static PyObject *SndCh_SndChannelStatus(_self, _args)
|
|||
OSErr _err;
|
||||
short theLength;
|
||||
SCStatus theStatus__out__;
|
||||
int theStatus__len__;
|
||||
if (!PyArg_ParseTuple(_args, "h",
|
||||
&theLength))
|
||||
return NULL;
|
||||
|
@ -271,7 +272,7 @@ static PyObject *SndCh_SndChannelStatus(_self, _args)
|
|||
&theStatus__out__);
|
||||
if (_err != noErr) return PyMac_Error(_err);
|
||||
_res = Py_BuildValue("s#",
|
||||
(char *)&theStatus__out__, sizeof(SCStatus));
|
||||
(char *)&theStatus__out__, (int)sizeof(SCStatus));
|
||||
theStatus__error__: ;
|
||||
return _res;
|
||||
}
|
||||
|
@ -305,7 +306,7 @@ static PyObject *SndCh_getattr(self, name)
|
|||
|
||||
#define SndCh_setattr NULL
|
||||
|
||||
static PyTypeObject SndChannel_Type = {
|
||||
staticforward PyTypeObject SndChannel_Type = {
|
||||
PyObject_HEAD_INIT(&PyType_Type)
|
||||
0, /*ob_size*/
|
||||
"SndChannel", /*tp_name*/
|
||||
|
@ -344,7 +345,7 @@ static PyObject *Snd_SndNewChannel(_self, _args)
|
|||
_err = SndNewChannel(&chan,
|
||||
synth,
|
||||
init,
|
||||
(SndCallBackProcPtr)&SndCh_UserRoutine);
|
||||
NewSndCallBackProc(SndCh_UserRoutine));
|
||||
if (_err != noErr) return PyMac_Error(_err);
|
||||
_res = Py_BuildValue("O&",
|
||||
SndCh_New, chan);
|
||||
|
@ -378,35 +379,6 @@ static PyObject *Snd_SndControl(_self, _args)
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *Snd_SetSoundVol(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
short level;
|
||||
if (!PyArg_ParseTuple(_args, "h",
|
||||
&level))
|
||||
return NULL;
|
||||
SetSoundVol(level);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *Snd_GetSoundVol(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
short level;
|
||||
if (!PyArg_ParseTuple(_args, ""))
|
||||
return NULL;
|
||||
GetSoundVol(&level);
|
||||
_res = Py_BuildValue("h",
|
||||
level);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *Snd_SndSoundManagerVersion(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
|
@ -429,7 +401,6 @@ static PyObject *Snd_SndManagerStatus(_self, _args)
|
|||
OSErr _err;
|
||||
short theLength;
|
||||
SMStatus theStatus__out__;
|
||||
int theStatus__len__;
|
||||
if (!PyArg_ParseTuple(_args, "h",
|
||||
&theLength))
|
||||
return NULL;
|
||||
|
@ -437,7 +408,7 @@ static PyObject *Snd_SndManagerStatus(_self, _args)
|
|||
&theStatus__out__);
|
||||
if (_err != noErr) return PyMac_Error(_err);
|
||||
_res = Py_BuildValue("s#",
|
||||
(char *)&theStatus__out__, sizeof(SMStatus));
|
||||
(char *)&theStatus__out__, (int)sizeof(SMStatus));
|
||||
theStatus__error__: ;
|
||||
return _res;
|
||||
}
|
||||
|
@ -495,34 +466,38 @@ static PyObject *Snd_Comp3to1(_self, _args)
|
|||
char *buffer__in__;
|
||||
char *buffer__out__;
|
||||
long buffer__len__;
|
||||
int buffer__in_len__;
|
||||
char *state__in__;
|
||||
char state__out__[128];
|
||||
int state__len__;
|
||||
int state__in_len__;
|
||||
unsigned long numChannels;
|
||||
unsigned long whichChannel;
|
||||
if (!PyArg_ParseTuple(_args, "s#s#ll",
|
||||
&buffer__in__, &buffer__len__,
|
||||
&state__in__, &state__len__,
|
||||
&buffer__in__, &buffer__in_len__,
|
||||
&state__in__, &state__in_len__,
|
||||
&numChannels,
|
||||
&whichChannel))
|
||||
return NULL;
|
||||
if ((buffer__out__ = malloc(buffer__len__)) == NULL)
|
||||
if ((buffer__out__ = malloc(buffer__in_len__)) == NULL)
|
||||
{
|
||||
PyErr_NoMemory();
|
||||
goto buffer__error__;
|
||||
}
|
||||
if (state__len__ != 128)
|
||||
buffer__len__ = buffer__in_len__;
|
||||
if (state__in_len__ != 128)
|
||||
{
|
||||
PyErr_SetString(PyExc_TypeError, "buffer length should be 128");
|
||||
goto state__error__;
|
||||
}
|
||||
Comp3to1(buffer__in__, buffer__out__, buffer__len__,
|
||||
state__len__ = state__in_len__;
|
||||
Comp3to1(buffer__in__, buffer__out__, (long)buffer__len__,
|
||||
state__in__, state__out__,
|
||||
numChannels,
|
||||
whichChannel);
|
||||
_res = Py_BuildValue("s#s#",
|
||||
buffer__out__, buffer__len__,
|
||||
state__out__, 128);
|
||||
buffer__out__, (int)buffer__len__,
|
||||
state__out__, (int)128);
|
||||
state__error__: ;
|
||||
free(buffer__out__);
|
||||
buffer__error__: ;
|
||||
|
@ -537,34 +512,38 @@ static PyObject *Snd_Exp1to3(_self, _args)
|
|||
char *buffer__in__;
|
||||
char *buffer__out__;
|
||||
long buffer__len__;
|
||||
int buffer__in_len__;
|
||||
char *state__in__;
|
||||
char state__out__[128];
|
||||
int state__len__;
|
||||
int state__in_len__;
|
||||
unsigned long numChannels;
|
||||
unsigned long whichChannel;
|
||||
if (!PyArg_ParseTuple(_args, "s#s#ll",
|
||||
&buffer__in__, &buffer__len__,
|
||||
&state__in__, &state__len__,
|
||||
&buffer__in__, &buffer__in_len__,
|
||||
&state__in__, &state__in_len__,
|
||||
&numChannels,
|
||||
&whichChannel))
|
||||
return NULL;
|
||||
if ((buffer__out__ = malloc(buffer__len__)) == NULL)
|
||||
if ((buffer__out__ = malloc(buffer__in_len__)) == NULL)
|
||||
{
|
||||
PyErr_NoMemory();
|
||||
goto buffer__error__;
|
||||
}
|
||||
if (state__len__ != 128)
|
||||
buffer__len__ = buffer__in_len__;
|
||||
if (state__in_len__ != 128)
|
||||
{
|
||||
PyErr_SetString(PyExc_TypeError, "buffer length should be 128");
|
||||
goto state__error__;
|
||||
}
|
||||
Exp1to3(buffer__in__, buffer__out__, buffer__len__,
|
||||
state__len__ = state__in_len__;
|
||||
Exp1to3(buffer__in__, buffer__out__, (long)buffer__len__,
|
||||
state__in__, state__out__,
|
||||
numChannels,
|
||||
whichChannel);
|
||||
_res = Py_BuildValue("s#s#",
|
||||
buffer__out__, buffer__len__,
|
||||
state__out__, 128);
|
||||
buffer__out__, (int)buffer__len__,
|
||||
state__out__, (int)128);
|
||||
state__error__: ;
|
||||
free(buffer__out__);
|
||||
buffer__error__: ;
|
||||
|
@ -579,34 +558,38 @@ static PyObject *Snd_Comp6to1(_self, _args)
|
|||
char *buffer__in__;
|
||||
char *buffer__out__;
|
||||
long buffer__len__;
|
||||
int buffer__in_len__;
|
||||
char *state__in__;
|
||||
char state__out__[128];
|
||||
int state__len__;
|
||||
int state__in_len__;
|
||||
unsigned long numChannels;
|
||||
unsigned long whichChannel;
|
||||
if (!PyArg_ParseTuple(_args, "s#s#ll",
|
||||
&buffer__in__, &buffer__len__,
|
||||
&state__in__, &state__len__,
|
||||
&buffer__in__, &buffer__in_len__,
|
||||
&state__in__, &state__in_len__,
|
||||
&numChannels,
|
||||
&whichChannel))
|
||||
return NULL;
|
||||
if ((buffer__out__ = malloc(buffer__len__)) == NULL)
|
||||
if ((buffer__out__ = malloc(buffer__in_len__)) == NULL)
|
||||
{
|
||||
PyErr_NoMemory();
|
||||
goto buffer__error__;
|
||||
}
|
||||
if (state__len__ != 128)
|
||||
buffer__len__ = buffer__in_len__;
|
||||
if (state__in_len__ != 128)
|
||||
{
|
||||
PyErr_SetString(PyExc_TypeError, "buffer length should be 128");
|
||||
goto state__error__;
|
||||
}
|
||||
Comp6to1(buffer__in__, buffer__out__, buffer__len__,
|
||||
state__len__ = state__in_len__;
|
||||
Comp6to1(buffer__in__, buffer__out__, (long)buffer__len__,
|
||||
state__in__, state__out__,
|
||||
numChannels,
|
||||
whichChannel);
|
||||
_res = Py_BuildValue("s#s#",
|
||||
buffer__out__, buffer__len__,
|
||||
state__out__, 128);
|
||||
buffer__out__, (int)buffer__len__,
|
||||
state__out__, (int)128);
|
||||
state__error__: ;
|
||||
free(buffer__out__);
|
||||
buffer__error__: ;
|
||||
|
@ -621,34 +604,38 @@ static PyObject *Snd_Exp1to6(_self, _args)
|
|||
char *buffer__in__;
|
||||
char *buffer__out__;
|
||||
long buffer__len__;
|
||||
int buffer__in_len__;
|
||||
char *state__in__;
|
||||
char state__out__[128];
|
||||
int state__len__;
|
||||
int state__in_len__;
|
||||
unsigned long numChannels;
|
||||
unsigned long whichChannel;
|
||||
if (!PyArg_ParseTuple(_args, "s#s#ll",
|
||||
&buffer__in__, &buffer__len__,
|
||||
&state__in__, &state__len__,
|
||||
&buffer__in__, &buffer__in_len__,
|
||||
&state__in__, &state__in_len__,
|
||||
&numChannels,
|
||||
&whichChannel))
|
||||
return NULL;
|
||||
if ((buffer__out__ = malloc(buffer__len__)) == NULL)
|
||||
if ((buffer__out__ = malloc(buffer__in_len__)) == NULL)
|
||||
{
|
||||
PyErr_NoMemory();
|
||||
goto buffer__error__;
|
||||
}
|
||||
if (state__len__ != 128)
|
||||
buffer__len__ = buffer__in_len__;
|
||||
if (state__in_len__ != 128)
|
||||
{
|
||||
PyErr_SetString(PyExc_TypeError, "buffer length should be 128");
|
||||
goto state__error__;
|
||||
}
|
||||
Exp1to6(buffer__in__, buffer__out__, buffer__len__,
|
||||
state__len__ = state__in_len__;
|
||||
Exp1to6(buffer__in__, buffer__out__, (long)buffer__len__,
|
||||
state__in__, state__out__,
|
||||
numChannels,
|
||||
whichChannel);
|
||||
_res = Py_BuildValue("s#s#",
|
||||
buffer__out__, buffer__len__,
|
||||
state__out__, 128);
|
||||
buffer__out__, (int)buffer__len__,
|
||||
state__out__, (int)128);
|
||||
state__error__: ;
|
||||
free(buffer__out__);
|
||||
buffer__error__: ;
|
||||
|
@ -660,10 +647,6 @@ static PyMethodDef Snd_methods[] = {
|
|||
"(short synth, long init, PyObject* userRoutine) -> (SndChannelPtr chan)"},
|
||||
{"SndControl", (PyCFunction)Snd_SndControl, 1,
|
||||
"(short id) -> (SndCommand cmd)"},
|
||||
{"SetSoundVol", (PyCFunction)Snd_SetSoundVol, 1,
|
||||
"(short level) -> None"},
|
||||
{"GetSoundVol", (PyCFunction)Snd_GetSoundVol, 1,
|
||||
"() -> (short level)"},
|
||||
{"SndSoundManagerVersion", (PyCFunction)Snd_SndSoundManagerVersion, 1,
|
||||
"() -> (NumVersion _rv)"},
|
||||
{"SndManagerStatus", (PyCFunction)Snd_SndManagerStatus, 1,
|
||||
|
|
|
@ -41,6 +41,8 @@ class SoundScanner(Scanner):
|
|||
|
||||
def makeblacklisttypes(self):
|
||||
return [
|
||||
"GetSoundVol",
|
||||
"SetSoundVol",
|
||||
]
|
||||
|
||||
def makerepairinstructions(self):
|
||||
|
|
|
@ -19,7 +19,7 @@ class SndMethod(SndMixIn, OSErrMethodGenerator): pass
|
|||
includestuff = includestuff + """
|
||||
#include <Sound.h>
|
||||
|
||||
#ifndef __MWERKS__
|
||||
#ifndef HAVE_UNIVERSAL_HEADERS
|
||||
#define SndCallBackUPP ProcPtr
|
||||
#define NewSndCallBackProc(x) (x)
|
||||
#define SndListHandle Handle
|
||||
|
@ -50,13 +50,13 @@ class SndCallBackType(InputOnlyType):
|
|||
def __init__(self):
|
||||
Type.__init__(self, 'PyObject*', 'O')
|
||||
def getargsCheck(self, name):
|
||||
Output("if (%s != Py_None && !callable(%s))", name, name)
|
||||
Output("if (%s != Py_None && !PyCallable_Check(%s))", name, name)
|
||||
OutLbrace()
|
||||
Output('PyErr_SetString(PyExc_TypeError, "callback must be callable");')
|
||||
Output("goto %s__error__;", name)
|
||||
OutRbrace()
|
||||
def passInput(self, name):
|
||||
return "(SndCallBackProcPtr)&SndCh_UserRoutine"
|
||||
return "NewSndCallBackProc(SndCh_UserRoutine)"
|
||||
def cleanup(self, name):
|
||||
# XXX This knows it is executing inside the SndNewChannel wrapper
|
||||
Output("if (_res != NULL && %s != Py_None)", name)
|
||||
|
|
|
@ -36,12 +36,10 @@ extern PyObject *WinObj_WhichWindow(WindowPtr);
|
|||
|
||||
#define resNotFound -192 /* Can't include <Errors.h> because of Python's "errors.h" */
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#ifdef HAVE_UNIVERSAL_HEADERS
|
||||
#define WindowPeek WindowPtr
|
||||
#endif
|
||||
|
||||
extern PyObject *WinObj_WhichWindow(WindowPtr w); /* Forward */
|
||||
|
||||
static PyObject *Win_Error;
|
||||
|
||||
/* ----------------------- Object type Window ----------------------- */
|
||||
|
@ -56,7 +54,7 @@ typedef struct WindowObject {
|
|||
} WindowObject;
|
||||
|
||||
PyObject *WinObj_New(itself)
|
||||
const WindowPtr itself;
|
||||
WindowPtr itself;
|
||||
{
|
||||
WindowObject *it;
|
||||
if (itself == NULL) return PyMac_Error(resNotFound);
|
||||
|
@ -844,7 +842,10 @@ WinObj_WhichWindow(w)
|
|||
|
||||
/* XXX What if we find a stdwin window or a window belonging
|
||||
to some other package? */
|
||||
it = (PyObject *) GetWRefCon(w);
|
||||
if (w == NULL)
|
||||
it = NULL;
|
||||
else
|
||||
it = (PyObject *) GetWRefCon(w);
|
||||
if (it == NULL || ((WindowObject *)it)->ob_itself != w)
|
||||
it = Py_None;
|
||||
Py_INCREF(it);
|
||||
|
|
|
@ -32,7 +32,7 @@ includestuff = includestuff + """
|
|||
|
||||
#define resNotFound -192 /* Can't include <Errors.h> because of Python's "errors.h" */
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#ifdef HAVE_UNIVERSAL_HEADERS
|
||||
#define WindowPeek WindowPtr
|
||||
#endif
|
||||
"""
|
||||
|
|
|
@ -76,7 +76,7 @@ class ObjectDefinition(GeneratorGroup):
|
|||
Output()
|
||||
Output("%sPyObject *%s_New(itself)", self.static, self.prefix)
|
||||
IndentLevel()
|
||||
Output("const %s %sitself;", self.itselftype, self.argref)
|
||||
Output("%s %sitself;", self.itselftype, self.argref)
|
||||
DedentLevel()
|
||||
OutLbrace()
|
||||
Output("%s *it;", self.objecttype)
|
||||
|
@ -154,8 +154,9 @@ class ObjectDefinition(GeneratorGroup):
|
|||
Output("#define %s_setattr NULL", self.prefix)
|
||||
|
||||
def outputTypeObject(self):
|
||||
sf = self.static and "staticforward "
|
||||
Output()
|
||||
Output("%sPyTypeObject %s = {", self.static, self.typename)
|
||||
Output("%sPyTypeObject %s = {", sf, self.typename)
|
||||
IndentLevel()
|
||||
Output("PyObject_HEAD_INIT(&PyType_Type)")
|
||||
Output("0, /*ob_size*/")
|
||||
|
|
Loading…
Reference in New Issue