diff --git a/etg/filesys.py b/etg/filesys.py index 335339e2..eb7f8c3a 100644 --- a/etg/filesys.py +++ b/etg/filesys.py @@ -43,16 +43,6 @@ def run(): c.find('AddHandler.handler').transfer = True c.find('RemoveHandler').transferBack = True - m = c.find('URLToFileName') - m.type = 'wxString' - m.setCppCode("""\ - wxFileName fname = wxFileSystem::URLToFileName(*url); - return new wxString(fname.GetFullPath()); - """) - - fileNameTypedef = etgtools.TypedefDef(type='wxString', name='wxFileName', noTypeName=True) - module.insertItemBefore(c, fileNameTypedef) - c = module.find('wxArchiveFSHandler') c.addPrivateCopyCtor(); module.addPyCode('ZipFSHandler = wx.deprecated(ArchiveFSHandler, "Use ArchiveFSHandler instead.")') diff --git a/src/filename.sip b/src/filename.sip new file mode 100644 index 00000000..c3a4d330 --- /dev/null +++ b/src/filename.sip @@ -0,0 +1,39 @@ +//-------------------------------------------------------------------------- +// Name: filename.sip +// Purpose: Implements a %MappedType for wxFileName +// +// Author: Robin Dunn +// +// Created: 30-July-2012 +// Copyright: (c) 2012 by Total Control Software +// Licence: wxWindows license +//-------------------------------------------------------------------------- + + +// wxFileNames are mapped to/from Unicode string objects + +%MappedType wxFileName +{ + %ConvertToTypeCode + // Code to test a PyObject for compatibility with wxFileName + if (!sipIsErr) { + if (PyBytes_Check(sipPy) || PyUnicode_Check(sipPy)) + return TRUE; + return FALSE; + } + + // Code to convert a compatible PyObject to a wxFileName + *sipCppPtr = new wxFileName(Py2wxString(sipPy)); + return sipGetState(sipTransferObj); + %End + + + %ConvertFromTypeCode + // Convert a wxString to a Python Unicode object. See wxpy_api.sip + return wx2PyString(sipCpp->GetFullPath()); + %End +}; + + + +