X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/82df62ef8e55adf38221afc82439edeed4fe3368..047c1182f94ca7941b08170cddbb5880f1023055:/src/generic/datectlg.cpp diff --git a/src/generic/datectlg.cpp b/src/generic/datectlg.cpp index 9c6bd88b3a..2626290a3b 100644 --- a/src/generic/datectlg.cpp +++ b/src/generic/datectlg.cpp @@ -199,10 +199,10 @@ public: cev.SetEventObject(datePicker); cev.SetId(datePicker->GetId()); cev.SetDate(dt); - GetParent()->ProcessEvent(cev); + GetParent()->GetEventHandler()->ProcessEvent(cev); wxDateEvent event(datePicker, dt, wxEVT_DATE_CHANGED); - datePicker->GetParent()->ProcessEvent(event); + datePicker->GetParent()->GetEventHandler()->ProcessEvent(event); } private: @@ -370,6 +370,7 @@ END_EVENT_TABLE() BEGIN_EVENT_TABLE(wxDatePickerCtrlGeneric, wxDatePickerCtrlBase) EVT_TEXT(wxID_ANY, wxDatePickerCtrlGeneric::OnText) EVT_SIZE(wxDatePickerCtrlGeneric::OnSize) + EVT_SET_FOCUS(wxDatePickerCtrlGeneric::OnFocus) END_EVENT_TABLE() #ifndef wxHAS_NATIVE_DATEPICKCTRL @@ -404,6 +405,8 @@ bool wxDatePickerCtrlGeneric::Create(wxWindow *parent, m_combo = new wxComboCtrl(this, -1, wxEmptyString, wxDefaultPosition, wxDefaultSize); + m_combo->SetCtrlMainWnd(this); + m_popup = new wxCalendarComboPopup(); #if defined(__WXMSW__) @@ -416,7 +419,7 @@ bool wxDatePickerCtrlGeneric::Create(wxWindow *parent, m_popup->SetDateValue(date.IsValid() ? date : wxDateTime::Today()); - SetBestFittingSize(size); + SetInitialSize(size); return true; } @@ -512,7 +515,7 @@ void wxDatePickerCtrlGeneric::OnText(wxCommandEvent &ev) { ev.SetEventObject(this); ev.SetId(GetId()); - GetParent()->ProcessEvent(ev); + GetParent()->GetEventHandler()->ProcessEvent(ev); // We'll create an additional event if the date is valid. // If the date isn't valid, the user's probably in the middle of typing @@ -524,6 +527,12 @@ void wxDatePickerCtrlGeneric::OnText(wxCommandEvent &ev) } +void wxDatePickerCtrlGeneric::OnFocus(wxFocusEvent& WXUNUSED(event)) +{ + m_combo->SetFocus(); +} + + #endif // wxUSE_DATEPICKCTRL_GENERIC #endif // wxUSE_DATEPICKCTRL