// Author: Vadim Zeitlin
// Modified by:
// Created: 2005-01-10
-// RCS-ID: $Id$
// Copyright: (c) 2005 Vadim Zeitlin <vadim@wxwindows.org>
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#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
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_