]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/calctrl.h
initial native implementation of wxCalendarCtrl for MSW
[wxWidgets.git] / include / wx / msw / calctrl.h
diff --git a/include/wx/msw/calctrl.h b/include/wx/msw/calctrl.h
new file mode 100644 (file)
index 0000000..5f78f2f
--- /dev/null
@@ -0,0 +1,59 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/msw/calctrl.h
+// Purpose:     wxCalendarCtrl control implementation for MSW
+// Author:      Vadim Zeitlin
+// RCS-ID:      $Id$
+// Copyright:   (C) 2008 Vadim Zeitlin <vadim@wxwidgets.org>
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_MSW_CALCTRL_H_
+#define _WX_MSW_CALCTRL_H_
+
+class WXDLLIMPEXP_ADV wxCalendarCtrl : public wxCalendarCtrlBase
+{
+public:
+    wxCalendarCtrl() { }
+    wxCalendarCtrl(wxWindow *parent,
+                   wxWindowID id,
+                   const wxDateTime& date = wxDefaultDateTime,
+                   const wxPoint& pos = wxDefaultPosition,
+                   const wxSize& size = wxDefaultSize,
+                   long style = wxCAL_SHOW_HOLIDAYS,
+                   const wxString& name = wxCalendarNameStr)
+    {
+        Create(parent, id, date, pos, size, style, name);
+    }
+
+    bool Create(wxWindow *parent,
+                wxWindowID id,
+                const wxDateTime& date = wxDefaultDateTime,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = wxCAL_SHOW_HOLIDAYS,
+                const wxString& name = wxCalendarNameStr);
+
+    virtual bool SetDate(const wxDateTime& date);
+    virtual wxDateTime GetDate() const;
+
+    virtual bool SetDateRange(const wxDateTime& lowerdate = wxDefaultDateTime,
+                              const wxDateTime& upperdate = wxDefaultDateTime);
+    virtual bool GetDateRange(wxDateTime *lowerdate, wxDateTime *upperdate) const;
+
+    virtual bool EnableMonthChange(bool enable = true);
+
+    virtual void Mark(size_t day, bool mark);
+
+protected:
+    virtual wxSize wxCalendarCtrl::DoGetBestSize() const;
+
+    virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
+
+    virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);
+
+private:
+    DECLARE_DYNAMIC_CLASS(wxCalendarCtrl)
+    DECLARE_NO_COPY_CLASS(wxCalendarCtrl)
+};
+
+#endif // _WX_MSW_CALCTRL_H_