Don't make wxDateTimePickerCtrl methods pure virtual in its MSW-specific
version as the generic wx{Date,Time}PickerCtrl implementations not using these
methods also inherit from it currently. This is wrong and would need to be
fixed properly later but for now this hack at least allows the generic classes
to compile and, apparently, work under MSW again.
Remove the equally dirty hack used in the generic wxTimePickerCtrl to allow it
to compile which is not needed any more because this one replaces it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69489
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
virtual void DoMoveWindow(int x, int y, int width, int height);
virtual void DoMoveWindow(int x, int y, int width, int height);
- // This is a really ugly hack but to compile this class in wxMSW we must
- // define these functions even though they are never called because they're
- // only used by the native implementation.
-#ifdef __WXMSW__
- virtual wxLocaleInfo MSWGetFormat() const
- {
- wxFAIL_MSG( "Unreachable" );
- return wxLOCALE_TIME_FMT;
- }
-
- virtual bool MSWAllowsNone() const
- {
- wxFAIL_MSG( "Unreachable" );
- return false;
- }
-
- virtual bool MSWOnDateTimeChange(const tagNMDATETIMECHANGE& WXUNUSED(dtch))
- {
- wxFAIL_MSG( "Unreachable" );
- return false;
- }
-#endif // __WXMSW__
-
const wxValidator& validator,
const wxString& name);
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.
// 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.
// 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.
// 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
// the date currently shown by the control, may be invalid