]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dateevt.h
avoid creating and immediately destroying a wxGraphicsContext when creating a wxDC...
[wxWidgets.git] / include / wx / dateevt.h
index a4403b57df591004b1e70122e618661dc7ac6401..8364efb4029953b8eaab165efaf2a96c3c4ab881 100644 (file)
 
 #include "wx/event.h"
 #include "wx/datetime.h"
+#include "wx/window.h"
 
 // ----------------------------------------------------------------------------
-// wxDateEvent: used by wxCalendarCtrl and wxDatePickerCtrl
+// wxDateEvent: used by wxCalendarCtrl, wxDatePickerCtrl and wxTimePickerCtrl.
 // ----------------------------------------------------------------------------
 
 class WXDLLIMPEXP_ADV wxDateEvent : public wxCommandEvent
@@ -33,29 +34,32 @@ public:
     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;
 
-    DECLARE_DYNAMIC_CLASS_NO_COPY(wxDateEvent)
+    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxDateEvent)
 };
 
 // ----------------------------------------------------------------------------
 // event types and macros for handling them
 // ----------------------------------------------------------------------------
 
-BEGIN_DECLARE_EVENT_TYPES()
-    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_DATE_CHANGED, 1101)
-END_DECLARE_EVENT_TYPES()
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_ADV, wxEVT_DATE_CHANGED, wxDateEvent);
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_ADV, wxEVT_TIME_CHANGED, 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) \
+    wxEVENT_HANDLER_CAST(wxDateEventFunction, func)
 
-#ifdef _WX_DEFINE_DATE_EVENTS_
-    DEFINE_EVENT_TYPE(wxEVT_DATE_CHANGED)
+#define EVT_DATE_CHANGED(id, fn) \
+    wx__DECLARE_EVT1(wxEVT_DATE_CHANGED, id, wxDateEventHandler(fn))
 
-    IMPLEMENT_DYNAMIC_CLASS(wxDateEvent, wxCommandEvent)
-#endif
+#define EVT_TIME_CHANGED(id, fn) \
+    wx__DECLARE_EVT1(wxEVT_TIME_CHANGED, id, wxDateEventHandler(fn))
 
 #endif // _WX_DATEEVT_H_