mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
Added {Get,Set}PopupData calls to get at the data for popup menu controls.
This commit is contained in:
parent
cef4c844df
commit
4c704131ca
2 changed files with 85 additions and 0 deletions
|
@ -204,6 +204,43 @@ f = ManualGenerator("TrackControl", trackcontrol_body);
|
|||
#f.docstring = "(Point startPoint [,trackercallback]) -> (ControlPartCode _rv)"
|
||||
object.add(f)
|
||||
|
||||
# And manual generators to get/set popup menu information
|
||||
getpopupdata_body = """
|
||||
PopupPrivateDataHandle hdl;
|
||||
|
||||
if ( (*_self->ob_itself)->contrlData == NULL ) {
|
||||
PyErr_SetString(Ctl_Error, "No contrlData handle in control");
|
||||
return 0;
|
||||
}
|
||||
hdl = (PopupPrivateDataHandle)(*_self->ob_itself)->contrlData;
|
||||
HLock((Handle)hdl);
|
||||
_res = Py_BuildValue("O&i", MenuObj_New, (*hdl)->mHandle, (int)(*hdl)->mID);
|
||||
HUnlock((Handle)hdl);
|
||||
return _res;
|
||||
"""
|
||||
f = ManualGenerator("GetPopupData", getpopupdata_body)
|
||||
object.add(f)
|
||||
|
||||
setpopupdata_body = """
|
||||
PopupPrivateDataHandle hdl;
|
||||
MenuHandle mHandle;
|
||||
short mID;
|
||||
|
||||
if (!PyArg_ParseTuple(_args, "O&h", MenuObj_Convert, &mHandle, &mID) )
|
||||
return 0;
|
||||
if ( (*_self->ob_itself)->contrlData == NULL ) {
|
||||
PyErr_SetString(Ctl_Error, "No contrlData handle in control");
|
||||
return 0;
|
||||
}
|
||||
hdl = (PopupPrivateDataHandle)(*_self->ob_itself)->contrlData;
|
||||
(*hdl)->mHandle = mHandle;
|
||||
(*hdl)->mID = mID;
|
||||
Py_INCREF(Py_None);
|
||||
return Py_None;
|
||||
"""
|
||||
f = ManualGenerator("SetPopupData", setpopupdata_body)
|
||||
object.add(f)
|
||||
|
||||
|
||||
# generate output (open the output file as late as possible)
|
||||
SetOutputFileName(OUTPUTFILE)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue