X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b1462dfa3496ba7288691376c1de4c890d90787c..9c00cfa3e5dfee56c4efab6641184ff32b09fac2:/utils/wxPython/src/windows.i diff --git a/utils/wxPython/src/windows.i b/utils/wxPython/src/windows.i index 34a42121c0..f9daf1d009 100644 --- a/utils/wxPython/src/windows.i +++ b/utils/wxPython/src/windows.i @@ -55,6 +55,14 @@ public: new wxPyCallback(func)); } } + + bool Disconnect(int id, int lastId = -1, + wxEventType eventType = wxEVT_NULL) { + return self->Disconnect(id, lastId, eventType, + (wxObjectEventFunction) + &wxPyCallback::EventThunker); + } + } }; @@ -94,25 +102,24 @@ public: } wxObject* wxPyValidator::Clone() const { - wxPyValidator* ptr = NULL; - wxPyValidator* self = (wxPyValidator*)this; - - bool doSave = wxPyRestoreThread(); - if (self->m_myInst.findCallback("Clone")) { - PyObject* ro; - ro = self->m_myInst.callCallbackObj(Py_BuildValue("()")); - SWIG_GetPtrObj(ro, (void **)&ptr, "_wxPyValidator_p"); + wxPyValidator* ptr = NULL; + wxPyValidator* self = (wxPyValidator*)this; + + bool doSave = wxPyRestoreThread(); + if (self->m_myInst.findCallback("Clone")) { + PyObject* ro; + ro = self->m_myInst.callCallbackObj(Py_BuildValue("()")); + SWIG_GetPtrObj(ro, (void **)&ptr, "_wxPyValidator_p"); + } + // This is very dangerous!!! But is the only way I could find + // to squash a memory leak. Currently it is okay, but if the + // validator architecture in wxWindows ever changes, problems + // could arise. + delete self; + + wxPySaveThread(doSave); + return ptr; } - // This is very dangerous!!! But is the only way I could find - // to squash a memory leak. Currently it is okay, but if the - // validator architecture in wxWindows ever changes, problems - // could arise. - delete self; - - wxPySaveThread(doSave); - return ptr; -} - DEC_PYCALLBACK_BOOL_WXWIN(Validate); DEC_PYCALLBACK_BOOL_(TransferToWindow); @@ -135,9 +142,7 @@ public: wxPyValidator(); // ~wxPyValidator(); - %addmethods { - void Destroy() { delete self; } - } + %addmethods { void Destroy() { delete self; } } void _setSelf(PyObject* self, int incref=TRUE); %pragma(python) addtomethod = "__init__:self._setSelf(self, 0)" @@ -266,7 +271,7 @@ public: void SetForegroundColour(const wxColour& colour); void SetId(int id); void SetName(const wxString& name); - void SetScrollbar(int orientation, int position, int thumbSize, int range, bool refresh = TRUE); + void SetScrollbar(int orientation, int position, int thumbSize, int range, int refresh = TRUE); void SetScrollPos(int orientation, int pos, bool refresh = TRUE); %name(SetDimensions) void SetSize(int x, int y, int width, int height, int sizeFlags=wxSIZE_AUTO); @@ -313,6 +318,8 @@ public: void SetDropTarget(wxDropTarget* target); wxDropTarget* GetDropTarget(); %pragma(python) addtomethod = "SetDropTarget:_args[0].thisown = 0" + + wxSize GetBestSize(); }; //%clear int* x, int* y; @@ -432,6 +439,7 @@ public: void SetScrollbars(int pixelsPerUnitX, int pixelsPerUnitY, int noUnitsX, int noUnitsY, int xPos = 0, int yPos = 0); + void SetTargetWindow(wxWindow* window); void ViewStart(int* OUTPUT, int* OUTPUT); void CalcScrolledPosition( int x, int y, int *OUTPUT, int *OUTPUT); @@ -480,9 +488,7 @@ public: %name(RemoveItem) wxMenuItem *Remove(wxMenuItem *item); %addmethods { - void Destroy() { - delete self; - } + void Destroy() { delete self; } } %name(DestroyId)bool Destroy(int id); %name(DestroyItem)bool Destroy(wxMenuItem *item); @@ -574,25 +580,9 @@ public: wxAcceleratorEntry *GetAccel(); void SetAccel(wxAcceleratorEntry *accel); -// #ifdef __WXMSW__ -// wxColour& GetBackgroundColour(); -// wxBitmap GetBitmap(bool checked = TRUE); -// wxFont& GetFont(); -// int GetMarginWidth(); -// wxColour& GetTextColour(); -// void SetBackgroundColour(const wxColour& colour); -// void SetBitmaps(const wxBitmap& checked, const wxBitmap& unchecked = wxNullBitmap); -// void SetFont(const wxFont& font); -// void SetMarginWidth(int width); -// void SetText(const wxString& str); -// const wxString& GetText(); -// void SetTextColour(const wxColour& colour); -// void DeleteSubMenu(); -// void SetCheckable(bool checkable); -// void SetSubMenu(wxMenu *menu); -// #endif }; //--------------------------------------------------------------------------- +