X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/62bd087498a21a9e49723bd85c8d8a2ab71c4c35..21422dd796b2895e12fb2df4f3353d6cc9004d15:/utils/wxPython/src/events.i?ds=sidebyside diff --git a/utils/wxPython/src/events.i b/utils/wxPython/src/events.i index c3f8e0039a..fdc2a8ccfe 100644 --- a/utils/wxPython/src/events.i +++ b/utils/wxPython/src/events.i @@ -31,6 +31,9 @@ class wxEvent { public: + wxEvent(int id = 0); + ~wxEvent(); + wxObject* GetEventObject(); wxEventType GetEventType(); int GetId(); @@ -47,6 +50,7 @@ public: class wxSizeEvent : public wxEvent { public: + wxSizeEvent(const wxSize& sz, int id = 0); wxSize GetSize(); }; @@ -54,25 +58,28 @@ public: class wxCloseEvent : public wxEvent { public: -// ??? it's in the docs ??? bool GetSessionEnding(); + wxCloseEvent(int commandEventType = 0, int id = 0); + + void SetLoggingOff(bool loggingOff); bool GetLoggingOff(); void Veto(bool veto = TRUE); + bool CanVeto(); bool GetVeto(); - void SetForce(bool force); - bool GetForce(); + void SetCanVeto(bool canVeto); }; //--------------------------------------------------------------------------- class wxCommandEvent : public wxEvent { public: + wxCommandEvent(int commandEventType = 0, int id = 0); + bool Checked(); long GetExtraLong(); int GetInt(); int GetSelection(); - char* GetString(); + wxString GetString(); bool IsSelection(); - }; @@ -80,6 +87,20 @@ public: class wxScrollEvent: public wxCommandEvent { public: + wxScrollEvent(int commandType = 0, int id = 0, int pos = 0, + int orientation = 0); + + int GetOrientation(); + int GetPosition(); +}; + +//--------------------------------------------------------------------------- + +class wxScrollWinEvent: public wxEvent { +public: + wxScrollWinEvent(int commandType = 0, int pos = 0, + int orientation = 0); + int GetOrientation(); int GetPosition(); }; @@ -88,6 +109,7 @@ public: class wxSpinEvent : public wxScrollEvent { public: + wxSpinEvent(int commandType = 0, int id = 0); }; @@ -95,6 +117,8 @@ public: class wxMouseEvent: public wxEvent { public: + wxMouseEvent(int mouseEventType = 0); + bool IsButton(); bool ButtonDown(int but = -1); bool ButtonDClick(int but = -1); @@ -132,20 +156,41 @@ public: class wxKeyEvent: public wxEvent { public: + wxKeyEvent(int keyEventType); + bool ControlDown(); bool MetaDown(); bool AltDown(); bool ShiftDown(); long KeyCode(); - void Position(float *OUTPUT, float *OUTPUT); - float GetX(); - float GetY(); + + long GetX(); + long GetY(); + wxPoint GetPosition(); + %name(GetPositionTuple) void GetPosition(long* OUTPUT, long* OUTPUT); }; +//--------------------------------------------------------------------------- + +class wxNavigationKeyEvent : public wxCommandEvent { +public: + wxNavigationKeyEvent(); + + bool GetDirection(); + void SetDirection(bool bForward); + bool IsWindowChange(); + void SetWindowChange(bool bIs); + wxWindow* GetCurrentFocus(); + void SetCurrentFocus(wxWindow *win); +}; + + //--------------------------------------------------------------------------- class wxMoveEvent: public wxEvent { public: + wxMoveEvent(const wxPoint& pt, int id = 0); + wxPoint GetPosition(); }; @@ -153,6 +198,7 @@ public: class wxPaintEvent: public wxEvent { public: + wxPaintEvent(int id = 0); }; @@ -160,6 +206,8 @@ public: class wxEraseEvent: public wxEvent { public: + wxEraseEvent(int id = 0, wxDC* dc = NULL); + wxDC *GetDC(); }; @@ -167,13 +215,14 @@ public: class wxFocusEvent: public wxEvent { public: - + wxFocusEvent(WXTYPE eventType = 0, int id = 0); }; //--------------------------------------------------------------------------- class wxActivateEvent: public wxEvent{ public: + wxActivateEvent(WXTYPE eventType = 0, int active = TRUE, int id = 0); bool GetActive(); }; @@ -181,13 +230,14 @@ public: class wxInitDialogEvent: public wxEvent { public: - + wxInitDialogEvent(int id = 0); }; //--------------------------------------------------------------------------- class wxMenuEvent: public wxEvent { public: + wxMenuEvent(WXTYPE id = 0, int id = 0); int GetMenuId(); }; @@ -195,6 +245,7 @@ public: class wxShowEvent: public wxEvent { public: + wxShowEvent(int id = 0, int show = FALSE); void SetShow(bool show); bool GetShow(); }; @@ -203,19 +254,24 @@ public: class wxIconizeEvent: public wxEvent { public: + wxIconizeEvent(int id = 0); }; //--------------------------------------------------------------------------- class wxMaximizeEvent: public wxEvent { public: - + wxMaximizeEvent(int id = 0); }; //--------------------------------------------------------------------------- class wxJoystickEvent: public wxEvent { public: + wxJoystickEvent(int type = wxEVT_NULL, + int state = 0, + int joystick = wxJOYSTICK1, + int change = 0); wxPoint GetPosition(); int GetZPosition(); int GetButtonState(); @@ -264,6 +320,7 @@ public: class wxIdleEvent: public wxEvent { public: + wxIdleEvent(); void RequestMore(bool needMore = TRUE); bool MoreRequested(); }; @@ -272,6 +329,7 @@ public: class wxUpdateUIEvent: public wxEvent { public: + wxUpdateUIEvent(wxWindowID commandId = 0); bool GetChecked(); bool GetEnabled(); wxString GetText(); @@ -288,32 +346,177 @@ public: class wxSysColourChangedEvent: public wxEvent { public: + wxSysColourChangedEvent(); +}; + +//--------------------------------------------------------------------------- + +class wxNotifyEvent : public wxCommandEvent { +public: + wxNotifyEvent(int commandType = wxEVT_NULL, int id = 0); + bool IsAllowed(); + void Veto(); }; + //--------------------------------------------------------------------------- +class wxPaletteChangedEvent : public wxEvent { +public: + wxPaletteChangedEvent(wxWindowID id = 0); -///////////////////////////////////////////////////////////////////////////// -// -// $Log$ -// Revision 1.4 1998/11/16 00:00:55 RD -// Generic treectrl for wxPython/GTK compiles... -// -// Revision 1.3 1998/10/20 06:43:56 RD -// New wxTreeCtrl wrappers (untested) -// some changes in helpers -// etc. -// -// Revision 1.2 1998/08/15 07:36:33 RD -// - Moved the header in the .i files out of the code that gets put into -// the .cpp files. It caused CVS conflicts because of the RCS ID being -// different each time. -// -// - A few minor fixes. -// -// Revision 1.1 1998/08/09 08:25:50 RD -// Initial version -// -// + void SetChangedWindow(wxWindow* win); + wxWindow* GetChangedWindow(); + +}; + +//--------------------------------------------------------------------------- + +class wxQueryNewPaletteEvent : public wxEvent { +public: + wxQueryNewPaletteEvent(wxWindowID id = 0); + + void SetPaletteRealized(bool realized); + bool GetPaletteRealized(); +}; + + +//--------------------------------------------------------------------------- + +class wxWindowCreateEvent : public wxEvent { +public: + wxWindowCreateEvent(wxWindow *win = NULL); + + wxWindow *GetWindow(); +}; + +class wxWindowDestroyEvent : public wxEvent { +public: + wxWindowDestroyEvent(wxWindow *win = NULL); + + wxWindow *GetWindow(); +}; + + +//--------------------------------------------------------------------------- +//--------------------------------------------------------------------------- +//--------------------------------------------------------------------------- +// This one can be derived from in Python and passed through the event +// system without loosing anything so long as the Python data is saved with +// SetPyData... + +%{ +class wxPyEvent : public wxEvent { + DECLARE_DYNAMIC_CLASS(wxPyEvent) +public: + wxPyEvent(int id=0, PyObject* userData = Py_None) + : wxEvent(id) { + m_userData = userData; + Py_INCREF(m_userData); + } + + ~wxPyEvent() { + bool doSave = wxPyRestoreThread(); + Py_DECREF(m_userData); + wxPySaveThread(doSave); + } + + void SetPyData(PyObject* userData) { + bool doSave = wxPyRestoreThread(); + Py_DECREF(m_userData); + m_userData = userData; + Py_INCREF(m_userData); + wxPySaveThread(doSave); + } + + PyObject* GetPyData() const { + Py_INCREF(m_userData); + return m_userData; + } + + // This one is so the event object can be Cloned... + void CopyObject(wxObject& dest) const { + wxEvent::CopyObject(dest); + ((wxPyEvent*)&dest)->SetPyData(m_userData); + } + +private: + PyObject* m_userData; +}; + +IMPLEMENT_DYNAMIC_CLASS(wxPyEvent, wxEvent) + +%} + + +class wxPyEvent : public wxEvent { +public: + wxPyEvent(int id=0, PyObject* userData = Py_None); + ~wxPyEvent(); + + void SetPyData(PyObject* userData); + PyObject* GetPyData(); +}; + +//--------------------------------------------------------------------------- +// Same for this one except it is a wxCommandEvent and so will get passed up the +// containment heirarchy. + +%{ +class wxPyCommandEvent : public wxCommandEvent { + DECLARE_DYNAMIC_CLASS(wxPyCommandEvent) +public: + wxPyCommandEvent(wxEventType commandType = wxEVT_NULL, int id=0, PyObject* userData = Py_None) + : wxCommandEvent(commandType, id) { + m_userData = userData; + Py_INCREF(m_userData); + } + + ~wxPyCommandEvent() { + bool doSave = wxPyRestoreThread(); + Py_DECREF(m_userData); + wxPySaveThread(doSave); + } + + void SetPyData(PyObject* userData) { + bool doSave = wxPyRestoreThread(); + Py_DECREF(m_userData); + m_userData = userData; + Py_INCREF(m_userData); + wxPySaveThread(doSave); + } + + PyObject* GetPyData() const { + Py_INCREF(m_userData); + return m_userData; + } + + // This one is so the event object can be Cloned... + void CopyObject(wxObject& dest) const { + wxCommandEvent::CopyObject(dest); + ((wxPyCommandEvent*)&dest)->SetPyData(m_userData); + } + +private: + PyObject* m_userData; +}; + +IMPLEMENT_DYNAMIC_CLASS(wxPyCommandEvent, wxCommandEvent) + +%} + + +class wxPyCommandEvent : public wxCommandEvent { +public: + wxPyCommandEvent(wxEventType commandType = wxEVT_NULL, int id=0, PyObject* userData = Py_None); + ~wxPyCommandEvent(); + + void SetPyData(PyObject* userData); + PyObject* GetPyData(); +}; + + +//--------------------------------------------------------------------------- +//---------------------------------------------------------------------------