X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/07dd19d4e5d6d94bea21b0c7aed00ac71dff12f3..41e155b43e45b056738bfd7e25c8c7fe261243f3:/wxPython/src/_pywindows.i diff --git a/wxPython/src/_pywindows.i b/wxPython/src/_pywindows.i index bff343eada..00d753c045 100644 --- a/wxPython/src/_pywindows.i +++ b/wxPython/src/_pywindows.i @@ -49,7 +49,6 @@ //--------------------------------------------------------------------------- - %{ // C++ version of Python aware wxWindow class wxPyWindow : public wxWindow { @@ -65,6 +64,16 @@ public: void SetBestSize(const wxSize& size) { wxWindow::SetBestSize(size); } + bool DoEraseBackground(wxDC* dc) { +#ifdef __WXMSW__ + return wxWindow::DoEraseBackground(dc->GetHDC()); +#else + dc->SetBackground(wxBrush(GetBackgroundColour())); + dc->Clear(); + return true; +#endif + } + DEC_PYCALLBACK_VOID_INT4(DoMoveWindow); DEC_PYCALLBACK_VOID_INT5(DoSetSize); DEC_PYCALLBACK_VOID_INTINT(DoSetClientSize); @@ -94,6 +103,8 @@ public: DEC_PYCALLBACK_BOOL_(HasTransparentBackground); + DEC_PYCALLBACK_VOID_(OnInternalIdle); + PYPRIVATE; }; @@ -127,6 +138,8 @@ IMP_PYCALLBACK_BOOL_const(wxPyWindow, wxWindow, ShouldInheritColours); IMP_PYCALLBACK_VIZATTR_(wxPyWindow, wxWindow, GetDefaultAttributes); IMP_PYCALLBACK_BOOL_(wxPyWindow, wxWindow, HasTransparentBackground); + +IMP_PYCALLBACK_VOID_(wxPyWindow, wxWindow, OnInternalIdle); %} // And now the one for SWIG to see @@ -147,9 +160,9 @@ public: void _setCallbackInfo(PyObject* self, PyObject* _class); - void SetBestSize(const wxSize& size); - + bool DoEraseBackground(wxDC* dc); + void base_DoMoveWindow(int x, int y, int width, int height); void base_DoSetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO); @@ -183,6 +196,9 @@ public: bool base_ShouldInheritColours() const; wxVisualAttributes base_GetDefaultAttributes(); + + void base_OnInternalIdle(); + }; //--------------------------------------------------------------------------- @@ -208,6 +224,15 @@ public: : wxPanel(parent, id, pos, size, style, name) {} void SetBestSize(const wxSize& size) { wxPanel::SetBestSize(size); } + bool DoEraseBackground(wxDC* dc) { +#ifdef __WXMSW__ + return wxWindow::DoEraseBackground(dc->GetHDC()); +#else + dc->SetBackground(wxBrush(GetBackgroundColour())); + dc->Clear(); + return true; +#endif + } DEC_PYCALLBACK_VOID_INT4(DoMoveWindow); @@ -239,6 +264,8 @@ public: DEC_PYCALLBACK_BOOL_(HasTransparentBackground); + DEC_PYCALLBACK_VOID_(OnInternalIdle); + PYPRIVATE; }; @@ -272,6 +299,8 @@ IMP_PYCALLBACK_BOOL_const(wxPyPanel, wxPanel, ShouldInheritColours); IMP_PYCALLBACK_VIZATTR_(wxPyPanel, wxPanel, GetDefaultAttributes); IMP_PYCALLBACK_BOOL_(wxPyPanel, wxPanel, HasTransparentBackground); + +IMP_PYCALLBACK_VOID_(wxPyPanel, wxPanel, OnInternalIdle); %} // And now the one for SWIG to see @@ -293,7 +322,8 @@ public: void _setCallbackInfo(PyObject* self, PyObject* _class); void SetBestSize(const wxSize& size); - + bool DoEraseBackground(wxDC* dc); + void base_DoMoveWindow(int x, int y, int width, int height); void base_DoSetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO); @@ -327,6 +357,9 @@ public: bool base_ShouldInheritColours() const ; wxVisualAttributes base_GetDefaultAttributes(); + + void base_OnInternalIdle(); + }; //--------------------------------------------------------------------------- @@ -346,6 +379,15 @@ public: : wxScrolledWindow(parent, id, pos, size, style, name) {} void SetBestSize(const wxSize& size) { wxScrolledWindow::SetBestSize(size); } + bool DoEraseBackground(wxDC* dc) { +#ifdef __WXMSW__ + return wxWindow::DoEraseBackground(dc->GetHDC()); +#else + dc->SetBackground(wxBrush(GetBackgroundColour())); + dc->Clear(); + return true; +#endif + } DEC_PYCALLBACK_VOID_INT4(DoMoveWindow); DEC_PYCALLBACK_VOID_INT5(DoSetSize); @@ -376,6 +418,8 @@ public: DEC_PYCALLBACK_BOOL_(HasTransparentBackground); + DEC_PYCALLBACK_VOID_(OnInternalIdle); + PYPRIVATE; }; @@ -409,6 +453,8 @@ IMP_PYCALLBACK_BOOL_const(wxPyScrolledWindow, wxScrolledWindow, ShouldInheritCol IMP_PYCALLBACK_VIZATTR_(wxPyScrolledWindow, wxScrolledWindow, GetDefaultAttributes); IMP_PYCALLBACK_BOOL_(wxPyScrolledWindow, wxScrolledWindow, HasTransparentBackground); + +IMP_PYCALLBACK_VOID_(wxPyScrolledWindow, wxScrolledWindow, OnInternalIdle); %} // And now the one for SWIG to see @@ -416,7 +462,7 @@ MustHaveApp(wxPyScrolledWindow); class wxPyScrolledWindow : public wxScrolledWindow { public: - %pythonAppend wxPyScrolledWindow "self._setOORInfo(self); self._setCallbackInfo(self, PyPanel)" + %pythonAppend wxPyScrolledWindow "self._setOORInfo(self); self._setCallbackInfo(self, PyScrolledWindow)" %pythonAppend wxPyScrolledWindow() "" wxPyScrolledWindow(wxWindow* parent, const wxWindowID id=-1, @@ -430,7 +476,8 @@ public: void _setCallbackInfo(PyObject* self, PyObject* _class); void SetBestSize(const wxSize& size); - + bool DoEraseBackground(wxDC* dc); + void base_DoMoveWindow(int x, int y, int width, int height); void base_DoSetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO); @@ -464,6 +511,9 @@ public: bool base_ShouldInheritColours() const; wxVisualAttributes base_GetDefaultAttributes(); + + void base_OnInternalIdle(); + };