From 4416b50837c52b62bd0e21c05bcc29a129e97631 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Fri, 30 Nov 2001 23:15:05 +0000 Subject: [PATCH] wxTipWindow is now a wxPopupTransientWindow instead of a wxFrame. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12776 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- wxPython/demo/ContextHelp.py | 2 +- wxPython/demo/wxPopupWindow.py | 4 -- wxPython/src/frames.i | 13 ---- wxPython/src/msw/frames.cpp | 107 --------------------------------- wxPython/src/msw/frames.py | 15 ----- wxPython/src/msw/windows3.cpp | 107 +++++++++++++++++++++++++++++++++ wxPython/src/msw/windows3.py | 15 +++++ wxPython/src/windows3.i | 16 ++++- 8 files changed, 138 insertions(+), 141 deletions(-) diff --git a/wxPython/demo/ContextHelp.py b/wxPython/demo/ContextHelp.py index d66719655c..2c2a567ab7 100644 --- a/wxPython/demo/ContextHelp.py +++ b/wxPython/demo/ContextHelp.py @@ -64,7 +64,7 @@ class TestPanel(wxPanel): def OnCtxHelp2(self, evt): - self.log.write("OnCtxHelp: %s" % evt) + self.log.write("OnCtxHelp: %s\n" % evt) tip = wxTipWindow(self, "This is a wxTipWindow") diff --git a/wxPython/demo/wxPopupWindow.py b/wxPython/demo/wxPopupWindow.py index c4d163e9ff..5f6477804e 100644 --- a/wxPython/demo/wxPopupWindow.py +++ b/wxPython/demo/wxPopupWindow.py @@ -70,10 +70,6 @@ class TestTransientPopup(wxPopupTransientWindow): sz = st.GetBestSize() panel.SetSize( (sz.width+20, sz.height+20) ) self.SetSize(panel.GetSize()) -## self.SetBackgroundColour("#FFB6C1") -## b = wxButton(self, -1, "this is a Button", (10,10)) -## sz = b.GetBestSize() -## self.SetSize( (sz.width+20, sz.height+20) ) def ProcessLeftDown(self, evt): diff --git a/wxPython/src/frames.i b/wxPython/src/frames.i index 3dfe261ea7..7f76d6e0c4 100644 --- a/wxPython/src/frames.i +++ b/wxPython/src/frames.i @@ -16,7 +16,6 @@ %{ #include "helpers.h" #include -#include %} //---------------------------------------------------------------------- @@ -230,18 +229,6 @@ public: //--------------------------------------------------------------------------- -class wxTipWindow : public wxFrame -{ -public: - wxTipWindow(wxWindow *parent, - const wxString& text, - wxCoord maxLength = 100); - - %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" -}; - - -//--------------------------------------------------------------------------- diff --git a/wxPython/src/msw/frames.cpp b/wxPython/src/msw/frames.cpp index 9c597fbe7d..14e7ea6346 100644 --- a/wxPython/src/msw/frames.cpp +++ b/wxPython/src/msw/frames.cpp @@ -57,7 +57,6 @@ extern PyObject *SWIG_newvarlink(void); #include "helpers.h" #include -#include static PyObject* t_output_helper(PyObject* target, PyObject* o) { @@ -2063,108 +2062,7 @@ static PyObject *_wrap_wxMiniFrame_Create(PyObject *self, PyObject *args, PyObje return _resultobj; } -static void *SwigwxTipWindowTowxFrame(void *ptr) { - wxTipWindow *src; - wxFrame *dest; - src = (wxTipWindow *) ptr; - dest = (wxFrame *) src; - return (void *) dest; -} - -static void *SwigwxTipWindowTowxTopLevelWindow(void *ptr) { - wxTipWindow *src; - wxTopLevelWindow *dest; - src = (wxTipWindow *) ptr; - dest = (wxTopLevelWindow *) src; - return (void *) dest; -} - -static void *SwigwxTipWindowTowxWindow(void *ptr) { - wxTipWindow *src; - wxWindow *dest; - src = (wxTipWindow *) ptr; - dest = (wxWindow *) src; - return (void *) dest; -} - -static void *SwigwxTipWindowTowxEvtHandler(void *ptr) { - wxTipWindow *src; - wxEvtHandler *dest; - src = (wxTipWindow *) ptr; - dest = (wxEvtHandler *) src; - return (void *) dest; -} - -static void *SwigwxTipWindowTowxObject(void *ptr) { - wxTipWindow *src; - wxObject *dest; - src = (wxTipWindow *) ptr; - dest = (wxObject *) src; - return (void *) dest; -} - -#define new_wxTipWindow(_swigarg0,_swigarg1,_swigarg2) (new wxTipWindow(_swigarg0,_swigarg1,_swigarg2)) -static PyObject *_wrap_new_wxTipWindow(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - wxTipWindow * _result; - wxWindow * _arg0; - wxString * _arg1; - wxCoord _arg2 = (wxCoord ) 100; - PyObject * _argo0 = 0; - PyObject * _obj1 = 0; - char *_kwnames[] = { "parent","text","maxLength", NULL }; - char _ptemp[128]; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:new_wxTipWindow",_kwnames,&_argo0,&_obj1,&_arg2)) - 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_wxTipWindow. Expected _wxWindow_p."); - return NULL; - } - } -{ -#if PYTHON_API_VERSION >= 1009 - char* tmpPtr; int tmpSize; - if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) { - PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); - return NULL; - } - if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1) - return NULL; - _arg1 = new wxString(tmpPtr, tmpSize); -#else - if (!PyString_Check(_obj1)) { - PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); - return NULL; - } - _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1)); -#endif -} -{ - wxPy_BEGIN_ALLOW_THREADS; - _result = (wxTipWindow *)new_wxTipWindow(_arg0,*_arg1,_arg2); - - wxPy_END_ALLOW_THREADS; - if (PyErr_Occurred()) return NULL; -} if (_result) { - SWIG_MakePtr(_ptemp, (char *) _result,"_wxTipWindow_p"); - _resultobj = Py_BuildValue("s",_ptemp); - } else { - Py_INCREF(Py_None); - _resultobj = Py_None; - } -{ - if (_obj1) - delete _arg1; -} - return _resultobj; -} - static PyMethodDef framescMethods[] = { - { "new_wxTipWindow", (PyCFunction) _wrap_new_wxTipWindow, METH_VARARGS | METH_KEYWORDS }, { "wxMiniFrame_Create", (PyCFunction) _wrap_wxMiniFrame_Create, METH_VARARGS | METH_KEYWORDS }, { "new_wxPreMiniFrame", (PyCFunction) _wrap_new_wxPreMiniFrame, METH_VARARGS | METH_KEYWORDS }, { "new_wxMiniFrame", (PyCFunction) _wrap_new_wxMiniFrame, METH_VARARGS | METH_KEYWORDS }, @@ -2239,7 +2137,6 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_size_t","_int",0}, { "_size_t","_wxWindowID",0}, { "_size_t","_uint",0}, - { "_wxTopLevelWindow","_wxTipWindow",SwigwxTipWindowTowxTopLevelWindow}, { "_wxTopLevelWindow","_wxMiniFrame",SwigwxMiniFrameTowxTopLevelWindow}, { "_wxTopLevelWindow","_wxDialog",SwigwxDialogTowxTopLevelWindow}, { "_wxTopLevelWindow","_wxFrame",SwigwxFrameTowxTopLevelWindow}, @@ -2270,7 +2167,6 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_WXTYPE","_unsigned_short",0}, { "_unsigned_short","_WXTYPE",0}, { "_unsigned_short","_short",0}, - { "_wxObject","_wxTipWindow",SwigwxTipWindowTowxObject}, { "_wxObject","_wxMiniFrame",SwigwxMiniFrameTowxObject}, { "_wxObject","_wxDialog",SwigwxDialogTowxObject}, { "_wxObject","_wxFrame",SwigwxFrameTowxObject}, @@ -2288,7 +2184,6 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_short","_WXTYPE",0}, { "_short","_unsigned_short",0}, { "_short","_signed_short",0}, - { "_wxFrame","_wxTipWindow",SwigwxTipWindowTowxFrame}, { "_wxFrame","_wxMiniFrame",SwigwxMiniFrameTowxFrame}, { "_wxWindowID","_wxCoord",0}, { "_wxWindowID","_wxPrintQuality",0}, @@ -2324,12 +2219,10 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxCoord","_size_t",0}, { "_wxCoord","_time_t",0}, { "_wxCoord","_wxPrintQuality",0}, - { "_wxEvtHandler","_wxTipWindow",SwigwxTipWindowTowxEvtHandler}, { "_wxEvtHandler","_wxMiniFrame",SwigwxMiniFrameTowxEvtHandler}, { "_wxEvtHandler","_wxDialog",SwigwxDialogTowxEvtHandler}, { "_wxEvtHandler","_wxFrame",SwigwxFrameTowxEvtHandler}, { "_wxEvtHandler","_wxTopLevelWindow",SwigwxTopLevelWindowTowxEvtHandler}, - { "_wxWindow","_wxTipWindow",SwigwxTipWindowTowxWindow}, { "_wxWindow","_wxMiniFrame",SwigwxMiniFrameTowxWindow}, { "_wxWindow","_wxDialog",SwigwxDialogTowxWindow}, { "_wxWindow","_wxFrame",SwigwxFrameTowxWindow}, diff --git a/wxPython/src/msw/frames.py b/wxPython/src/msw/frames.py index 085ba55dda..8a267e59ef 100644 --- a/wxPython/src/msw/frames.py +++ b/wxPython/src/msw/frames.py @@ -212,21 +212,6 @@ def wxPreMiniFrame(*_args,**_kwargs): return val -class wxTipWindowPtr(wxFramePtr): - def __init__(self,this): - self.this = this - self.thisown = 0 - def __repr__(self): - return "" % (self.this,) -class wxTipWindow(wxTipWindowPtr): - def __init__(self,*_args,**_kwargs): - self.this = apply(framesc.new_wxTipWindow,_args,_kwargs) - self.thisown = 1 - self._setOORInfo(self) - - - - #-------------- FUNCTION WRAPPERS ------------------ diff --git a/wxPython/src/msw/windows3.cpp b/wxPython/src/msw/windows3.cpp index effbc4e5c6..1baf49804c 100644 --- a/wxPython/src/msw/windows3.cpp +++ b/wxPython/src/msw/windows3.cpp @@ -60,6 +60,7 @@ extern PyObject *SWIG_newvarlink(void); #include #ifndef __WXMAC__ #include +#include #endif @@ -2391,7 +2392,108 @@ static PyObject *_wrap_wxPopupTransientWindow_Dismiss(PyObject *self, PyObject * return _resultobj; } +static void *SwigwxTipWindowTowxPyPopupTransientWindow(void *ptr) { + wxTipWindow *src; + wxPyPopupTransientWindow *dest; + src = (wxTipWindow *) ptr; + dest = (wxPyPopupTransientWindow *) src; + return (void *) dest; +} + +static void *SwigwxTipWindowTowxPopupWindow(void *ptr) { + wxTipWindow *src; + wxPopupWindow *dest; + src = (wxTipWindow *) ptr; + dest = (wxPopupWindow *) src; + return (void *) dest; +} + +static void *SwigwxTipWindowTowxWindow(void *ptr) { + wxTipWindow *src; + wxWindow *dest; + src = (wxTipWindow *) ptr; + dest = (wxWindow *) src; + return (void *) dest; +} + +static void *SwigwxTipWindowTowxEvtHandler(void *ptr) { + wxTipWindow *src; + wxEvtHandler *dest; + src = (wxTipWindow *) ptr; + dest = (wxEvtHandler *) src; + return (void *) dest; +} + +static void *SwigwxTipWindowTowxObject(void *ptr) { + wxTipWindow *src; + wxObject *dest; + src = (wxTipWindow *) ptr; + dest = (wxObject *) src; + return (void *) dest; +} + +#define new_wxTipWindow(_swigarg0,_swigarg1,_swigarg2) (new wxTipWindow(_swigarg0,_swigarg1,_swigarg2)) +static PyObject *_wrap_new_wxTipWindow(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTipWindow * _result; + wxWindow * _arg0; + wxString * _arg1; + wxCoord _arg2 = (wxCoord ) 100; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + char *_kwnames[] = { "parent","text","maxLength", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:new_wxTipWindow",_kwnames,&_argo0,&_obj1,&_arg2)) + 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_wxTipWindow. Expected _wxWindow_p."); + return NULL; + } + } +{ +#if PYTHON_API_VERSION >= 1009 + char* tmpPtr; int tmpSize; + if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) { + PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); + return NULL; + } + if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1) + return NULL; + _arg1 = new wxString(tmpPtr, tmpSize); +#else + if (!PyString_Check(_obj1)) { + PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); + return NULL; + } + _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1)); +#endif +} +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (wxTipWindow *)new_wxTipWindow(_arg0,*_arg1,_arg2); + + wxPy_END_ALLOW_THREADS; + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxTipWindow_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + static PyMethodDef windows3cMethods[] = { + { "new_wxTipWindow", (PyCFunction) _wrap_new_wxTipWindow, METH_VARARGS | METH_KEYWORDS }, { "wxPopupTransientWindow_Dismiss", (PyCFunction) _wrap_wxPopupTransientWindow_Dismiss, METH_VARARGS | METH_KEYWORDS }, { "wxPopupTransientWindow_Popup", (PyCFunction) _wrap_wxPopupTransientWindow_Popup, METH_VARARGS | METH_KEYWORDS }, { "wxPopupTransientWindow__setCallbackInfo", (PyCFunction) _wrap_wxPopupTransientWindow__setCallbackInfo, METH_VARARGS | METH_KEYWORDS }, @@ -2479,6 +2581,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxPrintQuality","_EBool",0}, { "_wxPrintQuality","_size_t",0}, { "_wxPrintQuality","_time_t",0}, + { "_wxPyPopupTransientWindow","_wxTipWindow",SwigwxTipWindowTowxPyPopupTransientWindow}, { "_byte","_unsigned_char",0}, { "_long","_unsigned_long",0}, { "_long","_signed_long",0}, @@ -2490,6 +2593,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_size_t","_int",0}, { "_size_t","_wxWindowID",0}, { "_size_t","_uint",0}, + { "_wxPopupWindow","_wxTipWindow",SwigwxTipWindowTowxPopupWindow}, { "_wxPopupWindow","_wxPyPopupTransientWindow",SwigwxPyPopupTransientWindowTowxPopupWindow}, { "_uint","_wxCoord",0}, { "_uint","_wxPrintQuality",0}, @@ -2519,6 +2623,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_WXTYPE","_unsigned_short",0}, { "_unsigned_short","_WXTYPE",0}, { "_unsigned_short","_short",0}, + { "_wxObject","_wxTipWindow",SwigwxTipWindowTowxObject}, { "_wxObject","_wxPyPopupTransientWindow",SwigwxPyPopupTransientWindowTowxObject}, { "_wxObject","_wxPopupWindow",SwigwxPopupWindowTowxObject}, { "_wxObject","_wxLayoutAlgorithm",SwigwxLayoutAlgorithmTowxObject}, @@ -2574,10 +2679,12 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxCoord","_size_t",0}, { "_wxCoord","_time_t",0}, { "_wxCoord","_wxPrintQuality",0}, + { "_wxEvtHandler","_wxTipWindow",SwigwxTipWindowTowxEvtHandler}, { "_wxEvtHandler","_wxPyPopupTransientWindow",SwigwxPyPopupTransientWindowTowxEvtHandler}, { "_wxEvtHandler","_wxPopupWindow",SwigwxPopupWindowTowxEvtHandler}, { "_wxEvtHandler","_wxSashLayoutWindow",SwigwxSashLayoutWindowTowxEvtHandler}, { "_wxEvtHandler","_wxSashWindow",SwigwxSashWindowTowxEvtHandler}, + { "_wxWindow","_wxTipWindow",SwigwxTipWindowTowxWindow}, { "_wxWindow","_wxPyPopupTransientWindow",SwigwxPyPopupTransientWindowTowxWindow}, { "_wxWindow","_wxPopupWindow",SwigwxPopupWindowTowxWindow}, { "_wxWindow","_wxSashLayoutWindow",SwigwxSashLayoutWindowTowxWindow}, diff --git a/wxPython/src/msw/windows3.py b/wxPython/src/msw/windows3.py index 1c9ef110f6..ff840528be 100644 --- a/wxPython/src/msw/windows3.py +++ b/wxPython/src/msw/windows3.py @@ -324,6 +324,21 @@ def wxPrePopupTransientWindow(*_args,**_kwargs): return val +class wxTipWindowPtr(wxPopupTransientWindowPtr): + def __init__(self,this): + self.this = this + self.thisown = 0 + def __repr__(self): + return "" % (self.this,) +class wxTipWindow(wxTipWindowPtr): + def __init__(self,*_args,**_kwargs): + self.this = apply(windows3c.new_wxTipWindow,_args,_kwargs) + self.thisown = 1 + self._setOORInfo(self) + + + + #-------------- FUNCTION WRAPPERS ------------------ diff --git a/wxPython/src/windows3.i b/wxPython/src/windows3.i index 1b0179a824..570e9fba29 100644 --- a/wxPython/src/windows3.i +++ b/wxPython/src/windows3.i @@ -18,6 +18,7 @@ #include #ifndef __WXMAC__ #include +#include #endif %} @@ -266,6 +267,19 @@ public: virtual void Dismiss(); }; -#endif //--------------------------------------------------------------------------- +class wxTipWindow : public wxPyPopupTransientWindow +{ +public: + wxTipWindow(wxWindow *parent, + const wxString& text, + wxCoord maxLength = 100); + + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" +}; + + +//--------------------------------------------------------------------------- + +#endif