X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/524c47aa3adf2af11a3069fd5da035a604f08f66..71c5a4d19d8752bd54de0ef27b81cff7a6d4d5c7:/src/osx/carbon/combobox.cpp?ds=sidebyside diff --git a/src/osx/carbon/combobox.cpp b/src/osx/carbon/combobox.cpp index 5bae247235..79564de842 100644 --- a/src/osx/carbon/combobox.cpp +++ b/src/osx/carbon/combobox.cpp @@ -57,9 +57,12 @@ public: : wxTextCtrl( cb , 1 ) { m_cb = cb; - SetTriggerOnSetValue( false ); } + void ForwardEnableTextChangedEvents(bool enable) + { + EnableTextChangedEvents(enable); + } protected: void OnChar( wxKeyEvent& event ) { @@ -137,6 +140,17 @@ protected: event.Skip(); } + void OnFocus( wxFocusEvent& event ) + { + // in case the textcontrol gets the focus we propagate + // it to the parent's handlers. + wxFocusEvent evt2(event.GetEventType(),m_cb->GetId()); + evt2.SetEventObject(m_cb); + m_cb->GetEventHandler()->ProcessEvent(evt2); + + event.Skip(); + } + private: wxComboBox *m_cb; @@ -147,6 +161,8 @@ BEGIN_EVENT_TABLE(wxComboBoxText, wxTextCtrl) EVT_KEY_DOWN(wxComboBoxText::OnKeyDown) EVT_CHAR(wxComboBoxText::OnChar) EVT_KEY_UP(wxComboBoxText::OnKeyUp) + EVT_SET_FOCUS(wxComboBoxText::OnFocus) + EVT_KILL_FOCUS(wxComboBoxText::OnFocus) EVT_TEXT(wxID_ANY, wxComboBoxText::OnText) END_EVENT_TABLE() @@ -382,6 +398,19 @@ bool wxComboBox::Create(wxWindow *parent, return true; } +void wxComboBox::EnableTextChangedEvents(bool enable) +{ + if ( m_text ) + m_text->ForwardEnableTextChangedEvents(enable); +} + +wxString wxComboBox::DoGetValue() const +{ + wxCHECK_MSG( m_text, wxString(), "can't be called for read-only combobox" ); + + return m_text->GetValue(); +} + wxString wxComboBox::GetValue() const { wxString result; @@ -640,7 +669,7 @@ bool wxComboBox::CanRedo() const return false; } -bool wxComboBox::HandleClicked( double timestampsec ) +bool wxComboBox::OSXHandleClicked( double WXUNUSED(timestampsec) ) { /* For consistency with other platforms, clicking in the text area does not constitute a selection