]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dateevt.h
process one event at once in wxEvtHandler::ProcessPendingEvents() to prevent crashes...
[wxWidgets.git] / include / wx / dateevt.h
index a4403b57df591004b1e70122e618661dc7ac6401..f1f4f60d67b8a9b1d7492e2d87b8ba737fc52792 100644 (file)
@@ -14,6 +14,7 @@
 
 #include "wx/event.h"
 #include "wx/datetime.h"
 
 #include "wx/event.h"
 #include "wx/datetime.h"
+#include "wx/window.h"
 
 // ----------------------------------------------------------------------------
 // wxDateEvent: used by wxCalendarCtrl and wxDatePickerCtrl
 
 // ----------------------------------------------------------------------------
 // wxDateEvent: used by wxCalendarCtrl and wxDatePickerCtrl
@@ -33,10 +34,13 @@ public:
     const wxDateTime& GetDate() const { return m_date; }
     void SetDate(const wxDateTime &date) { m_date = date; }
 
     const wxDateTime& GetDate() const { return m_date; }
     void SetDate(const wxDateTime &date) { m_date = date; }
 
+    // default copy ctor, assignment operator and dtor are ok
+    virtual wxEvent *Clone() const { return new wxDateEvent(*this); }
+
 private:
     wxDateTime m_date;
 
 private:
     wxDateTime m_date;
 
-    DECLARE_DYNAMIC_CLASS_NO_COPY(wxDateEvent)
+    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxDateEvent)
 };
 
 // ----------------------------------------------------------------------------
 };
 
 // ----------------------------------------------------------------------------
@@ -49,7 +53,11 @@ END_DECLARE_EVENT_TYPES()
 
 typedef void (wxEvtHandler::*wxDateEventFunction)(wxDateEvent&);
 
 
 typedef void (wxEvtHandler::*wxDateEventFunction)(wxDateEvent&);
 
-#define EVT_DATE_CHANGED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_DATE_CHANGED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction)  wxStaticCastEvent( wxDateEventFunction, & fn ), (wxObject *) NULL),
+#define wxDateEventHandler(func) \
+    (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxDateEventFunction, &func)
+
+#define EVT_DATE_CHANGED(id, fn) \
+    wx__DECLARE_EVT1(wxEVT_DATE_CHANGED, id, wxDateEventHandler(fn))
 
 #ifdef _WX_DEFINE_DATE_EVENTS_
     DEFINE_EVENT_TYPE(wxEVT_DATE_CHANGED)
 
 #ifdef _WX_DEFINE_DATE_EVENTS_
     DEFINE_EVENT_TYPE(wxEVT_DATE_CHANGED)