From b0e5c039344bdd0e96c423ea59191986526b0efd Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Thu, 6 Jun 2002 17:37:38 +0000 Subject: [PATCH] Added wxPyWindow and wxPyControl which are just like their wx counterparts except they allow some of the more common C++ virtual methods to be overridden in Python derived classes. Changed wxGenButton to derive from wxPyControl. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15760 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- wxPython/CHANGES.txt | 28 + wxPython/demo/GenericButtons.py | 58 +- wxPython/src/controls.i | 12 +- wxPython/src/helpers.h | 162 +++- wxPython/src/msw/windows2.cpp | 1496 ++++++++++++++++++++++++++++++ wxPython/src/msw/windows2.py | 140 +++ wxPython/src/windows2.i | 279 ++++-- wxPython/wxPython/lib/buttons.py | 47 +- 8 files changed, 2124 insertions(+), 98 deletions(-) diff --git a/wxPython/CHANGES.txt b/wxPython/CHANGES.txt index 73754c22cf..5dc34dafae 100644 --- a/wxPython/CHANGES.txt +++ b/wxPython/CHANGES.txt @@ -94,6 +94,34 @@ the image data. (Patch #546009) Added a sample that shows how to embed wxPython in a wxWindows C++ application. +Added wxPyWindow and wxPyControl which are just like their wx +counterparts except they allow some of the more common C++ virtual +methods to be overridden in Python derived classes. The methods +supported are: + + DoMoveWindow + DoSetSize + DoSetClientSize + DoSetVirtualSize + DoGetSize + DoGetClientSize + DoGetPosition + DoGetVirtualSize + DoGetBestSize + InitDialog + TransferDataFromWindow + TransferDataToWindow + Validate + AcceptsFocus + AcceptsFocusFromKeyboard + GetMaxSize + + If there are other methods that should be supported please let me + know. + +Changed wxGenButton to derive from wxPyControl and overload +DoGetBestSize and AcceptsFocus. + 2.3.2.1 diff --git a/wxPython/demo/GenericButtons.py b/wxPython/demo/GenericButtons.py index c11d7a5b8c..ad30e9752c 100644 --- a/wxPython/demo/GenericButtons.py +++ b/wxPython/demo/GenericButtons.py @@ -11,35 +11,42 @@ class TestPanel(wxPanel): wxPanel.__init__(self, parent, -1) self.log = log - b = wxButton(self, -1, "A real button", (10,10)) + sizer = wxFlexGridSizer(1, 3, 20, 20) + b = wxButton(self, -1, "A real button") b.SetDefault() EVT_BUTTON(self, b.GetId(), self.OnButton) - b = wxButton(self, -1, "non-default", (140, 10)) + sizer.Add(b) + + b = wxButton(self, -1, "non-default") EVT_BUTTON(self, b.GetId(), self.OnButton) - #wxTextCtrl(self, -1, "", (10,40)) + sizer.Add(b) + sizer.Add(10,10) - b = wxGenButton(self, -1, 'Hello', (10,65)) + b = wxGenButton(self, -1, 'Hello') EVT_BUTTON(self, b.GetId(), self.OnButton) - b = wxGenButton(self, -1, 'disabled', (140,65)) + sizer.Add(b) + + b = wxGenButton(self, -1, 'disabled') EVT_BUTTON(self, b.GetId(), self.OnButton) b.Enable(false) + sizer.Add(b) - b = wxGenButton(self, -1, 'bigger', (250,50)) - EVT_BUTTON(self, b.GetId(), self.OnButton) + b = wxGenButton(self, -1, 'bigger') + EVT_BUTTON(self, b.GetId(), self.OnBiggerButton) b.SetFont(wxFont(20, wxSWISS, wxNORMAL, wxBOLD, false)) b.SetBezelWidth(5) - b.SetBestSize() - b.SetBackgroundColour(wxNamedColour("Navy")) + ###b.SetBestSize() + b.SetBackgroundColour("Navy") b.SetForegroundColour(wxWHITE) - #b.SetUseFocusIndicator(false) b.SetToolTipString("This is a BIG button...") + sizer.Add(b, flag=wxADJUST_MINSIZE) # let the sizer set best size bmp = images.getTest2Bitmap() - b = wxGenBitmapButton(self, -1, bmp, (10, 130)) + b = wxGenBitmapButton(self, -1, bmp) EVT_BUTTON(self, b.GetId(), self.OnButton) + sizer.Add(b) - - b = wxGenBitmapButton(self, -1, None, (140, 130)) + b = wxGenBitmapButton(self, -1, None) EVT_BUTTON(self, b.GetId(), self.OnButton) bmp = images.getBulb1Bitmap() mask = wxMaskColour(bmp, wxBLUE) @@ -50,12 +57,14 @@ class TestPanel(wxPanel): bmp.SetMask(mask) b.SetBitmapSelected(bmp) b.SetBestSize() + sizer.Add(b) + sizer.Add(10,10) - b = wxGenToggleButton(self, -1, "Toggle Button", (10, 230)) + b = wxGenToggleButton(self, -1, "Toggle Button") EVT_BUTTON(self, b.GetId(), self.OnToggleButton) + sizer.Add(b) - - b = wxGenBitmapToggleButton(self, -1, None, (140, 230)) + b = wxGenBitmapToggleButton(self, -1, None) EVT_BUTTON(self, b.GetId(), self.OnToggleButton) bmp = images.getBulb1Bitmap() mask = wxMaskColour(bmp, wxBLUE) @@ -67,8 +76,9 @@ class TestPanel(wxPanel): b.SetBitmapSelected(bmp) b.SetToggle(true) b.SetBestSize() + sizer.Add(b) - b = wxGenBitmapTextButton(self, -1, None, "Bitmapped Text", (220, 230), size = (200, 45)) + b = wxGenBitmapTextButton(self, -1, None, "Bitmapped Text", size = (200, 45)) EVT_BUTTON(self, b.GetId(), self.OnButton) bmp = images.getBulb1Bitmap() mask = wxMaskColour(bmp, wxBLUE) @@ -80,11 +90,25 @@ class TestPanel(wxPanel): b.SetBitmapSelected(bmp) b.SetUseFocusIndicator(false) b.SetBestSize() + sizer.Add(b) + + border = wxBoxSizer(wxVERTICAL) + border.Add(sizer, 0, wxALL, 25) + self.SetSizer(border) def OnButton(self, event): self.log.WriteText("Button Clicked: %d\n" % event.GetId()) + + def OnBiggerButton(self, event): + self.log.WriteText("Bigger Button Clicked: %d\n" % event.GetId()) + b = event.GetEventObject() + txt = "big " + b.GetLabel() + b.SetLabel(txt) + self.GetSizer().Layout() + + def OnToggleButton(self, event): msg = (event.GetIsDown() and "on") or "off" self.log.WriteText("Button %d Toggled: %s\n" % (event.GetId(), msg)) diff --git a/wxPython/src/controls.i b/wxPython/src/controls.i index 64e69048f4..efc72fcafa 100644 --- a/wxPython/src/controls.i +++ b/wxPython/src/controls.i @@ -92,12 +92,12 @@ public: // wxControl(wxWindow *parent, - wxWindowID id, - const wxPoint& pos=wxDefaultPosition, - const wxSize& size=wxDefaultSize, - long style=0, - const wxValidator& validator=wxDefaultValidator, - const wxString& name=wxPyControlNameStr); + wxWindowID id, + const wxPoint& pos=wxDefaultPosition, + const wxSize& size=wxDefaultSize, + long style=0, + const wxValidator& validator=wxDefaultValidator, + const wxString& name=wxPyControlNameStr); // %name(wxPreControl)wxControl(); diff --git a/wxPython/src/helpers.h b/wxPython/src/helpers.h index cfe7134df1..7831008324 100644 --- a/wxPython/src/helpers.h +++ b/wxPython/src/helpers.h @@ -453,10 +453,10 @@ void wxPyCBH_delete(wxPyCallbackHelper* cbh); #define IMP_PYCALLBACK_VOID_INTINT(CLASS, PCLASS, CBNAME) \ void CLASS::CBNAME(int a, int b) { \ bool found; \ - wxPyBeginBlockThreads(); \ + wxPyBeginBlockThreads(); \ if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \ wxPyCBH_callCallback(m_myInst, Py_BuildValue("(ii)",a,b)); \ - wxPyEndBlockThreads(); \ + wxPyEndBlockThreads(); \ if (! found) \ PCLASS::CBNAME(a,b); \ } \ @@ -466,6 +466,133 @@ void wxPyCBH_delete(wxPyCallbackHelper* cbh); //--------------------------------------------------------------------------- +#define DEC_PYCALLBACK_VOID_INT4(CBNAME) \ + void CBNAME(int a, int b, int c, int d); \ + void base_##CBNAME(int a, int b, int c, int d); + + +#define IMP_PYCALLBACK_VOID_INT4(CLASS, PCLASS, CBNAME) \ + void CLASS::CBNAME(int a, int b, int c, int d) { \ + bool found; \ + wxPyBeginBlockThreads(); \ + if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \ + wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iiii)",a,b,c,d)); \ + wxPyEndBlockThreads(); \ + if (! found) \ + PCLASS::CBNAME(a,b,c,d); \ + } \ + void CLASS::base_##CBNAME(int a, int b, int c, int d) { \ + PCLASS::CBNAME(a,b,c,d); \ + } + +//--------------------------------------------------------------------------- +#define DEC_PYCALLBACK_VOID_INT5(CBNAME) \ + void CBNAME(int a, int b, int c, int d, int e); \ + void base_##CBNAME(int a, int b, int c, int d, int e); + + +#define IMP_PYCALLBACK_VOID_INT5(CLASS, PCLASS, CBNAME) \ + void CLASS::CBNAME(int a, int b, int c, int d, int e) { \ + bool found; \ + wxPyBeginBlockThreads(); \ + if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \ + wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iiiii)",a,b,c,d,e)); \ + wxPyEndBlockThreads(); \ + if (! found) \ + PCLASS::CBNAME(a,b,c,d,e); \ + } \ + void CLASS::base_##CBNAME(int a, int b, int c, int d, int e) { \ + PCLASS::CBNAME(a,b,c,d,e); \ + } + +//--------------------------------------------------------------------------- + +#define DEC_PYCALLBACK_VOID_INTPINTP_const(CBNAME) \ + void CBNAME(int* a, int* b) const; \ + void base_##CBNAME(int* a, int* b) const; + + +#define IMP_PYCALLBACK_VOID_INTPINTP_const(CLASS, PCLASS, CBNAME) \ + void CLASS::CBNAME(int* a, int* b) const { \ + const char* errmsg = #CBNAME " should return a 2-tuple of integers."; \ + bool found; \ + wxPyBeginBlockThreads(); \ + if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \ + PyObject* ro; \ + ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("()")); \ + if (ro) { \ + if (PySequence_Check(ro) && PyObject_Length(ro) == 2) { \ + PyObject* o1 = PySequence_GetItem(ro, 0); \ + PyObject* o2 = PySequence_GetItem(ro, 1); \ + if (PyNumber_Check(o1) && PyNumber_Check(o2)) { \ + *a = PyInt_AsLong(o1); *b = PyInt_AsLong(o2); \ + } \ + else \ + PyErr_SetString(PyExc_TypeError, errmsg); \ + Py_DECREF(o1); \ + Py_DECREF(o2); \ + } \ + else { \ + PyErr_SetString(PyExc_TypeError, errmsg); \ + } \ + Py_DECREF(ro); \ + } \ + } \ + wxPyEndBlockThreads(); \ + if (! found) \ + PCLASS::CBNAME(a,b); \ + } \ + void CLASS::base_##CBNAME(int* a, int* b) const { \ + PCLASS::CBNAME(a,b); \ + } + + +//--------------------------------------------------------------------------- + +#define DEC_PYCALLBACK_SIZE_const(CBNAME) \ + wxSize CBNAME() const; \ + wxSize base_##CBNAME() const; + + +#define IMP_PYCALLBACK_SIZE_const(CLASS, PCLASS, CBNAME) \ + wxSize CLASS::CBNAME() const { \ + const char* errmsg = #CBNAME " should return a 2-tuple of integers."; \ + bool found; wxSize rval(0,0); \ + wxPyBeginBlockThreads(); \ + if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \ + PyObject* ro; \ + ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("()")); \ + if (ro) { \ + if (PySequence_Check(ro) && PyObject_Length(ro) == 2) { \ + PyObject* o1 = PySequence_GetItem(ro, 0); \ + PyObject* o2 = PySequence_GetItem(ro, 1); \ + if (PyNumber_Check(o1) && PyNumber_Check(o2)) { \ + rval = wxSize(PyInt_AsLong(o1), PyInt_AsLong(o2)); \ + } \ + else \ + PyErr_SetString(PyExc_TypeError, errmsg); \ + Py_DECREF(o1); \ + Py_DECREF(o2); \ + } \ + else { \ + PyErr_SetString(PyExc_TypeError, errmsg); \ + } \ + Py_DECREF(ro); \ + } \ + } \ + wxPyEndBlockThreads(); \ + if (! found) \ + return PCLASS::CBNAME(); \ + else \ + return rval; \ + } \ + wxSize CLASS::base_##CBNAME() const { \ + return PCLASS::CBNAME(); \ + } + + +//--------------------------------------------------------------------------- + #define DEC_PYCALLBACK_BOOL_INT(CBNAME) \ bool CBNAME(int a); \ bool base_##CBNAME(int a); @@ -474,10 +601,10 @@ void wxPyCBH_delete(wxPyCallbackHelper* cbh); #define IMP_PYCALLBACK_BOOL_INT(CLASS, PCLASS, CBNAME) \ bool CLASS::CBNAME(int a) { \ bool rval=FALSE, found; \ - wxPyBeginBlockThreads(); \ + wxPyBeginBlockThreads(); \ if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \ rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(i)",a));\ - wxPyEndBlockThreads(); \ + wxPyEndBlockThreads(); \ if (! found) \ rval = PCLASS::CBNAME(a); \ return rval; \ @@ -1165,10 +1292,10 @@ void wxPyCBH_delete(wxPyCallbackHelper* cbh); bool CLASS::CBNAME() { \ bool rval=FALSE; \ bool found; \ - wxPyBeginBlockThreads(); \ + wxPyBeginBlockThreads(); \ if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \ rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("()")); \ - wxPyEndBlockThreads(); \ + wxPyEndBlockThreads(); \ if (! found) \ rval = PCLASS::CBNAME(); \ return rval; \ @@ -1179,6 +1306,29 @@ void wxPyCBH_delete(wxPyCallbackHelper* cbh); //--------------------------------------------------------------------------- +#define DEC_PYCALLBACK_BOOL_const(CBNAME) \ + bool CBNAME() const; \ + bool base_##CBNAME() const; + + +#define IMP_PYCALLBACK_BOOL_const(CLASS, PCLASS, CBNAME) \ + bool CLASS::CBNAME() const { \ + bool rval=FALSE; \ + bool found; \ + wxPyBeginBlockThreads(); \ + if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \ + rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("()")); \ + wxPyEndBlockThreads(); \ + if (! found) \ + rval = PCLASS::CBNAME(); \ + return rval; \ + } \ + bool CLASS::base_##CBNAME() const { \ + return PCLASS::CBNAME(); \ + } + +//--------------------------------------------------------------------------- + #define DEC_PYCALLBACK_DR_2WXCDR(CBNAME) \ wxDragResult CBNAME(wxCoord x, wxCoord y, wxDragResult def); \ wxDragResult base_##CBNAME(wxCoord x, wxCoord y, wxDragResult def); diff --git a/wxPython/src/msw/windows2.cpp b/wxPython/src/msw/windows2.cpp index 9c2635f737..de1ad17a8c 100644 --- a/wxPython/src/msw/windows2.cpp +++ b/wxPython/src/msw/windows2.cpp @@ -69,6 +69,7 @@ extern PyObject *SWIG_newvarlink(void); // Put some wx default wxChar* values into wxStrings. DECLARE_DEF_STRING(NOTEBOOK_NAME); DECLARE_DEF_STRING(PanelNameStr); + DECLARE_DEF_STRING(ControlNameStr); static const wxChar* wxSplitterNameStr = wxT("splitter"); DECLARE_DEF_STRING(SplitterNameStr); @@ -100,6 +101,129 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { } return target; } + // C++ version of Python aware wxWindow +class wxPyWindow : public wxWindow +{ + DECLARE_DYNAMIC_CLASS(wxPyWindow) +public: + wxPyWindow() : wxWindow() {} + wxPyWindow(wxWindow* parent, const wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxString& name = wxPyPanelNameStr) + : wxWindow(parent, id, pos, size, style, name) {} + + + DEC_PYCALLBACK_VOID_INT4(DoMoveWindow); + DEC_PYCALLBACK_VOID_INT5(DoSetSize); + DEC_PYCALLBACK_VOID_INTINT(DoSetClientSize); + DEC_PYCALLBACK_VOID_INTINT(DoSetVirtualSize); + + DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetSize); + DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetClientSize); + DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetPosition); + + DEC_PYCALLBACK_SIZE_const(DoGetVirtualSize); + DEC_PYCALLBACK_SIZE_const(DoGetBestSize); + + DEC_PYCALLBACK__(InitDialog); + DEC_PYCALLBACK_BOOL_(TransferDataFromWindow); + DEC_PYCALLBACK_BOOL_(TransferDataToWindow); + DEC_PYCALLBACK_BOOL_(Validate); + + DEC_PYCALLBACK_BOOL_const(AcceptsFocus); + DEC_PYCALLBACK_BOOL_const(AcceptsFocusFromKeyboard); + DEC_PYCALLBACK_SIZE_const(GetMaxSize); + + PYPRIVATE; +}; + +IMPLEMENT_DYNAMIC_CLASS(wxPyWindow, wxWindow); + +IMP_PYCALLBACK_VOID_INT4(wxPyWindow, wxWindow, DoMoveWindow); +IMP_PYCALLBACK_VOID_INT5(wxPyWindow, wxWindow, DoSetSize); +IMP_PYCALLBACK_VOID_INTINT(wxPyWindow, wxWindow, DoSetClientSize); +IMP_PYCALLBACK_VOID_INTINT(wxPyWindow, wxWindow, DoSetVirtualSize); + +IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyWindow, wxWindow, DoGetSize); +IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyWindow, wxWindow, DoGetClientSize); +IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyWindow, wxWindow, DoGetPosition); + +IMP_PYCALLBACK_SIZE_const(wxPyWindow, wxWindow, DoGetVirtualSize); +IMP_PYCALLBACK_SIZE_const(wxPyWindow, wxWindow, DoGetBestSize); + +IMP_PYCALLBACK__(wxPyWindow, wxWindow, InitDialog); +IMP_PYCALLBACK_BOOL_(wxPyWindow, wxWindow, TransferDataFromWindow); +IMP_PYCALLBACK_BOOL_(wxPyWindow, wxWindow, TransferDataToWindow); +IMP_PYCALLBACK_BOOL_(wxPyWindow, wxWindow, Validate); + +IMP_PYCALLBACK_BOOL_const(wxPyWindow, wxWindow, AcceptsFocus); +IMP_PYCALLBACK_BOOL_const(wxPyWindow, wxWindow, AcceptsFocusFromKeyboard); +IMP_PYCALLBACK_SIZE_const(wxPyWindow, wxWindow, GetMaxSize); + + // C++ version of Python aware wxControl +class wxPyControl : public wxControl +{ + DECLARE_DYNAMIC_CLASS(wxPyControl) +public: + wxPyControl() : wxControl() {} + wxPyControl(wxWindow* parent, const wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxValidator& validator=wxDefaultValidator, + const wxString& name = wxPyControlNameStr) + : wxControl(parent, id, pos, size, style, validator, name) {} + + + DEC_PYCALLBACK_VOID_INT4(DoMoveWindow); + DEC_PYCALLBACK_VOID_INT5(DoSetSize); + DEC_PYCALLBACK_VOID_INTINT(DoSetClientSize); + DEC_PYCALLBACK_VOID_INTINT(DoSetVirtualSize); + + DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetSize); + DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetClientSize); + DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetPosition); + + DEC_PYCALLBACK_SIZE_const(DoGetVirtualSize); + DEC_PYCALLBACK_SIZE_const(DoGetBestSize); + + DEC_PYCALLBACK__(InitDialog); + DEC_PYCALLBACK_BOOL_(TransferDataFromWindow); + DEC_PYCALLBACK_BOOL_(TransferDataToWindow); + DEC_PYCALLBACK_BOOL_(Validate); + + DEC_PYCALLBACK_BOOL_const(AcceptsFocus); + DEC_PYCALLBACK_BOOL_const(AcceptsFocusFromKeyboard); + DEC_PYCALLBACK_SIZE_const(GetMaxSize); + + PYPRIVATE; +}; + +IMPLEMENT_DYNAMIC_CLASS(wxPyControl, wxControl); + +IMP_PYCALLBACK_VOID_INT4(wxPyControl, wxControl, DoMoveWindow); +IMP_PYCALLBACK_VOID_INT5(wxPyControl, wxControl, DoSetSize); +IMP_PYCALLBACK_VOID_INTINT(wxPyControl, wxControl, DoSetClientSize); +IMP_PYCALLBACK_VOID_INTINT(wxPyControl, wxControl, DoSetVirtualSize); + +IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyControl, wxControl, DoGetSize); +IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyControl, wxControl, DoGetClientSize); +IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyControl, wxControl, DoGetPosition); + +IMP_PYCALLBACK_SIZE_const(wxPyControl, wxControl, DoGetVirtualSize); +IMP_PYCALLBACK_SIZE_const(wxPyControl, wxControl, DoGetBestSize); + +IMP_PYCALLBACK__(wxPyControl, wxControl, InitDialog); +IMP_PYCALLBACK_BOOL_(wxPyControl, wxControl, TransferDataFromWindow); +IMP_PYCALLBACK_BOOL_(wxPyControl, wxControl, TransferDataToWindow); +IMP_PYCALLBACK_BOOL_(wxPyControl, wxControl, Validate); + +IMP_PYCALLBACK_BOOL_const(wxPyControl, wxControl, AcceptsFocus); +IMP_PYCALLBACK_BOOL_const(wxPyControl, wxControl, AcceptsFocusFromKeyboard); +IMP_PYCALLBACK_SIZE_const(wxPyControl, wxControl, GetMaxSize); + #ifdef __cplusplus extern "C" { #endif @@ -2485,7 +2609,1372 @@ static PyObject *_wrap_wxTaskBarIcon_IsOK(PyObject *self, PyObject *args, PyObje return _resultobj; } +static void *SwigwxPyWindowTowxWindow(void *ptr) { + wxPyWindow *src; + wxWindow *dest; + src = (wxPyWindow *) ptr; + dest = (wxWindow *) src; + return (void *) dest; +} + +static void *SwigwxPyWindowTowxEvtHandler(void *ptr) { + wxPyWindow *src; + wxEvtHandler *dest; + src = (wxPyWindow *) ptr; + dest = (wxEvtHandler *) src; + return (void *) dest; +} + +static void *SwigwxPyWindowTowxObject(void *ptr) { + wxPyWindow *src; + wxObject *dest; + src = (wxPyWindow *) ptr; + dest = (wxObject *) src; + return (void *) dest; +} + +#define new_wxPyWindow(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5) (new wxPyWindow(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)) +static PyObject *_wrap_new_wxPyWindow(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyWindow * _result; + wxWindow * _arg0; + wxWindowID _arg1; + wxPoint * _arg2 = (wxPoint *) &wxDefaultPosition; + wxSize * _arg3 = (wxSize *) &wxDefaultSize; + long _arg4 = (long ) 0; + wxString * _arg5 = (wxString *) &wxPyPanelNameStr; + PyObject * _argo0 = 0; + wxPoint temp; + PyObject * _obj2 = 0; + wxSize temp0; + PyObject * _obj3 = 0; + PyObject * _obj5 = 0; + char *_kwnames[] = { "parent","id","pos","size","style","name", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|OOlO:new_wxPyWindow",_kwnames,&_argo0,&_arg1,&_obj2,&_obj3,&_arg4,&_obj5)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPyWindow. Expected _wxWindow_p."); + return NULL; + } + } + if (_obj2) +{ + _arg2 = &temp; + if (! wxPoint_helper(_obj2, &_arg2)) + return NULL; +} + if (_obj3) +{ + _arg3 = &temp0; + if (! wxSize_helper(_obj3, &_arg3)) + return NULL; +} + if (_obj5) +{ + _arg5 = wxString_in_helper(_obj5); + if (_arg5 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxPyWindow *)new_wxPyWindow(_arg0,_arg1,*_arg2,*_arg3,_arg4,*_arg5); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyWindow_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } +{ + if (_obj5) + delete _arg5; +} + return _resultobj; +} + +#define wxPyWindow__setCallbackInfo(_swigobj,_swigarg0,_swigarg1) (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPyWindow__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyWindow * _arg0; + PyObject * _arg1; + PyObject * _arg2; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","self","_class", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxPyWindow__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyWindow__setCallbackInfo. Expected _wxPyWindow_p."); + return NULL; + } + } +{ + _arg1 = _obj1; +} +{ + _arg2 = _obj2; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyWindow__setCallbackInfo(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPyWindow_base_DoMoveWindow(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3) (_swigobj->base_DoMoveWindow(_swigarg0,_swigarg1,_swigarg2,_swigarg3)) +static PyObject *_wrap_wxPyWindow_base_DoMoveWindow(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyWindow * _arg0; + int _arg1; + int _arg2; + int _arg3; + int _arg4; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","x","y","width","height", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii:wxPyWindow_base_DoMoveWindow",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyWindow_base_DoMoveWindow. Expected _wxPyWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyWindow_base_DoMoveWindow(_arg0,_arg1,_arg2,_arg3,_arg4); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPyWindow_base_DoSetSize(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4) (_swigobj->base_DoSetSize(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)) +static PyObject *_wrap_wxPyWindow_base_DoSetSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyWindow * _arg0; + int _arg1; + int _arg2; + int _arg3; + int _arg4; + int _arg5 = (int ) wxSIZE_AUTO; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","x","y","width","height","sizeFlags", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii|i:wxPyWindow_base_DoSetSize",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyWindow_base_DoSetSize. Expected _wxPyWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyWindow_base_DoSetSize(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPyWindow_base_DoSetClientSize(_swigobj,_swigarg0,_swigarg1) (_swigobj->base_DoSetClientSize(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPyWindow_base_DoSetClientSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyWindow * _arg0; + int _arg1; + int _arg2; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","width","height", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxPyWindow_base_DoSetClientSize",_kwnames,&_argo0,&_arg1,&_arg2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyWindow_base_DoSetClientSize. Expected _wxPyWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyWindow_base_DoSetClientSize(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPyWindow_base_DoSetVirtualSize(_swigobj,_swigarg0,_swigarg1) (_swigobj->base_DoSetVirtualSize(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPyWindow_base_DoSetVirtualSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyWindow * _arg0; + int _arg1; + int _arg2; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","x","y", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxPyWindow_base_DoSetVirtualSize",_kwnames,&_argo0,&_arg1,&_arg2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyWindow_base_DoSetVirtualSize. Expected _wxPyWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyWindow_base_DoSetVirtualSize(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPyWindow_base_DoGetSize(_swigobj,_swigarg0,_swigarg1) (_swigobj->base_DoGetSize(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPyWindow_base_DoGetSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyWindow * _arg0; + int * _arg1; + int temp; + int * _arg2; + int temp0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; +{ + _arg1 = &temp; +} +{ + _arg2 = &temp0; +} + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyWindow_base_DoGetSize",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyWindow_base_DoGetSize. Expected _wxPyWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyWindow_base_DoGetSize(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg1)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg2)); + _resultobj = t_output_helper(_resultobj, o); +} + return _resultobj; +} + +#define wxPyWindow_base_DoGetClientSize(_swigobj,_swigarg0,_swigarg1) (_swigobj->base_DoGetClientSize(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPyWindow_base_DoGetClientSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyWindow * _arg0; + int * _arg1; + int temp; + int * _arg2; + int temp0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; +{ + _arg1 = &temp; +} +{ + _arg2 = &temp0; +} + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyWindow_base_DoGetClientSize",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyWindow_base_DoGetClientSize. Expected _wxPyWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyWindow_base_DoGetClientSize(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg1)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg2)); + _resultobj = t_output_helper(_resultobj, o); +} + return _resultobj; +} + +#define wxPyWindow_base_DoGetPosition(_swigobj,_swigarg0,_swigarg1) (_swigobj->base_DoGetPosition(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPyWindow_base_DoGetPosition(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyWindow * _arg0; + int * _arg1; + int temp; + int * _arg2; + int temp0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; +{ + _arg1 = &temp; +} +{ + _arg2 = &temp0; +} + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyWindow_base_DoGetPosition",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyWindow_base_DoGetPosition. Expected _wxPyWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyWindow_base_DoGetPosition(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg1)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg2)); + _resultobj = t_output_helper(_resultobj, o); +} + return _resultobj; +} + +#define wxPyWindow_base_DoGetVirtualSize(_swigobj) (_swigobj->base_DoGetVirtualSize()) +static PyObject *_wrap_wxPyWindow_base_DoGetVirtualSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxSize * _result; + wxPyWindow * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyWindow_base_DoGetVirtualSize",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyWindow_base_DoGetVirtualSize. Expected _wxPyWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxSize (wxPyWindow_base_DoGetVirtualSize(_arg0)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxSize_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +#define wxPyWindow_base_DoGetBestSize(_swigobj) (_swigobj->base_DoGetBestSize()) +static PyObject *_wrap_wxPyWindow_base_DoGetBestSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxSize * _result; + wxPyWindow * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyWindow_base_DoGetBestSize",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyWindow_base_DoGetBestSize. Expected _wxPyWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxSize (wxPyWindow_base_DoGetBestSize(_arg0)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxSize_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +#define wxPyWindow_base_InitDialog(_swigobj) (_swigobj->base_InitDialog()) +static PyObject *_wrap_wxPyWindow_base_InitDialog(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyWindow * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyWindow_base_InitDialog",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyWindow_base_InitDialog. Expected _wxPyWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyWindow_base_InitDialog(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPyWindow_base_TransferDataToWindow(_swigobj) (_swigobj->base_TransferDataToWindow()) +static PyObject *_wrap_wxPyWindow_base_TransferDataToWindow(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyWindow * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyWindow_base_TransferDataToWindow",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyWindow_base_TransferDataToWindow. Expected _wxPyWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPyWindow_base_TransferDataToWindow(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxPyWindow_base_TransferDataFromWindow(_swigobj) (_swigobj->base_TransferDataFromWindow()) +static PyObject *_wrap_wxPyWindow_base_TransferDataFromWindow(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyWindow * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyWindow_base_TransferDataFromWindow",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyWindow_base_TransferDataFromWindow. Expected _wxPyWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPyWindow_base_TransferDataFromWindow(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxPyWindow_base_Validate(_swigobj) (_swigobj->base_Validate()) +static PyObject *_wrap_wxPyWindow_base_Validate(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyWindow * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyWindow_base_Validate",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyWindow_base_Validate. Expected _wxPyWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPyWindow_base_Validate(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxPyWindow_base_AcceptsFocus(_swigobj) (_swigobj->base_AcceptsFocus()) +static PyObject *_wrap_wxPyWindow_base_AcceptsFocus(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyWindow * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyWindow_base_AcceptsFocus",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyWindow_base_AcceptsFocus. Expected _wxPyWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPyWindow_base_AcceptsFocus(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxPyWindow_base_AcceptsFocusFromKeyboard(_swigobj) (_swigobj->base_AcceptsFocusFromKeyboard()) +static PyObject *_wrap_wxPyWindow_base_AcceptsFocusFromKeyboard(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyWindow * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyWindow_base_AcceptsFocusFromKeyboard",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyWindow_base_AcceptsFocusFromKeyboard. Expected _wxPyWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPyWindow_base_AcceptsFocusFromKeyboard(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxPyWindow_base_GetMaxSize(_swigobj) (_swigobj->base_GetMaxSize()) +static PyObject *_wrap_wxPyWindow_base_GetMaxSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxSize * _result; + wxPyWindow * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyWindow_base_GetMaxSize",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyWindow_base_GetMaxSize. Expected _wxPyWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxSize (wxPyWindow_base_GetMaxSize(_arg0)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxSize_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +static void *SwigwxPyControlTowxControl(void *ptr) { + wxPyControl *src; + wxControl *dest; + src = (wxPyControl *) ptr; + dest = (wxControl *) src; + return (void *) dest; +} + +static void *SwigwxPyControlTowxWindow(void *ptr) { + wxPyControl *src; + wxWindow *dest; + src = (wxPyControl *) ptr; + dest = (wxWindow *) src; + return (void *) dest; +} + +static void *SwigwxPyControlTowxEvtHandler(void *ptr) { + wxPyControl *src; + wxEvtHandler *dest; + src = (wxPyControl *) ptr; + dest = (wxEvtHandler *) src; + return (void *) dest; +} + +static void *SwigwxPyControlTowxObject(void *ptr) { + wxPyControl *src; + wxObject *dest; + src = (wxPyControl *) ptr; + dest = (wxObject *) src; + return (void *) dest; +} + +#define new_wxPyControl(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6) (new wxPyControl(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6)) +static PyObject *_wrap_new_wxPyControl(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyControl * _result; + wxWindow * _arg0; + wxWindowID _arg1; + wxPoint * _arg2 = (wxPoint *) &wxDefaultPosition; + wxSize * _arg3 = (wxSize *) &wxDefaultSize; + long _arg4 = (long ) 0; + wxValidator * _arg5 = (wxValidator *) &wxDefaultValidator; + wxString * _arg6 = (wxString *) &wxPyControlNameStr; + PyObject * _argo0 = 0; + wxPoint temp; + PyObject * _obj2 = 0; + wxSize temp0; + PyObject * _obj3 = 0; + PyObject * _argo5 = 0; + PyObject * _obj6 = 0; + char *_kwnames[] = { "parent","id","pos","size","style","validator","name", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|OOlOO:new_wxPyControl",_kwnames,&_argo0,&_arg1,&_obj2,&_obj3,&_arg4,&_argo5,&_obj6)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPyControl. Expected _wxWindow_p."); + return NULL; + } + } + if (_obj2) +{ + _arg2 = &temp; + if (! wxPoint_helper(_obj2, &_arg2)) + return NULL; +} + if (_obj3) +{ + _arg3 = &temp0; + if (! wxSize_helper(_obj3, &_arg3)) + return NULL; +} + if (_argo5) { + if (_argo5 == Py_None) { _arg5 = NULL; } + else if (SWIG_GetPtrObj(_argo5,(void **) &_arg5,"_wxValidator_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 6 of new_wxPyControl. Expected _wxValidator_p."); + return NULL; + } + } + if (_obj6) +{ + _arg6 = wxString_in_helper(_obj6); + if (_arg6 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxPyControl *)new_wxPyControl(_arg0,_arg1,*_arg2,*_arg3,_arg4,*_arg5,*_arg6); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyControl_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } +{ + if (_obj6) + delete _arg6; +} + return _resultobj; +} + +#define wxPyControl__setCallbackInfo(_swigobj,_swigarg0,_swigarg1) (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPyControl__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyControl * _arg0; + PyObject * _arg1; + PyObject * _arg2; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","self","_class", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxPyControl__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyControl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyControl__setCallbackInfo. Expected _wxPyControl_p."); + return NULL; + } + } +{ + _arg1 = _obj1; +} +{ + _arg2 = _obj2; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyControl__setCallbackInfo(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPyControl_base_DoMoveWindow(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3) (_swigobj->base_DoMoveWindow(_swigarg0,_swigarg1,_swigarg2,_swigarg3)) +static PyObject *_wrap_wxPyControl_base_DoMoveWindow(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyControl * _arg0; + int _arg1; + int _arg2; + int _arg3; + int _arg4; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","x","y","width","height", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii:wxPyControl_base_DoMoveWindow",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyControl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyControl_base_DoMoveWindow. Expected _wxPyControl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyControl_base_DoMoveWindow(_arg0,_arg1,_arg2,_arg3,_arg4); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPyControl_base_DoSetSize(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4) (_swigobj->base_DoSetSize(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)) +static PyObject *_wrap_wxPyControl_base_DoSetSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyControl * _arg0; + int _arg1; + int _arg2; + int _arg3; + int _arg4; + int _arg5 = (int ) wxSIZE_AUTO; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","x","y","width","height","sizeFlags", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii|i:wxPyControl_base_DoSetSize",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyControl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyControl_base_DoSetSize. Expected _wxPyControl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyControl_base_DoSetSize(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPyControl_base_DoSetClientSize(_swigobj,_swigarg0,_swigarg1) (_swigobj->base_DoSetClientSize(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPyControl_base_DoSetClientSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyControl * _arg0; + int _arg1; + int _arg2; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","width","height", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxPyControl_base_DoSetClientSize",_kwnames,&_argo0,&_arg1,&_arg2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyControl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyControl_base_DoSetClientSize. Expected _wxPyControl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyControl_base_DoSetClientSize(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPyControl_base_DoSetVirtualSize(_swigobj,_swigarg0,_swigarg1) (_swigobj->base_DoSetVirtualSize(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPyControl_base_DoSetVirtualSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyControl * _arg0; + int _arg1; + int _arg2; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","x","y", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxPyControl_base_DoSetVirtualSize",_kwnames,&_argo0,&_arg1,&_arg2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyControl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyControl_base_DoSetVirtualSize. Expected _wxPyControl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyControl_base_DoSetVirtualSize(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPyControl_base_DoGetSize(_swigobj,_swigarg0,_swigarg1) (_swigobj->base_DoGetSize(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPyControl_base_DoGetSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyControl * _arg0; + int * _arg1; + int temp; + int * _arg2; + int temp0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; +{ + _arg1 = &temp; +} +{ + _arg2 = &temp0; +} + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyControl_base_DoGetSize",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyControl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyControl_base_DoGetSize. Expected _wxPyControl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyControl_base_DoGetSize(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg1)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg2)); + _resultobj = t_output_helper(_resultobj, o); +} + return _resultobj; +} + +#define wxPyControl_base_DoGetClientSize(_swigobj,_swigarg0,_swigarg1) (_swigobj->base_DoGetClientSize(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPyControl_base_DoGetClientSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyControl * _arg0; + int * _arg1; + int temp; + int * _arg2; + int temp0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; +{ + _arg1 = &temp; +} +{ + _arg2 = &temp0; +} + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyControl_base_DoGetClientSize",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyControl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyControl_base_DoGetClientSize. Expected _wxPyControl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyControl_base_DoGetClientSize(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg1)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg2)); + _resultobj = t_output_helper(_resultobj, o); +} + return _resultobj; +} + +#define wxPyControl_base_DoGetPosition(_swigobj,_swigarg0,_swigarg1) (_swigobj->base_DoGetPosition(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPyControl_base_DoGetPosition(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyControl * _arg0; + int * _arg1; + int temp; + int * _arg2; + int temp0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; +{ + _arg1 = &temp; +} +{ + _arg2 = &temp0; +} + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyControl_base_DoGetPosition",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyControl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyControl_base_DoGetPosition. Expected _wxPyControl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyControl_base_DoGetPosition(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg1)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg2)); + _resultobj = t_output_helper(_resultobj, o); +} + return _resultobj; +} + +#define wxPyControl_base_DoGetVirtualSize(_swigobj) (_swigobj->base_DoGetVirtualSize()) +static PyObject *_wrap_wxPyControl_base_DoGetVirtualSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxSize * _result; + wxPyControl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyControl_base_DoGetVirtualSize",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyControl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyControl_base_DoGetVirtualSize. Expected _wxPyControl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxSize (wxPyControl_base_DoGetVirtualSize(_arg0)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxSize_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +#define wxPyControl_base_DoGetBestSize(_swigobj) (_swigobj->base_DoGetBestSize()) +static PyObject *_wrap_wxPyControl_base_DoGetBestSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxSize * _result; + wxPyControl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyControl_base_DoGetBestSize",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyControl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyControl_base_DoGetBestSize. Expected _wxPyControl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxSize (wxPyControl_base_DoGetBestSize(_arg0)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxSize_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +#define wxPyControl_base_InitDialog(_swigobj) (_swigobj->base_InitDialog()) +static PyObject *_wrap_wxPyControl_base_InitDialog(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyControl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyControl_base_InitDialog",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyControl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyControl_base_InitDialog. Expected _wxPyControl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyControl_base_InitDialog(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPyControl_base_TransferDataToWindow(_swigobj) (_swigobj->base_TransferDataToWindow()) +static PyObject *_wrap_wxPyControl_base_TransferDataToWindow(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyControl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyControl_base_TransferDataToWindow",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyControl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyControl_base_TransferDataToWindow. Expected _wxPyControl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPyControl_base_TransferDataToWindow(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxPyControl_base_TransferDataFromWindow(_swigobj) (_swigobj->base_TransferDataFromWindow()) +static PyObject *_wrap_wxPyControl_base_TransferDataFromWindow(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyControl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyControl_base_TransferDataFromWindow",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyControl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyControl_base_TransferDataFromWindow. Expected _wxPyControl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPyControl_base_TransferDataFromWindow(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxPyControl_base_Validate(_swigobj) (_swigobj->base_Validate()) +static PyObject *_wrap_wxPyControl_base_Validate(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyControl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyControl_base_Validate",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyControl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyControl_base_Validate. Expected _wxPyControl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPyControl_base_Validate(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxPyControl_base_AcceptsFocus(_swigobj) (_swigobj->base_AcceptsFocus()) +static PyObject *_wrap_wxPyControl_base_AcceptsFocus(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyControl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyControl_base_AcceptsFocus",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyControl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyControl_base_AcceptsFocus. Expected _wxPyControl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPyControl_base_AcceptsFocus(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxPyControl_base_AcceptsFocusFromKeyboard(_swigobj) (_swigobj->base_AcceptsFocusFromKeyboard()) +static PyObject *_wrap_wxPyControl_base_AcceptsFocusFromKeyboard(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyControl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyControl_base_AcceptsFocusFromKeyboard",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyControl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyControl_base_AcceptsFocusFromKeyboard. Expected _wxPyControl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPyControl_base_AcceptsFocusFromKeyboard(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxPyControl_base_GetMaxSize(_swigobj) (_swigobj->base_GetMaxSize()) +static PyObject *_wrap_wxPyControl_base_GetMaxSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxSize * _result; + wxPyControl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyControl_base_GetMaxSize",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyControl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyControl_base_GetMaxSize. Expected _wxPyControl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxSize (wxPyControl_base_GetMaxSize(_arg0)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxSize_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + static PyMethodDef windows2cMethods[] = { + { "wxPyControl_base_GetMaxSize", (PyCFunction) _wrap_wxPyControl_base_GetMaxSize, METH_VARARGS | METH_KEYWORDS }, + { "wxPyControl_base_AcceptsFocusFromKeyboard", (PyCFunction) _wrap_wxPyControl_base_AcceptsFocusFromKeyboard, METH_VARARGS | METH_KEYWORDS }, + { "wxPyControl_base_AcceptsFocus", (PyCFunction) _wrap_wxPyControl_base_AcceptsFocus, METH_VARARGS | METH_KEYWORDS }, + { "wxPyControl_base_Validate", (PyCFunction) _wrap_wxPyControl_base_Validate, METH_VARARGS | METH_KEYWORDS }, + { "wxPyControl_base_TransferDataFromWindow", (PyCFunction) _wrap_wxPyControl_base_TransferDataFromWindow, METH_VARARGS | METH_KEYWORDS }, + { "wxPyControl_base_TransferDataToWindow", (PyCFunction) _wrap_wxPyControl_base_TransferDataToWindow, METH_VARARGS | METH_KEYWORDS }, + { "wxPyControl_base_InitDialog", (PyCFunction) _wrap_wxPyControl_base_InitDialog, METH_VARARGS | METH_KEYWORDS }, + { "wxPyControl_base_DoGetBestSize", (PyCFunction) _wrap_wxPyControl_base_DoGetBestSize, METH_VARARGS | METH_KEYWORDS }, + { "wxPyControl_base_DoGetVirtualSize", (PyCFunction) _wrap_wxPyControl_base_DoGetVirtualSize, METH_VARARGS | METH_KEYWORDS }, + { "wxPyControl_base_DoGetPosition", (PyCFunction) _wrap_wxPyControl_base_DoGetPosition, METH_VARARGS | METH_KEYWORDS }, + { "wxPyControl_base_DoGetClientSize", (PyCFunction) _wrap_wxPyControl_base_DoGetClientSize, METH_VARARGS | METH_KEYWORDS }, + { "wxPyControl_base_DoGetSize", (PyCFunction) _wrap_wxPyControl_base_DoGetSize, METH_VARARGS | METH_KEYWORDS }, + { "wxPyControl_base_DoSetVirtualSize", (PyCFunction) _wrap_wxPyControl_base_DoSetVirtualSize, METH_VARARGS | METH_KEYWORDS }, + { "wxPyControl_base_DoSetClientSize", (PyCFunction) _wrap_wxPyControl_base_DoSetClientSize, METH_VARARGS | METH_KEYWORDS }, + { "wxPyControl_base_DoSetSize", (PyCFunction) _wrap_wxPyControl_base_DoSetSize, METH_VARARGS | METH_KEYWORDS }, + { "wxPyControl_base_DoMoveWindow", (PyCFunction) _wrap_wxPyControl_base_DoMoveWindow, METH_VARARGS | METH_KEYWORDS }, + { "wxPyControl__setCallbackInfo", (PyCFunction) _wrap_wxPyControl__setCallbackInfo, METH_VARARGS | METH_KEYWORDS }, + { "new_wxPyControl", (PyCFunction) _wrap_new_wxPyControl, METH_VARARGS | METH_KEYWORDS }, + { "wxPyWindow_base_GetMaxSize", (PyCFunction) _wrap_wxPyWindow_base_GetMaxSize, METH_VARARGS | METH_KEYWORDS }, + { "wxPyWindow_base_AcceptsFocusFromKeyboard", (PyCFunction) _wrap_wxPyWindow_base_AcceptsFocusFromKeyboard, METH_VARARGS | METH_KEYWORDS }, + { "wxPyWindow_base_AcceptsFocus", (PyCFunction) _wrap_wxPyWindow_base_AcceptsFocus, METH_VARARGS | METH_KEYWORDS }, + { "wxPyWindow_base_Validate", (PyCFunction) _wrap_wxPyWindow_base_Validate, METH_VARARGS | METH_KEYWORDS }, + { "wxPyWindow_base_TransferDataFromWindow", (PyCFunction) _wrap_wxPyWindow_base_TransferDataFromWindow, METH_VARARGS | METH_KEYWORDS }, + { "wxPyWindow_base_TransferDataToWindow", (PyCFunction) _wrap_wxPyWindow_base_TransferDataToWindow, METH_VARARGS | METH_KEYWORDS }, + { "wxPyWindow_base_InitDialog", (PyCFunction) _wrap_wxPyWindow_base_InitDialog, METH_VARARGS | METH_KEYWORDS }, + { "wxPyWindow_base_DoGetBestSize", (PyCFunction) _wrap_wxPyWindow_base_DoGetBestSize, METH_VARARGS | METH_KEYWORDS }, + { "wxPyWindow_base_DoGetVirtualSize", (PyCFunction) _wrap_wxPyWindow_base_DoGetVirtualSize, METH_VARARGS | METH_KEYWORDS }, + { "wxPyWindow_base_DoGetPosition", (PyCFunction) _wrap_wxPyWindow_base_DoGetPosition, METH_VARARGS | METH_KEYWORDS }, + { "wxPyWindow_base_DoGetClientSize", (PyCFunction) _wrap_wxPyWindow_base_DoGetClientSize, METH_VARARGS | METH_KEYWORDS }, + { "wxPyWindow_base_DoGetSize", (PyCFunction) _wrap_wxPyWindow_base_DoGetSize, METH_VARARGS | METH_KEYWORDS }, + { "wxPyWindow_base_DoSetVirtualSize", (PyCFunction) _wrap_wxPyWindow_base_DoSetVirtualSize, METH_VARARGS | METH_KEYWORDS }, + { "wxPyWindow_base_DoSetClientSize", (PyCFunction) _wrap_wxPyWindow_base_DoSetClientSize, METH_VARARGS | METH_KEYWORDS }, + { "wxPyWindow_base_DoSetSize", (PyCFunction) _wrap_wxPyWindow_base_DoSetSize, METH_VARARGS | METH_KEYWORDS }, + { "wxPyWindow_base_DoMoveWindow", (PyCFunction) _wrap_wxPyWindow_base_DoMoveWindow, METH_VARARGS | METH_KEYWORDS }, + { "wxPyWindow__setCallbackInfo", (PyCFunction) _wrap_wxPyWindow__setCallbackInfo, METH_VARARGS | METH_KEYWORDS }, + { "new_wxPyWindow", (PyCFunction) _wrap_new_wxPyWindow, METH_VARARGS | METH_KEYWORDS }, { "wxTaskBarIcon_IsOK", (PyCFunction) _wrap_wxTaskBarIcon_IsOK, METH_VARARGS | METH_KEYWORDS }, { "wxTaskBarIcon_IsIconInstalled", (PyCFunction) _wrap_wxTaskBarIcon_IsIconInstalled, METH_VARARGS | METH_KEYWORDS }, { "wxTaskBarIcon_PopupMenu", (PyCFunction) _wrap_wxTaskBarIcon_PopupMenu, METH_VARARGS | METH_KEYWORDS }, @@ -2614,6 +4103,8 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_WXTYPE","_unsigned_short",0}, { "_unsigned_short","_WXTYPE",0}, { "_unsigned_short","_short",0}, + { "_wxObject","_wxPyControl",SwigwxPyControlTowxObject}, + { "_wxObject","_wxPyWindow",SwigwxPyWindowTowxObject}, { "_wxObject","_wxTaskBarIcon",SwigwxTaskBarIconTowxObject}, { "_wxObject","_wxSplitterWindow",SwigwxSplitterWindowTowxObject}, { "_wxObject","_wxSplitterEvent",SwigwxSplitterEventTowxObject}, @@ -2622,6 +4113,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_signed_short","_WXTYPE",0}, { "_signed_short","_short",0}, { "_unsigned_char","_byte",0}, + { "_wxControl","_wxPyControl",SwigwxPyControlTowxControl}, { "_wxControl","_wxNotebook",SwigwxNotebookTowxControl}, { "_unsigned_int","_wxCoord",0}, { "_unsigned_int","_wxPrintQuality",0}, @@ -2667,9 +4159,13 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxCoord","_size_t",0}, { "_wxCoord","_time_t",0}, { "_wxCoord","_wxPrintQuality",0}, + { "_wxEvtHandler","_wxPyControl",SwigwxPyControlTowxEvtHandler}, + { "_wxEvtHandler","_wxPyWindow",SwigwxPyWindowTowxEvtHandler}, { "_wxEvtHandler","_wxTaskBarIcon",SwigwxTaskBarIconTowxEvtHandler}, { "_wxEvtHandler","_wxSplitterWindow",SwigwxSplitterWindowTowxEvtHandler}, { "_wxEvtHandler","_wxNotebook",SwigwxNotebookTowxEvtHandler}, + { "_wxWindow","_wxPyControl",SwigwxPyControlTowxWindow}, + { "_wxWindow","_wxPyWindow",SwigwxPyWindowTowxWindow}, { "_wxWindow","_wxSplitterWindow",SwigwxSplitterWindowTowxWindow}, { "_wxWindow","_wxNotebook",SwigwxNotebookTowxWindow}, {0,0,0}}; diff --git a/wxPython/src/msw/windows2.py b/wxPython/src/msw/windows2.py index 39f8b3bbd1..61878ac2bd 100644 --- a/wxPython/src/msw/windows2.py +++ b/wxPython/src/msw/windows2.py @@ -284,6 +284,146 @@ class wxTaskBarIcon(wxTaskBarIconPtr): +class wxPyWindowPtr(wxWindowPtr): + def __init__(self,this): + self.this = this + self.thisown = 0 + def _setCallbackInfo(self, *_args, **_kwargs): + val = apply(windows2c.wxPyWindow__setCallbackInfo,(self,) + _args, _kwargs) + return val + def base_DoMoveWindow(self, *_args, **_kwargs): + val = apply(windows2c.wxPyWindow_base_DoMoveWindow,(self,) + _args, _kwargs) + return val + def base_DoSetSize(self, *_args, **_kwargs): + val = apply(windows2c.wxPyWindow_base_DoSetSize,(self,) + _args, _kwargs) + return val + def base_DoSetClientSize(self, *_args, **_kwargs): + val = apply(windows2c.wxPyWindow_base_DoSetClientSize,(self,) + _args, _kwargs) + return val + def base_DoSetVirtualSize(self, *_args, **_kwargs): + val = apply(windows2c.wxPyWindow_base_DoSetVirtualSize,(self,) + _args, _kwargs) + return val + def base_DoGetSize(self, *_args, **_kwargs): + val = apply(windows2c.wxPyWindow_base_DoGetSize,(self,) + _args, _kwargs) + return val + def base_DoGetClientSize(self, *_args, **_kwargs): + val = apply(windows2c.wxPyWindow_base_DoGetClientSize,(self,) + _args, _kwargs) + return val + def base_DoGetPosition(self, *_args, **_kwargs): + val = apply(windows2c.wxPyWindow_base_DoGetPosition,(self,) + _args, _kwargs) + return val + def base_DoGetVirtualSize(self, *_args, **_kwargs): + val = apply(windows2c.wxPyWindow_base_DoGetVirtualSize,(self,) + _args, _kwargs) + if val: val = wxSizePtr(val) ; val.thisown = 1 + return val + def base_DoGetBestSize(self, *_args, **_kwargs): + val = apply(windows2c.wxPyWindow_base_DoGetBestSize,(self,) + _args, _kwargs) + if val: val = wxSizePtr(val) ; val.thisown = 1 + return val + def base_InitDialog(self, *_args, **_kwargs): + val = apply(windows2c.wxPyWindow_base_InitDialog,(self,) + _args, _kwargs) + return val + def base_TransferDataToWindow(self, *_args, **_kwargs): + val = apply(windows2c.wxPyWindow_base_TransferDataToWindow,(self,) + _args, _kwargs) + return val + def base_TransferDataFromWindow(self, *_args, **_kwargs): + val = apply(windows2c.wxPyWindow_base_TransferDataFromWindow,(self,) + _args, _kwargs) + return val + def base_Validate(self, *_args, **_kwargs): + val = apply(windows2c.wxPyWindow_base_Validate,(self,) + _args, _kwargs) + return val + def base_AcceptsFocus(self, *_args, **_kwargs): + val = apply(windows2c.wxPyWindow_base_AcceptsFocus,(self,) + _args, _kwargs) + return val + def base_AcceptsFocusFromKeyboard(self, *_args, **_kwargs): + val = apply(windows2c.wxPyWindow_base_AcceptsFocusFromKeyboard,(self,) + _args, _kwargs) + return val + def base_GetMaxSize(self, *_args, **_kwargs): + val = apply(windows2c.wxPyWindow_base_GetMaxSize,(self,) + _args, _kwargs) + if val: val = wxSizePtr(val) ; val.thisown = 1 + return val + def __repr__(self): + return "" % (self.this,) +class wxPyWindow(wxPyWindowPtr): + def __init__(self,*_args,**_kwargs): + self.this = apply(windows2c.new_wxPyWindow,_args,_kwargs) + self.thisown = 1 + self._setCallbackInfo(self, wxPyWindow) + self._setOORInfo(self) + + + + +class wxPyControlPtr(wxControlPtr): + def __init__(self,this): + self.this = this + self.thisown = 0 + def _setCallbackInfo(self, *_args, **_kwargs): + val = apply(windows2c.wxPyControl__setCallbackInfo,(self,) + _args, _kwargs) + return val + def base_DoMoveWindow(self, *_args, **_kwargs): + val = apply(windows2c.wxPyControl_base_DoMoveWindow,(self,) + _args, _kwargs) + return val + def base_DoSetSize(self, *_args, **_kwargs): + val = apply(windows2c.wxPyControl_base_DoSetSize,(self,) + _args, _kwargs) + return val + def base_DoSetClientSize(self, *_args, **_kwargs): + val = apply(windows2c.wxPyControl_base_DoSetClientSize,(self,) + _args, _kwargs) + return val + def base_DoSetVirtualSize(self, *_args, **_kwargs): + val = apply(windows2c.wxPyControl_base_DoSetVirtualSize,(self,) + _args, _kwargs) + return val + def base_DoGetSize(self, *_args, **_kwargs): + val = apply(windows2c.wxPyControl_base_DoGetSize,(self,) + _args, _kwargs) + return val + def base_DoGetClientSize(self, *_args, **_kwargs): + val = apply(windows2c.wxPyControl_base_DoGetClientSize,(self,) + _args, _kwargs) + return val + def base_DoGetPosition(self, *_args, **_kwargs): + val = apply(windows2c.wxPyControl_base_DoGetPosition,(self,) + _args, _kwargs) + return val + def base_DoGetVirtualSize(self, *_args, **_kwargs): + val = apply(windows2c.wxPyControl_base_DoGetVirtualSize,(self,) + _args, _kwargs) + if val: val = wxSizePtr(val) ; val.thisown = 1 + return val + def base_DoGetBestSize(self, *_args, **_kwargs): + val = apply(windows2c.wxPyControl_base_DoGetBestSize,(self,) + _args, _kwargs) + if val: val = wxSizePtr(val) ; val.thisown = 1 + return val + def base_InitDialog(self, *_args, **_kwargs): + val = apply(windows2c.wxPyControl_base_InitDialog,(self,) + _args, _kwargs) + return val + def base_TransferDataToWindow(self, *_args, **_kwargs): + val = apply(windows2c.wxPyControl_base_TransferDataToWindow,(self,) + _args, _kwargs) + return val + def base_TransferDataFromWindow(self, *_args, **_kwargs): + val = apply(windows2c.wxPyControl_base_TransferDataFromWindow,(self,) + _args, _kwargs) + return val + def base_Validate(self, *_args, **_kwargs): + val = apply(windows2c.wxPyControl_base_Validate,(self,) + _args, _kwargs) + return val + def base_AcceptsFocus(self, *_args, **_kwargs): + val = apply(windows2c.wxPyControl_base_AcceptsFocus,(self,) + _args, _kwargs) + return val + def base_AcceptsFocusFromKeyboard(self, *_args, **_kwargs): + val = apply(windows2c.wxPyControl_base_AcceptsFocusFromKeyboard,(self,) + _args, _kwargs) + return val + def base_GetMaxSize(self, *_args, **_kwargs): + val = apply(windows2c.wxPyControl_base_GetMaxSize,(self,) + _args, _kwargs) + if val: val = wxSizePtr(val) ; val.thisown = 1 + return val + def __repr__(self): + return "" % (self.this,) +class wxPyControl(wxPyControlPtr): + def __init__(self,*_args,**_kwargs): + self.this = apply(windows2c.new_wxPyControl,_args,_kwargs) + self.thisown = 1 + self._setCallbackInfo(self, wxPyControl) + self._setOORInfo(self) + + + + #-------------- FUNCTION WRAPPERS ------------------ diff --git a/wxPython/src/windows2.i b/wxPython/src/windows2.i index 3183aca7cf..d8b73f326b 100644 --- a/wxPython/src/windows2.i +++ b/wxPython/src/windows2.i @@ -31,6 +31,7 @@ // Put some wx default wxChar* values into wxStrings. DECLARE_DEF_STRING(NOTEBOOK_NAME); DECLARE_DEF_STRING(PanelNameStr); + DECLARE_DEF_STRING(ControlNameStr); static const wxChar* wxSplitterNameStr = wxT("splitter"); DECLARE_DEF_STRING(SplitterNameStr); @@ -304,69 +305,241 @@ public: // wxPyWindow derives from wxWindow and adds support for overriding many of // the virtual methods in Python derived classes. -// Do wxPyControl too. - -// %{ -// class wxPyWindow : public wxWindow -// { -// DECLARE_DYNAMIC_CLASS(wxPyWindow) -// public: -// wxPyWindow(wxWindow* parent, const wxWindowID id, -// const wxPoint& pos = wxDefaultPosition, -// const wxSize& size = wxDefaultSize, -// long style = 0, -// const wxString& name = wxPyPanelNameStr) -// : wxWindow(parent, id, pos, size, style, name) {} - - -// // Which of these should be done??? -// DoSetSize -// DoGetSize -// DoSetClientSize -// DoGetClientSize -// DoGetPosition -// DoSetVirtualSize -// DoGetVirtualSize - -// GetClientAreaOrigin -// Fit -// SetSizeHints -// SetVirtualSizeHints -// GetMaxSize -// Show +// Which of these should be done??? +// AddChild +// Destroy +// DoCaptureMouse +// DoClientToScreen +// DoHitTest +// DoMoveWindow +// DoPopupMenu +// DoReleaseMouse +// DoScreenToClient +// DoSetToolTip // Enable -// SetFocus -// SetFocusFromKbd -// AcceptsFocus -// AcceptsFocusFromKeyboard +// Fit +// GetCharHeight +// GetCharWidth +// GetClientAreaOrigin // GetDefaultItem -// SetDefaultItem // IsTopLevel -// AddChild // RemoveChild -// Validate -// TransferDataToWindow -// TransferDataFromWindow -// InitDialog // SetBackgroundColour +// SetDefaultItem +// SetFocus +// SetFocusFromKbd // SetForegroundColour -// GetCharHeight -// GetCharWidth -// DoClientToScreen -// DoScreenToClient -// DoHitTest -// DoPopupMenu -// DoSetToolTip -// DoCaptureMouse -// DoReleaseMouse -// DoMoveWindow +// SetSizeHints +// SetVirtualSizeHints +// Show + + +%{ // C++ version of Python aware wxWindow +class wxPyWindow : public wxWindow +{ + DECLARE_DYNAMIC_CLASS(wxPyWindow) +public: + wxPyWindow() : wxWindow() {} + wxPyWindow(wxWindow* parent, const wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxString& name = wxPyPanelNameStr) + : wxWindow(parent, id, pos, size, style, name) {} + + + DEC_PYCALLBACK_VOID_INT4(DoMoveWindow); + DEC_PYCALLBACK_VOID_INT5(DoSetSize); + DEC_PYCALLBACK_VOID_INTINT(DoSetClientSize); + DEC_PYCALLBACK_VOID_INTINT(DoSetVirtualSize); + + DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetSize); + DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetClientSize); + DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetPosition); + + DEC_PYCALLBACK_SIZE_const(DoGetVirtualSize); + DEC_PYCALLBACK_SIZE_const(DoGetBestSize); + + DEC_PYCALLBACK__(InitDialog); + DEC_PYCALLBACK_BOOL_(TransferDataFromWindow); + DEC_PYCALLBACK_BOOL_(TransferDataToWindow); + DEC_PYCALLBACK_BOOL_(Validate); + + DEC_PYCALLBACK_BOOL_const(AcceptsFocus); + DEC_PYCALLBACK_BOOL_const(AcceptsFocusFromKeyboard); + DEC_PYCALLBACK_SIZE_const(GetMaxSize); + + PYPRIVATE; +}; +IMPLEMENT_DYNAMIC_CLASS(wxPyWindow, wxWindow); -// PYPRIVATE; -// }; +IMP_PYCALLBACK_VOID_INT4(wxPyWindow, wxWindow, DoMoveWindow); +IMP_PYCALLBACK_VOID_INT5(wxPyWindow, wxWindow, DoSetSize); +IMP_PYCALLBACK_VOID_INTINT(wxPyWindow, wxWindow, DoSetClientSize); +IMP_PYCALLBACK_VOID_INTINT(wxPyWindow, wxWindow, DoSetVirtualSize); +IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyWindow, wxWindow, DoGetSize); +IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyWindow, wxWindow, DoGetClientSize); +IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyWindow, wxWindow, DoGetPosition); -// %} +IMP_PYCALLBACK_SIZE_const(wxPyWindow, wxWindow, DoGetVirtualSize); +IMP_PYCALLBACK_SIZE_const(wxPyWindow, wxWindow, DoGetBestSize); +IMP_PYCALLBACK__(wxPyWindow, wxWindow, InitDialog); +IMP_PYCALLBACK_BOOL_(wxPyWindow, wxWindow, TransferDataFromWindow); +IMP_PYCALLBACK_BOOL_(wxPyWindow, wxWindow, TransferDataToWindow); +IMP_PYCALLBACK_BOOL_(wxPyWindow, wxWindow, Validate); + +IMP_PYCALLBACK_BOOL_const(wxPyWindow, wxWindow, AcceptsFocus); +IMP_PYCALLBACK_BOOL_const(wxPyWindow, wxWindow, AcceptsFocusFromKeyboard); +IMP_PYCALLBACK_SIZE_const(wxPyWindow, wxWindow, GetMaxSize); + +%} + +// And now the one for SWIG to see +class wxPyWindow : public wxWindow +{ +public: + wxPyWindow(wxWindow* parent, const wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxString& name = wxPyPanelNameStr); + + void _setCallbackInfo(PyObject* self, PyObject* _class); + %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyWindow)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + + + 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); + void base_DoSetClientSize(int width, int height); + void base_DoSetVirtualSize( int x, int y ); + + void base_DoGetSize( int *OUTPUT, int *OUTPUT ) const; + void base_DoGetClientSize( int *OUTPUT, int *OUTPUT ) const; + void base_DoGetPosition( int *OUTPUT, int *OUTPUT ) const; + + wxSize base_DoGetVirtualSize() const; + wxSize base_DoGetBestSize() const; + + void base_InitDialog(); + bool base_TransferDataToWindow(); + bool base_TransferDataFromWindow(); + bool base_Validate(); + + bool base_AcceptsFocus() const; + bool base_AcceptsFocusFromKeyboard() const; + wxSize base_GetMaxSize() const; +} + +//--------------------------------------------------------------------------- +// Do the same thing for wxControl + + +%{ // C++ version of Python aware wxControl +class wxPyControl : public wxControl +{ + DECLARE_DYNAMIC_CLASS(wxPyControl) +public: + wxPyControl() : wxControl() {} + wxPyControl(wxWindow* parent, const wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxValidator& validator=wxDefaultValidator, + const wxString& name = wxPyControlNameStr) + : wxControl(parent, id, pos, size, style, validator, name) {} + + + DEC_PYCALLBACK_VOID_INT4(DoMoveWindow); + DEC_PYCALLBACK_VOID_INT5(DoSetSize); + DEC_PYCALLBACK_VOID_INTINT(DoSetClientSize); + DEC_PYCALLBACK_VOID_INTINT(DoSetVirtualSize); + + DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetSize); + DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetClientSize); + DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetPosition); + + DEC_PYCALLBACK_SIZE_const(DoGetVirtualSize); + DEC_PYCALLBACK_SIZE_const(DoGetBestSize); + + DEC_PYCALLBACK__(InitDialog); + DEC_PYCALLBACK_BOOL_(TransferDataFromWindow); + DEC_PYCALLBACK_BOOL_(TransferDataToWindow); + DEC_PYCALLBACK_BOOL_(Validate); + + DEC_PYCALLBACK_BOOL_const(AcceptsFocus); + DEC_PYCALLBACK_BOOL_const(AcceptsFocusFromKeyboard); + DEC_PYCALLBACK_SIZE_const(GetMaxSize); + + PYPRIVATE; +}; + +IMPLEMENT_DYNAMIC_CLASS(wxPyControl, wxControl); + +IMP_PYCALLBACK_VOID_INT4(wxPyControl, wxControl, DoMoveWindow); +IMP_PYCALLBACK_VOID_INT5(wxPyControl, wxControl, DoSetSize); +IMP_PYCALLBACK_VOID_INTINT(wxPyControl, wxControl, DoSetClientSize); +IMP_PYCALLBACK_VOID_INTINT(wxPyControl, wxControl, DoSetVirtualSize); + +IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyControl, wxControl, DoGetSize); +IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyControl, wxControl, DoGetClientSize); +IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyControl, wxControl, DoGetPosition); + +IMP_PYCALLBACK_SIZE_const(wxPyControl, wxControl, DoGetVirtualSize); +IMP_PYCALLBACK_SIZE_const(wxPyControl, wxControl, DoGetBestSize); + +IMP_PYCALLBACK__(wxPyControl, wxControl, InitDialog); +IMP_PYCALLBACK_BOOL_(wxPyControl, wxControl, TransferDataFromWindow); +IMP_PYCALLBACK_BOOL_(wxPyControl, wxControl, TransferDataToWindow); +IMP_PYCALLBACK_BOOL_(wxPyControl, wxControl, Validate); + +IMP_PYCALLBACK_BOOL_const(wxPyControl, wxControl, AcceptsFocus); +IMP_PYCALLBACK_BOOL_const(wxPyControl, wxControl, AcceptsFocusFromKeyboard); +IMP_PYCALLBACK_SIZE_const(wxPyControl, wxControl, GetMaxSize); + +%} + +// And now the one for SWIG to see +class wxPyControl : public wxControl +{ +public: + wxPyControl(wxWindow* parent, const wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxValidator& validator=wxDefaultValidator, + const wxString& name = wxPyControlNameStr); + + void _setCallbackInfo(PyObject* self, PyObject* _class); + %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyControl)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + + + 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); + void base_DoSetClientSize(int width, int height); + void base_DoSetVirtualSize( int x, int y ); + + void base_DoGetSize( int *OUTPUT, int *OUTPUT ) const; + void base_DoGetClientSize( int *OUTPUT, int *OUTPUT ) const; + void base_DoGetPosition( int *OUTPUT, int *OUTPUT ) const; + + wxSize base_DoGetVirtualSize() const; + wxSize base_DoGetBestSize() const; + + void base_InitDialog(); + bool base_TransferDataToWindow(); + bool base_TransferDataFromWindow(); + bool base_Validate(); + + bool base_AcceptsFocus() const; + bool base_AcceptsFocusFromKeyboard() const; + wxSize base_GetMaxSize() const; +} //--------------------------------------------------------------------------- diff --git a/wxPython/wxPython/lib/buttons.py b/wxPython/wxPython/lib/buttons.py index a55ba391c5..3098dc6590 100644 --- a/wxPython/wxPython/lib/buttons.py +++ b/wxPython/wxPython/lib/buttons.py @@ -52,7 +52,7 @@ class wxGenButtonEvent(wxPyCommandEvent): #---------------------------------------------------------------------- -class wxGenButton(wxControl): +class wxGenButton(wxPyControl): labelDelta = 1 def __init__(self, parent, ID, label, @@ -61,7 +61,7 @@ class wxGenButton(wxControl): name = "genbutton"): if style == 0: style = wxNO_BORDER - wxControl.__init__(self, parent, ID, pos, size, style, validator, name) + wxPyControl.__init__(self, parent, ID, pos, size, style, validator, name) self.up = true self.bezelWidth = 2 @@ -79,6 +79,7 @@ class wxGenButton(wxControl): EVT_LEFT_DOWN(self, self.OnLeftDown) EVT_LEFT_UP(self, self.OnLeftUp) + EVT_LEFT_DCLICK(self, self.OnLeftDown) EVT_MOTION(self, self.OnMotion) EVT_SET_FOCUS(self, self.OnGainFocus) EVT_KILL_FOCUS(self, self.OnLoseFocus) @@ -97,25 +98,36 @@ class wxGenButton(wxControl): size = wxSize(-1,-1) if type(size) == type(()): size = wxSize(size[0], size[1]) + size = wxSize(size.width, size.height) # make a copy + + best = self.GetBestSize() + if size.width == -1: + size.width = best.width + if size.height == -1: + size.height = best.height + + self.SetSize(size) - # make a new size so we don't mess with the one passed in - size = wxSize(size.width, size.height) + def DoGetBestSize(self): + """Overridden base class virtual. Determines the best size of the + button based on the label and bezel size.""" w, h, useMin = self._GetLabelSize() defSize = wxButton_GetDefaultSize() - if size.width == -1: - size.width = 12 + w - if useMin and size.width < defSize.width: - size.width = defSize.width - if size.height == -1: - size.height = 11 + h - if useMin and size.height < defSize.height: - size.height = defSize.height + width = 12 + w + if useMin and width < defSize.width: + width = defSize.width + height = 11 + h + if useMin and height < defSize.height: + height = defSize.height + width = width + self.bezelWidth - 1 + height = height + self.bezelWidth - 1 + return (width, height) - size.width = size.width + self.bezelWidth - 1 - size.height = size.height + self.bezelWidth - 1 - self.SetSize(size) + def AcceptsFocus(self): + """Overridden base class virtual.""" + return self.IsShown() and self.IsEnabled() def SetBezelWidth(self, width): @@ -151,7 +163,8 @@ class wxGenButton(wxControl): def SetBackgroundColour(self, colour): - wxControl.SetBackgroundColour(self, colour) + wxPyControl.SetBackgroundColour(self, colour) + colour = self.GetBackgroundColour() # Calculate a new set of highlight and shadow colours based on # the new background colour. Works okay if the colour is dark... @@ -174,6 +187,7 @@ class wxGenButton(wxControl): evt = wxGenButtonEvent(wxEVT_COMMAND_BUTTON_CLICKED, self.GetId()) evt.SetIsDown(not self.up) evt.SetButtonObj(self) + evt.SetEventObject(self) self.GetEventHandler().ProcessEvent(evt) @@ -263,6 +277,7 @@ class wxGenButton(wxControl): self.Refresh() event.Skip() + def OnMotion(self, event): if not self.IsEnabled(): return -- 2.45.2