X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ecc08ead918856a70559204f9b5daacc49385eaa..922ba68045d84789ab1dfceb4d1aa1b6e2c5e810:/wxPython/src/windows.i diff --git a/wxPython/src/windows.i b/wxPython/src/windows.i index 4905945433..bd9e38110e 100644 --- a/wxPython/src/windows.i +++ b/wxPython/src/windows.i @@ -63,6 +63,14 @@ public: (wxObjectEventFunction) &wxPyCallback::EventThunker, new wxPyCallback(func)); } + else if (func == Py_None) { + self->Disconnect(id, lastId, eventType, + (wxObjectEventFunction) + &wxPyCallback::EventThunker); + } + else { + PyErr_SetString(PyExc_TypeError, "Expected callable object or None."); + } } bool Disconnect(int id, int lastId = -1, @@ -73,6 +81,11 @@ public: } } + %addmethods { + void _setOORInfo(PyObject* _self) { + self->SetClientObject(new wxPyClientData(_self)); + } + } }; @@ -83,6 +96,8 @@ public: wxValidator(); //~wxValidator(); + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + wxValidator* Clone(); wxWindow* GetWindow(); void SetWindow(wxWindow* window); @@ -147,9 +162,10 @@ class wxPyValidator : public wxValidator { public: wxPyValidator(); - void _setSelf(PyObject* self, PyObject* _class, int incref=TRUE); - %pragma(python) addtomethod = "__init__:self._setSelf(self, wxPyValidator, 1)" + void _setCallbackInfo(PyObject* self, PyObject* _class, int incref=TRUE); + %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyValidator, 1)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" }; //---------------------------------------------------------------------- @@ -171,6 +187,10 @@ public: long style = 0, char* name = "panel"); + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreWindow:val._setOORInfo(val)" + + void CaptureMouse(); void Center(int direction = wxBOTH); void Centre(int direction = wxBOTH); @@ -214,7 +234,7 @@ public: wxLayoutConstraints * GetConstraints(); wxEvtHandler* GetEventHandler(); - wxFont& GetFont(); + wxFont GetFont(); wxColour GetForegroundColour(); wxWindow * GetGrandParent(); %addmethods { @@ -279,7 +299,6 @@ public: wxPoint ScreenToClient(const wxPoint& pt); void ScrollWindow(int dx, int dy, const wxRect* rect = NULL); - void SetAcceleratorTable(const wxAcceleratorTable& accel); void SetAutoLayout(bool autoLayout); bool GetAutoLayout(); void SetBackgroundColour(const wxColour& colour); @@ -313,11 +332,11 @@ public: %name(SetClientSizeWH)void SetClientSize(int width, int height); void SetClientSize(const wxSize& size); //void SetPalette(wxPalette* palette); - void SetCursor(const wxCursor&cursor); + void SetCursor(const wxCursor& cursor); void SetEventHandler(wxEvtHandler* handler); void SetExtraStyle(long exStyle); void SetTitle(const wxString& title); - bool Show(bool show); + bool Show(bool show=TRUE); bool TransferDataFromWindow(); bool TransferDataToWindow(); bool Validate(); @@ -342,9 +361,11 @@ public: wxValidator* GetValidator(); void SetValidator(const wxValidator& validator); +#ifndef __WXMAC__ void SetDropTarget(wxDropTarget* target); wxDropTarget* GetDropTarget(); %pragma(python) addtomethod = "SetDropTarget:_args[0].thisown = 0" +#endif wxSize GetBestSize(); @@ -379,6 +400,11 @@ public: void SetAcceleratorTable(const wxAcceleratorTable& accel); wxAcceleratorTable *GetAcceleratorTable(); + +#ifdef __WXMSW__ + // A way to do the native draw first... Too bad it isn't in wxGTK too. + void OnPaint(wxPaintEvent& event); +#endif }; @@ -430,6 +456,9 @@ public: long style = wxTAB_TRAVERSAL, const char* name = "panel"); + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPrePanel:val._setOORInfo(val)" + void InitDialog(); wxButton* GetDefaultItem(); void SetDefaultItem(wxButton *btn); @@ -460,6 +489,9 @@ public: long style = wxHSCROLL | wxVSCROLL, char* name = "scrolledWindow"); + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreScrolledWindow:val._setOORInfo(val)" + void EnableScrolling(bool xScrolling, bool yScrolling); int GetScrollPageSize(int orient); void GetScrollPixelsPerUnit(int* OUTPUT, int* OUTPUT); @@ -493,6 +525,8 @@ class wxMenu : public wxEvtHandler { public: wxMenu(const wxString& title = wxPyEmptyStr, long style = 0); + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + void Append(int id, const wxString& item, const wxString& helpString = wxPyEmptyStr, int checkable = FALSE); @@ -562,6 +596,8 @@ class wxMenuBar : public wxWindow { public: wxMenuBar(long style = 0); + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + bool Append(wxMenu *menu, const wxString& title); bool Insert(size_t pos, wxMenu *menu, const wxString& title); size_t GetMenuCount(); @@ -625,7 +661,7 @@ public: // wxOwnerDrawn methods #ifdef __WXMSW__ void SetFont(const wxFont& font); - wxFont& GetFont(); + wxFont GetFont(); void SetTextColour(const wxColour& colText); wxColour GetTextColour(); void SetBackgroundColour(const wxColour& colBack); @@ -633,7 +669,7 @@ public: void SetBitmaps(const wxBitmap& bmpChecked, const wxBitmap& bmpUnchecked = wxNullBitmap); void SetBitmap(const wxBitmap& bmpChecked); - const wxBitmap& GetBitmap(bool bChecked = TRUE); + wxBitmap GetBitmap(bool bChecked = TRUE); void SetMarginWidth(int nWidth); int GetMarginWidth(); static int GetDefaultMarginWidth();