]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/datetimectrl.h
Don't define __STRICT_ANSI__, we should build both with and without it.
[wxWidgets.git] / include / wx / msw / datetimectrl.h
index 1efcaa242cd2bf4b4687bfb8fff7e414d54c8b2f..eb93f26ae19ec14af79467ea4cab5c7a2fc676a2 100644 (file)
@@ -3,7 +3,6 @@
 // Purpose:     wxDateTimePickerCtrl for Windows.
 // Author:      Vadim Zeitlin
 // Created:     2011-09-22 (extracted from wx/msw/datectrl.h).
-// RCS-ID:      $Id$
 // Copyright:   (c) 2005-2011 Vadim Zeitlin <vadim@wxwindows.org>
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
@@ -47,15 +46,37 @@ protected:
                                  const wxValidator& validator,
                                  const wxString& name);
 
+    // Notice that the methods below must be overridden in all native MSW
+    // classes inheriting from this one but they can't be pure virtual because
+    // the generic implementations, not needing nor able to implement them, is
+    // also derived from this class currently. The real problem is, of course,
+    // this wrong class structure because the generic classes also inherit the
+    // wrong implementations of Set/GetValue() and DoGetBestSize() but as they
+    // override these methods anyhow, it does work -- but is definitely ugly
+    // and need to be changed (but how?) in the future.
+
     // Override to return the date/time format used by this control.
-    virtual wxLocaleInfo MSWGetFormat() const = 0;
+    virtual wxLocaleInfo MSWGetFormat() const /* = 0 */
+    {
+        wxFAIL_MSG( "Unreachable" );
+        return wxLOCALE_TIME_FMT;
+    }
 
     // Override to indicate whether we can have no date at all.
-    virtual bool MSWAllowsNone() const = 0;
+    virtual bool MSWAllowsNone() const /* = 0 */
+    {
+        wxFAIL_MSG( "Unreachable" );
+        return false;
+    }
 
     // Override to update m_date and send the event when the control contents
     // changes, return true if the event was handled.
-    virtual bool MSWOnDateTimeChange(const tagNMDATETIMECHANGE& dtch) = 0;
+    virtual bool MSWOnDateTimeChange(const tagNMDATETIMECHANGE& dtch) /* = 0 */
+    {
+        wxUnusedVar(dtch);
+        wxFAIL_MSG( "Unreachable" );
+        return false;
+    }
 
 
     // the date currently shown by the control, may be invalid