From 04cabce398e7d4db78a6a01bed8b9ade2b61420c Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Tue, 21 Feb 2017 12:46:11 -0800 Subject: [PATCH] Add autoconvert code from wxArrayString to wxPGChoices --- etg/propgridproperty.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/etg/propgridproperty.py b/etg/propgridproperty.py index 93340500..dfa19fc1 100644 --- a/etg/propgridproperty.py +++ b/etg/propgridproperty.py @@ -86,6 +86,25 @@ def run(): body="return self.GetCount()", ) + # Enable auto conversion from wxArrayString + c.convertFromPyObject = """\ + // Code to test a PyObject for compatibility + if (!sipIsErr) { + if (sipCanConvertToType(sipPy, sipType_wxArrayString, 0)) + return TRUE; + return FALSE; + } + + // Code to convert a compatible PyObject + int state = 0; + wxArrayString* arr = reinterpret_cast( + sipConvertToType(sipPy, sipType_wxArrayString, sipTransferObj, 0, &state, sipIsErr)); + *sipCppPtr = new wxPGChoices(arr); + sipReleaseType(arr, sipType_wxArrayString, state); + return sipGetState(sipTransferObj); + """ + + # Ignore some string constants (#defines) coming from dox, and add them # back in Python code. They are wchar_t* values and this seemed the # simplest way to deal with them.