X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e9159fe8e8f1b3653c506805cbb79280aa2a0f38..ccdcde00d9ae27ca20ff6c3c9495918a0ec725aa:/wxPython/src/windows.i diff --git a/wxPython/src/windows.i b/wxPython/src/windows.i index c245360dc6..e1e0cae794 100644 --- a/wxPython/src/windows.i +++ b/wxPython/src/windows.i @@ -33,6 +33,14 @@ %pragma(python) code = "import wx" +//---------------------------------------------------------------------- + +%{ + // Put some wx default wxChar* values into wxStrings. + DECLARE_DEF_STRING(PanelNameStr); + static const wxString wxPyEmptyString(wxT("")); +%} + //--------------------------------------------------------------------------- class wxEvtHandler : public wxObject { @@ -79,7 +87,7 @@ public: %addmethods { void _setOORInfo(PyObject* _self) { - self->SetClientObject(new wxPyClientData(_self)); + self->SetClientObject(new wxPyOORClientData(_self)); } } }; @@ -174,20 +182,19 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, - char* name = "panel"); + const wxString& name = wxPyPanelNameStr); %name(wxPreWindow)wxWindow(); bool Create(wxWindow* parent, const wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, - char* name = "panel"); + const wxString& name = wxPyPanelNameStr); %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" %pragma(python) addtomethod = "wxPreWindow:val._setOORInfo(val)" - void CaptureMouse(); void Center(int direction = wxBOTH); void Centre(int direction = wxBOTH); void CentreOnParent(int direction = wxBOTH ); @@ -305,7 +312,6 @@ public: void Refresh(bool eraseBackground = TRUE, const wxRect* rect = NULL); void RefreshRect(const wxRect& rect); - void ReleaseMouse(); void RemoveChild(wxWindow* child); bool Reparent( wxWindow* newParent ); @@ -356,7 +362,6 @@ public: bool TransferDataToWindow(); void UpdateWindowUI(); bool Validate(); - void WarpPointer(int x, int y); %name(ConvertDialogPointToPixels) wxPoint ConvertDialogToPixels(const wxPoint& pt); %name(ConvertDialogSizeToPixels) wxSize ConvertDialogToPixels(const wxSize& sz); @@ -430,6 +435,23 @@ public: wxWindow* GetDefaultItem(); wxWindow* SetDefaultItem(wxWindow *btn); + + + // move the mouse to the specified position + void WarpPointer(int x, int y); + + // start or end mouse capture, these functions maintain the stack of + // windows having captured the mouse and after calling ReleaseMouse() + // the mouse is not released but returns to the window which had had + // captured it previously (if any) + void CaptureMouse(); + void ReleaseMouse(); + + // get the window which currently captures the mouse or NULL + static wxWindow *GetCapture(); + + // does this window have the capture? + bool HasCapture() const; }; @@ -471,7 +493,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL, - const char* name = "panel"); + const wxString& name = wxPyPanelNameStr); %name(wxPrePanel)wxPanel(); bool Create(wxWindow* parent, @@ -479,7 +501,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL, - const char* name = "panel"); + const wxString& name = wxPyPanelNameStr); %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" %pragma(python) addtomethod = "wxPrePanel:val._setOORInfo(val)" @@ -502,7 +524,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxHSCROLL | wxVSCROLL, - char* name = "scrolledWindow"); + const wxString& name = wxPyPanelNameStr); %name(wxPreScrolledWindow)wxScrolledWindow(); bool Create(wxWindow* parent, @@ -510,7 +532,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxHSCROLL | wxVSCROLL, - char* name = "scrolledWindow"); + const wxString& name = wxPyPanelNameStr); %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" %pragma(python) addtomethod = "wxPreScrolledWindow:val._setOORInfo(val)" @@ -569,62 +591,62 @@ public: class wxMenu : public wxEvtHandler { public: - wxMenu(const wxString& title = wxEmptyString, long style = 0); + wxMenu(const wxString& title = wxPyEmptyString, long style = 0); %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" void Append(int id, const wxString& item, - const wxString& helpString = wxEmptyString, - wxItemKind kind = wxItem_Normal); + const wxString& helpString = wxPyEmptyString, + wxItemKind kind = wxITEM_NORMAL); %name(AppendMenu)void Append(int id, const wxString& item, wxMenu *subMenu, - const wxString& helpString = wxEmptyString); + const wxString& helpString = wxPyEmptyString); %name(AppendItem)void Append(const wxMenuItem* item); void AppendCheckItem(int id, const wxString& text, - const wxString& help = wxEmptyString); + const wxString& help = wxPyEmptyString); void AppendRadioItem(int id, const wxString& text, - const wxString& help = wxEmptyString); + const wxString& help = wxPyEmptyString); void AppendSeparator(); void Insert(size_t pos, int id, const wxString& text, - const wxString& help = wxEmptyString, - wxItemKind kind = wxItem_Normal); + const wxString& help = wxPyEmptyString, + wxItemKind kind = wxITEM_NORMAL); void InsertSeparator(size_t pos); void InsertCheckItem(size_t pos, int id, const wxString& text, - const wxString& help = wxEmptyString); + const wxString& help = wxPyEmptyString); void InsertRadioItem(size_t pos, int id, const wxString& text, - const wxString& help = wxEmptyString); + const wxString& help = wxPyEmptyString); %name(InsertMenu)void Insert(size_t pos, int id, const wxString& text, wxMenu *submenu, - const wxString& help = wxEmptyString); + const wxString& help = wxPyEmptyString); %name(InsertItem)bool Insert(size_t pos, wxMenuItem *item); void Prepend(int id, const wxString& text, - const wxString& help = wxEmptyString, - wxItemKind kind = wxItem_Normal); + const wxString& help = wxPyEmptyString, + wxItemKind kind = wxITEM_NORMAL); void PrependSeparator(); void PrependCheckItem(int id, const wxString& text, - const wxString& help = wxEmptyString); + const wxString& help = wxPyEmptyString); void PrependRadioItem(int id, const wxString& text, - const wxString& help = wxEmptyString); + const wxString& help = wxPyEmptyString); %name(PrependMenu)void Prepend(int id, const wxString& text, wxMenu *submenu, - const wxString& help = wxEmptyString); + const wxString& help = wxPyEmptyString); %name(PrependItem)void Prepend(wxMenuItem *item); @@ -724,9 +746,9 @@ public: class wxMenuItem : public wxObject { public: wxMenuItem(wxMenu* parentMenu=NULL, int id=wxID_SEPARATOR, - const wxString& text = wxEmptyString, - const wxString& help = wxEmptyString, - wxItemKind kind = wxItem_Normal, + const wxString& text = wxPyEmptyString, + const wxString& help = wxPyEmptyString, + wxItemKind kind = wxITEM_NORMAL, wxMenu* subMenu = NULL);