diff --git a/docs/changes.txt b/docs/changes.txt index bbe75517be..d6a6dae76f 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -640,6 +640,7 @@ wxOSX: - Fix handling of "Cancel" button in wxSearchCtrl (John Roberts). - Generate correct events for WXK_NUMPAD_ENTER (John Roberts). - Fix handling of WXK_NUMPAD_ENTER in wxTextCtrl (John Roberts). +- Don't show wxDatePickerCtrl as being disabled when it isn't (John Roberts). - Generate wxEVT_TEXT_ENTER for wxTE_PASSWORD controls too (mj_smoker). - Send wxIconizeEvent when a window is iconized/restore (Rob Krakora). - Use correct colour for disabled wxStaticText (sbrowne). diff --git a/src/osx/cocoa/datetimectrl.mm b/src/osx/cocoa/datetimectrl.mm index 575a8a2b48..edee2965a4 100644 --- a/src/osx/cocoa/datetimectrl.mm +++ b/src/osx/cocoa/datetimectrl.mm @@ -128,6 +128,26 @@ public: } } + virtual void Enable(bool enable = true) + { + wxNSDatePicker* const nsdatePicker = View(); + + [nsdatePicker setEnabled: enable]; + + if ( enable ) + { + wxWindow* const wxpeer = GetWXPeer(); + if ( wxpeer ) + [nsdatePicker setTextColor: wxpeer->GetForegroundColour().OSXGetNSColor()]; + else + [nsdatePicker setTextColor: [NSColor controlTextColor]]; + } + else + { + [nsdatePicker setTextColor: [NSColor disabledControlTextColor]]; + } + } + private: wxNSDatePicker* View() const { @@ -170,6 +190,9 @@ wxDateTimeWidgetImpl::CreateDateTimePicker(wxDateTimePickerCtrl* wxpeer, [v setDatePickerStyle: NSTextFieldAndStepperDatePickerStyle]; + // Avoid a disabled looking transparent background for the text cells. + [v setDrawsBackground: YES]; + if ( dt.IsValid() ) { [v setDateValue: NSDateFromWX(dt)];