X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e6056257ab676ea10a51ef96e19b1f1092f95b40..0c8392cac2d36d0d211432e71d3b24d3d93c22db:/wxPython/src/windows3.i?ds=inline diff --git a/wxPython/src/windows3.i b/wxPython/src/windows3.i index 15dddb012f..d74d808dec 100644 --- a/wxPython/src/windows3.i +++ b/wxPython/src/windows3.i @@ -16,9 +16,8 @@ #include "helpers.h" #include #include -#ifndef __WXMAC__ #include -#endif +#include %} //---------------------------------------------------------------------- @@ -37,6 +36,15 @@ %pragma(python) code = "import wx" +//---------------------------------------------------------------------- + +%{ + // Put some wx default wxChar* values into wxStrings. + static const wxChar* wxSashNameStr = wxT("sashWindow"); + DECLARE_DEF_STRING(SashNameStr); + static const wxChar* wxSashLayoutNameStr = wxT("layoutWindow"); + DECLARE_DEF_STRING(SashLayoutNameStr); +%} //--------------------------------------------------------------------------- enum wxSashEdgePosition { @@ -82,14 +90,14 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxCLIP_CHILDREN | wxSW_3D, - const char* name = "sashWindow"); + const wxString& name = wxPySashNameStr); %name(wxPreSashWindow)wxSashWindow(); bool Create(wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxCLIP_CHILDREN | wxSW_3D, - const char* name = "sashWindow"); + const wxString& name = wxPySashNameStr); %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" %pragma(python) addtomethod = "wxPreSashWindow:val._setOORInfo(val)" @@ -172,14 +180,14 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxCLIP_CHILDREN | wxSW_3D, - const char* name = "layoutWindow"); + const wxString& name = wxPySashLayoutNameStr); %name(wxPreSashLayoutWindow)wxSashLayoutWindow(); bool Create(wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxCLIP_CHILDREN | wxSW_3D, - const char* name = "layoutWindow"); + const wxString& name = wxPySashLayoutNameStr); %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" %pragma(python) addtomethod = "wxPreSashLayoutWindow:val._setOORInfo(val)" @@ -219,6 +227,7 @@ public: bool Create(wxWindow *parent, int flags = wxBORDER_NONE); + // the point must be given in screen coordinates! void Position(const wxPoint& ptOrigin, const wxSize& size); }; @@ -233,11 +242,14 @@ public: : wxPopupTransientWindow(parent, style) {} DEC_PYCALLBACK_BOOL_ME(ProcessLeftDown); + DEC_PYCALLBACK__(OnDismiss); + DEC_PYCALLBACK_BOOL_(CanDismiss); PYPRIVATE; }; IMP_PYCALLBACK_BOOL_ME(wxPyPopupTransientWindow, wxPopupTransientWindow, ProcessLeftDown); - +IMP_PYCALLBACK__(wxPyPopupTransientWindow, wxPopupTransientWindow, OnDismiss); +IMP_PYCALLBACK_BOOL_(wxPyPopupTransientWindow, wxPopupTransientWindow, CanDismiss); %} @@ -264,6 +276,65 @@ public: virtual void Dismiss(); }; -#endif +//--------------------------------------------------------------------------- + +class wxTipWindow : public wxPyPopupTransientWindow +{ +public: + %addmethods { + wxTipWindow(wxWindow *parent, + const wxString* text, + wxCoord maxLength = 100, + wxRect* rectBound = NULL) { + wxString tmp = *text; + return new wxTipWindow(parent, tmp, maxLength, NULL, rectBound); + } + } + + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + + // If rectBound is not NULL, the window will disappear automatically when + // the mouse leave the specified rect: note that rectBound should be in the + // screen coordinates! + void SetBoundingRect(const wxRect& rectBound); + + // Hide and destroy the window + void Close(); +}; + +#endif // ! __WXMAC__ + +//--------------------------------------------------------------------------- + +#ifdef __WXMAC__ + +%import frames.i + +class wxTipWindow : public wxFrame +{ +public: + %addmethods { + wxTipWindow(wxWindow *parent, + const wxString* text, + wxCoord maxLength = 100, + wxRect* rectBound = NULL) { + wxString tmp = *text; + return new wxTipWindow(parent, tmp, maxLength, NULL, rectBound); + } + } + + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + + // If rectBound is not NULL, the window will disappear automatically when + // the mouse leave the specified rect: note that rectBound should be in the + // screen coordinates! + void SetBoundingRect(const wxRect& rectBound); + + // Hide and destroy the window + void Close(); +}; + +#endif // __WXMAC__ + //---------------------------------------------------------------------------