]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/event.h
check that the version of __sync_sub_and_fetch that returns a value is supported...
[wxWidgets.git] / include / wx / event.h
index 4fc87804d0570de059a6dde21f021e58b83930bb..ffea5e3562f68ce87b5215c226891bcca8c5f96b 100644 (file)
@@ -9,8 +9,8 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef _WX_EVENT_H__
-#define _WX_EVENT_H__
+#ifndef _WX_EVENT_H_
+#define _WX_EVENT_H_
 
 #include "wx/defs.h"
 #include "wx/cpp.h"
@@ -22,8 +22,6 @@
     #include "wx/cursor.h"
 #endif
 
-#include "wx/thread.h"
-
 #include "wx/dynarray.h"
 
 // ----------------------------------------------------------------------------
@@ -31,7 +29,9 @@
 // ----------------------------------------------------------------------------
 
 class WXDLLIMPEXP_FWD_BASE wxList;
-
+#if wxUSE_THREADS
+    class WXDLLIMPEXP_FWD_BASE wxCriticalSection;
+#endif
 #if wxUSE_GUI
     class WXDLLIMPEXP_FWD_CORE wxDC;
     class WXDLLIMPEXP_FWD_CORE wxMenu;
@@ -694,7 +694,7 @@ class WXDLLIMPEXP_CORE wxMouseEvent : public wxEvent
 {
 public:
     wxMouseEvent(wxEventType mouseType = wxEVT_NULL);
-    wxMouseEvent(const wxMouseEvent& event)    : wxEvent(event)
+    wxMouseEvent(const wxMouseEvent& event) : wxEvent(event)
         { Assign(event); }
 
     // Was it a button event? (*doesn't* mean: is any button *down*?)
@@ -777,6 +777,10 @@ public:
     // True if the mouse is just leaving the window
     bool Leaving() const { return (m_eventType == wxEVT_LEAVE_WINDOW); }
 
+    // Returns the number of mouse clicks associated with this event.
+    int GetClickCount() const { return m_clickCount; }
+
+
     // Find the position of the event
     void GetPosition(wxCoord *xpos, wxCoord *ypos) const
     {
@@ -850,6 +854,8 @@ public:
     bool          m_altDown;
     bool          m_metaDown;
 
+    int           m_clickCount;
+
     int           m_wheelAxis;
     int           m_wheelRotation;
     int           m_wheelDelta;
@@ -2357,6 +2363,12 @@ public:
     // process an event right now
     virtual bool ProcessEvent(wxEvent& event);
 
+    // Process an event by calling ProcessEvent and handling any exceptions
+    // thrown by event handlers. It's mostly useful when processing wx events
+    // when called from C code (e.g. in GTK+ callback) when the exception
+    // wouldn't correctly propagate to wxEventLoop.
+    bool SafelyProcessEvent(wxEvent& event);
+
     // add an event to be processed later
     virtual void AddPendingEvent(const wxEvent& event);
 
@@ -3100,4 +3112,4 @@ WXDLLIMPEXP_CORE wxWindow* wxFindFocusDescendant(wxWindow* ancestor);
 
 #endif // wxUSE_GUI
 
-#endif // _WX_EVENT_H__
+#endif // _WX_EVENT_H_