bool CLASS::CBNAME() const { \
bool rval=false; \
bool found; \
- wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
+ wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("()")); \
wxPyEndBlockThreads(blocked); \
wxDragResult CLASS::CBNAME(wxCoord a, wxCoord b, wxDragResult c) { \
int rval=0; \
bool found; \
- wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
+ wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iii)", a,b,c));\
wxPyEndBlockThreads(blocked); \
#define IMP_PYCALLBACK_FSF_FSSTRING_pure(CLASS, PCLASS, CBNAME) \
wxFSFile* CLASS::CBNAME(wxFileSystem& a,const wxString& b) { \
- wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
+ wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
wxFSFile* rval=0; \
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) { \
PyObject* ro; \
obj, s)); \
if (ro) { \
wxPyConvertSwigPtr(ro, (void **)&rval, wxT("wxFSFile")); \
+ /* release ownership of the C++ wx.FSFile object. */ \
+ PyObject_SetAttrString(ro, "thisown", Py_False); \
Py_DECREF(ro); \
} \
Py_DECREF(obj); \
bool CLASS::CBNAME(wxDragResult a) { \
bool rval=false; \
bool found; \
- wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
+ wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(i)", a)); \
wxPyEndBlockThreads(blocked); \
#define IMP_PYCALLBACK_DR_2WXCDR_pure(CLASS, PCLASS, CBNAME) \
wxDragResult CLASS::CBNAME(wxCoord a, wxCoord b, wxDragResult c) { \
- wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
+ wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
int rval=0; \
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) \
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iii)", a,b,c));\
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();
{
public:
%pythonAppend wxPyFileSystemHandler "self._setCallbackInfo(self, FileSystemHandler)";
-
+
wxPyFileSystemHandler();
void _setCallbackInfo(PyObject* self, PyObject* _class);
%disownarg(wxFileSystemHandler *handler);
static void AddHandler(wxFileSystemHandler *handler);
%cleardisown(wxFileSystemHandler *handler);
-
+
static void CleanUpHandlers();
// Returns the file URL for a native path
wxFileName fname = wxFileSystem::URLToFileName(url);
return fname.GetFullPath();
}
- }
+ }
};
// 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);