]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/calctrl.h
don't select first hit in index if it is multi-topic entry, it causes a dialog to...
[wxWidgets.git] / include / wx / generic / calctrl.h
index 63f98225f890d8d575b2d2a8a6c173e39fd6b33c..cb10d1019b5a0ea07e6e149f46a046572ecbec69 100644 (file)
@@ -6,10 +6,10 @@
 // Created:     29.12.99
 // RCS-ID:      $Id$
 // Copyright:   (c) 1999 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
-#if defined(__GNUG__) && !defined(__APPLE__)
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma interface "calctrl.h"
 #endif
 
@@ -29,7 +29,7 @@ class WXDLLEXPORT wxSpinCtrl;
 // wxCalendarCtrl: a control allowing the user to pick a date interactively
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxCalendarCtrl : public wxControl
+class WXDLLIMPEXP_ADV wxCalendarCtrl : public wxControl
 {
 friend class wxMonthComboBox;
 friend class wxYearSpinCtrl;
@@ -43,12 +43,7 @@ public:
                    const wxPoint& pos = wxDefaultPosition,
                    const wxSize& size = wxDefaultSize,
                    long style = wxCAL_SHOW_HOLIDAYS | wxWANTS_CHARS,
-                   const wxString& name = wxCalendarNameStr)
-    {
-        Init();
-
-        (void)Create(parent, id, date, pos, size, style, name);
-    }
+                   const wxString& name = wxCalendarNameStr);
 
     bool Create(wxWindow *parent,
                 wxWindowID id,
@@ -86,13 +81,13 @@ public:
     // should be used instead for them
 
     // corresponds to wxCAL_NO_YEAR_CHANGE bit
-    void EnableYearChange(bool enable = TRUE);
+    void EnableYearChange(bool enable = true);
 
     // corresponds to wxCAL_NO_MONTH_CHANGE bit
-    void EnableMonthChange(bool enable = TRUE);
+    void EnableMonthChange(bool enable = true);
 
     // corresponds to wxCAL_SHOW_HOLIDAYS bit
-    void EnableHolidayDisplay(bool display = TRUE);
+    void EnableHolidayDisplay(bool display = true);
 
     // customization
     // -------------
@@ -164,8 +159,14 @@ public:
     // -------------------------------
 
     // forward these functions to all subcontrols
-    virtual bool Enable(bool enable = TRUE);
-    virtual bool Show(bool show = TRUE);
+    virtual bool Enable(bool enable = true);
+    virtual bool Show(bool show = true);
+
+    virtual wxVisualAttributes GetDefaultAttributes() const
+        { return GetClassDefaultAttributes(GetWindowVariant()); }
+
+    static wxVisualAttributes
+    GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
 
 private:
     // common part of all ctors
@@ -247,10 +248,12 @@ private:
     // show the correct controls
     void ShowCurrentControls();
 
+public:
     // get the currently shown control for month/year
     wxControl *GetMonthControl() const;
     wxControl *GetYearControl() const;
 
+private:
     // OnPaint helper-methods
 
     // Highlight the [fromdate : todate] range using pen and brush
@@ -261,6 +264,10 @@ private:
     // if the date isn't visible (-1, -1) is put in (day, week) and false is returned
     bool GetDateCoord(const wxDateTime& date, int *day, int *week) const;
 
+    // Set the flag for SetDate(): otherwise it would overwrite the year
+    // typed in by the user
+    void SetUserChangedYear() { m_userChangedYear = true; }
+
     // the subcontrols
     wxStaticText *m_staticMonth;
     wxComboBox *m_comboMonth;
@@ -297,12 +304,13 @@ private:
     // the week day names
     wxString m_weekdays[7];
 
-    // TRUE if SetDate() is being called as the result of changing the year in
+    // true if SetDate() is being called as the result of changing the year in
     // the year control
     bool m_userChangedYear;
 
     DECLARE_DYNAMIC_CLASS(wxCalendarCtrl)
     DECLARE_EVENT_TABLE()
+    DECLARE_NO_COPY_CLASS(wxCalendarCtrl)
 };
 
 #endif // _WX_GENERIC_CALCTRL_H