# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1671559611 0 # Node ID ec7f6e28166d6d0d3fa8ca44c27f28fe1168926d # Parent a290573a8b7c460a21164c863c778263720c5fc8 C++: Add Calendar widget and fix an issue in that last commit. diff -r a290573a8b7c -r ec7f6e28166d dw.hpp --- a/dw.hpp Tue Dec 20 05:50:15 2022 +0000 +++ b/dw.hpp Tue Dec 20 18:06:51 2022 +0000 @@ -279,6 +279,20 @@ void Set(const char *data, int len) { dw_window_set_bitmap_from_data(hwnd, 0, data, len); } }; +// Class for handing calendar widget +class Calendar : public Widget +{ +public: + // Constructors + Calendar(unsigned long id) { SetHWND(dw_calendar_new(id)); } + Calendar() { SetHWND(dw_calendar_new(0)); } + + // User functions + void GetData(unsigned int *year, unsigned int *month, unsigned int *day) { dw_calendar_get_date(hwnd, year, month, day); } + void SetData(unsigned int year, unsigned int month, unsigned int day) { dw_calendar_set_date(hwnd, year, month, day); } +}; + + // Forward declare these so our Drawable abstract class can reference class Render; class Pixmap; @@ -426,7 +440,7 @@ { public: // User functions - void ClickDefault(Focusable *next) { dw_window_click_default(hwnd, next); } + void ClickDefault(Focusable *next) { if(next) dw_window_click_default(hwnd, next->GetHWND()); } }; class Entryfield : public TextEntry