X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6e6b35578d9be94739e1f9ebadcb57d9a483db6a..90fb367e86c1e82367f8d4781b8c1bdc31a26593:/wxPython/src/_filesys.i diff --git a/wxPython/src/_filesys.i b/wxPython/src/_filesys.i index d02c4d8748..a423b23fe5 100644 --- a/wxPython/src/_filesys.i +++ b/wxPython/src/_filesys.i @@ -26,14 +26,16 @@ class wxFSFile : public wxObject { public: - %pythonAppend wxFSFile - "self.thisown = 0 # It will normally be deleted by the user of the wx.FileSystem"; + %typemap(out) wxFSFile*; // turn off this typemap wxFSFile(wxInputStream *stream, const wxString& loc, const wxString& mimetype, const wxString& anchor, wxDateTime modif); - - ~wxFSFile(); + + // Turn it back on. + %typemap(out) wxFSFile* { $result = wxPyMake_wxObject($1, $owner); } + + ~wxFSFile(); wxInputStream *GetStream(); const wxString& GetMimeType(); @@ -93,6 +95,7 @@ class wxFileSystemHandler //: public wxObject { public: //wxFileSystemHandler(); + ~wxFileSystemHandler(); }; @@ -102,7 +105,7 @@ class wxPyFileSystemHandler : public wxFileSystemHandler { public: %pythonAppend wxPyFileSystemHandler "self._setCallbackInfo(self, FileSystemHandler)"; - + wxPyFileSystemHandler(); void _setCallbackInfo(PyObject* self, PyObject* _class); @@ -138,7 +141,10 @@ public: wxString FindFirst(const wxString& spec, int flags = 0); wxString FindNext(); + %disownarg(wxFileSystemHandler *handler); static void AddHandler(wxFileSystemHandler *handler); + %cleardisown(wxFileSystemHandler *handler); + static void CleanUpHandlers(); // Returns the file URL for a native path @@ -151,7 +157,7 @@ public: wxFileName fname = wxFileSystem::URLToFileName(url); return fname.GetFullPath(); } - } + } }; @@ -246,7 +252,7 @@ public: // Add a file to the memory FS %pythoncode { AddFile = staticmethod(MemoryFSHandler_AddFile) } - + bool CanOpen(const wxString& location); %newobject OpenFile; wxFSFile* OpenFile(wxFileSystem& fs, const wxString& location);