| 1 | /////////////////////////////////////////////////////////////////////////////// |
| 2 | // Name: wx/dateevt.h |
| 3 | // Purpose: declares wxDateEvent class |
| 4 | // Author: Vadim Zeitlin |
| 5 | // Modified by: |
| 6 | // Created: 2005-01-10 |
| 7 | // RCS-ID: $Id$ |
| 8 | // Copyright: (c) 2005 Vadim Zeitlin <vadim@wxwindows.org> |
| 9 | // Licence: wxWindows licence |
| 10 | /////////////////////////////////////////////////////////////////////////////// |
| 11 | |
| 12 | #ifndef _WX_DATEEVT_H_ |
| 13 | #define _WX_DATEEVT_H_ |
| 14 | |
| 15 | #include "wx/event.h" |
| 16 | #include "wx/datetime.h" |
| 17 | #include "wx/window.h" |
| 18 | |
| 19 | // ---------------------------------------------------------------------------- |
| 20 | // wxDateEvent: used by wxCalendarCtrl and wxDatePickerCtrl |
| 21 | // ---------------------------------------------------------------------------- |
| 22 | |
| 23 | class WXDLLIMPEXP_ADV wxDateEvent : public wxCommandEvent |
| 24 | { |
| 25 | public: |
| 26 | wxDateEvent() { } |
| 27 | wxDateEvent(wxWindow *win, const wxDateTime& dt, wxEventType type) |
| 28 | : wxCommandEvent(type, win->GetId()), |
| 29 | m_date(dt) |
| 30 | { |
| 31 | SetEventObject(win); |
| 32 | } |
| 33 | |
| 34 | const wxDateTime& GetDate() const { return m_date; } |
| 35 | void SetDate(const wxDateTime &date) { m_date = date; } |
| 36 | |
| 37 | private: |
| 38 | wxDateTime m_date; |
| 39 | |
| 40 | DECLARE_DYNAMIC_CLASS_NO_COPY(wxDateEvent) |
| 41 | }; |
| 42 | |
| 43 | // ---------------------------------------------------------------------------- |
| 44 | // event types and macros for handling them |
| 45 | // ---------------------------------------------------------------------------- |
| 46 | |
| 47 | BEGIN_DECLARE_EVENT_TYPES() |
| 48 | DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_DATE_CHANGED, 1101) |
| 49 | END_DECLARE_EVENT_TYPES() |
| 50 | |
| 51 | typedef void (wxEvtHandler::*wxDateEventFunction)(wxDateEvent&); |
| 52 | |
| 53 | #define wxDateEventHandler(func) \ |
| 54 | (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxDateEventFunction, &func) |
| 55 | |
| 56 | #define EVT_DATE_CHANGED(id, fn) \ |
| 57 | wx__DECLARE_EVT1(wxEVT_DATE_CHANGED, id, wxDateEventHandler(fn)) |
| 58 | |
| 59 | #ifdef _WX_DEFINE_DATE_EVENTS_ |
| 60 | DEFINE_EVENT_TYPE(wxEVT_DATE_CHANGED) |
| 61 | |
| 62 | IMPLEMENT_DYNAMIC_CLASS(wxDateEvent, wxCommandEvent) |
| 63 | #endif |
| 64 | |
| 65 | #endif // _WX_DATEEVT_H_ |
| 66 | |