X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/193bf013642b9742909ab430d3b422840a478e47..594542b1280021f45dcaff54a8e26a93113f8884:/include/wx/event.h?ds=sidebyside diff --git a/include/wx/event.h b/include/wx/event.h index c74f328aae..24a0d2b4f1 100644 --- a/include/wx/event.h +++ b/include/wx/event.h @@ -19,6 +19,9 @@ #include "wx/defs.h" #include "wx/object.h" #include "wx/gdicmn.h" +#if wxUSE_THREADS +#include "wx/thread.h" +#endif /* * Event types @@ -346,8 +349,8 @@ public: int GetSelection() const { return m_commandInt; } // Set/Get listbox/choice selection string - void SetString(char* s) { m_commandString = s; } - char *GetString() const { return m_commandString; } + void SetString(const wxString& s) { m_commandString = s; } + wxString GetString() const { return m_commandString; } // Get checkbox value bool Checked() const { return (m_commandInt != 0); } @@ -362,7 +365,7 @@ public: long GetInt() const { return m_commandInt ; } public: - char* m_commandString; // String event argument + wxString m_commandString; // String event argument int m_commandInt; long m_extraLong; // Additional information (e.g. select/deselect) void* m_clientData; // Arbitrary client data @@ -517,6 +520,7 @@ public: bool Leaving() const { return (m_eventType == wxEVT_LEAVE_WINDOW); } // Find the position of the event + void GetPosition(long *xpos, long *ypos) const { *xpos = m_x; *ypos = m_y; } void Position(long *xpos, long *ypos) const { *xpos = m_x; *ypos = m_y; } // Find the position of the event @@ -575,18 +579,18 @@ public: bool ShiftDown() const { return m_shiftDown; } long KeyCode() const { return m_keyCode; } -#if WXWIN_COMPATIBILITY // Find the position of the event - void Position(float *xpos, float *ypos) const - { *xpos = (float)m_x; *ypos = (float)m_y; } + void GetPosition(long *xpos, long *ypos) const + { *xpos = m_x; *ypos = m_y; } + + wxPoint GetPosition() const + { return wxPoint(m_x, m_y); } // Get X position - float GetX() const { return (float)m_x; } + long GetX() const { return m_x; } // Get Y position - float GetY() const { return (float)m_y; } - -#endif // WXWIN_COMPATIBILITY + long GetY() const { return m_y; } public: long m_x; @@ -1169,6 +1173,10 @@ public: virtual bool OnClose(); #endif +#if wxUSE_THREADS + bool ProcessThreadEvent(wxEvent& event); + void ProcessPendingEvents(); +#endif virtual bool ProcessEvent(wxEvent& event); virtual bool SearchEventTable(wxEventTable& table, wxEvent& event); @@ -1195,10 +1203,14 @@ protected: virtual const wxEventTable *GetEventTable() const; protected: - wxEvtHandler* m_nextHandler; - wxEvtHandler* m_previousHandler; - bool m_enabled; // Is event handler enabled? - wxList* m_dynamicEvents; + wxEvtHandler* m_nextHandler; + wxEvtHandler* m_previousHandler; + bool m_enabled; // Is event handler enabled? + wxList* m_dynamicEvents; + wxList* m_pendingEvents; +#if wxUSE_THREADS + wxCriticalSection* m_eventsLocker; +#endif // optimization: instead of using costly IsKindOf() to decide whether we're // a window (which is true in 99% of cases), use this flag