Staging
v0.5.1
swh:1:snp:635f4099902912592851108bcac178ff574f7c5f
Raw File
Tip revision: 5878b662de976e55dbb502752608cade58372b7a authored by cvs2svn on 09 May 1997, 03:21:44 UTC
This commit was manufactured by cvs2svn to create tag 'r15a1'.
Tip revision: 5878b66
resedit.py
resource_body = """
char *buf;
int len;
Handle h;

if (!PyArg_ParseTuple(_args, "s#", &buf, &len))
	return NULL;
h = NewHandle(len);
if ( h == NULL ) {
	PyErr_NoMemory();
	return NULL;
}
HLock(h);
memcpy(*h, buf, len);
HUnlock(h);
return (PyObject *)ResObj_New(h);
"""

f = ManualGenerator("Resource", resource_body)
f.docstring = lambda: """Convert a string to a resource object.

The created resource object is actually just a handle.
Apply AddResource() to write it to a resource file.
"""
functions.append(f)

# Convert resources to other things.

as_xxx_body = """
return %sObj_New((%sHandle)_self->ob_itself);
"""

def genresconverter(longname, shortname):

	f = ManualGenerator("as_%s"%longname, as_xxx_body%(shortname, longname))
	docstring =  "Return this resource/handle as a %s"%longname
	f.docstring = lambda docstring=docstring: docstring
	return f

resmethods.append(genresconverter("Control", "Ctl"))
resmethods.append(genresconverter("Menu", "Menu"))
back to top