X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ee2ec18e88701d8f0709009616584153ca85d7a7..afb6a92feec67d021691e2b2c466378bf3adbf2d:/src/cocoa/textctrl.mm diff --git a/src/cocoa/textctrl.mm b/src/cocoa/textctrl.mm index d755334440..cbab8ea2f1 100644 --- a/src/cocoa/textctrl.mm +++ b/src/cocoa/textctrl.mm @@ -59,6 +59,10 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID winid, if(m_parent) m_parent->CocoaAddChild(this); SetInitialFrameRect(pos,size); + + [(NSTextField*)m_cocoaNSView setTarget: sm_cocoaTarget]; + [(NSTextField*)m_cocoaNSView setAction:@selector(wxNSControlAction:)]; + return true; } @@ -71,6 +75,19 @@ void wxTextCtrl::Cocoa_didChangeText(void) { } +void wxTextCtrl::CocoaTarget_action(void) +{ + // NSTextField only sends the action message on enter key press and thus + // we send the appropriate event type. + wxCommandEvent event(wxEVT_COMMAND_TEXT_ENTER, GetId()); + + // See wxTextCtrlBase::SendTextUpdatedEvent for why we don't set the string. + //event.SetString(GetValue()); + + event.SetEventObject(this); + GetEventHandler()->ProcessEvent(event); +} + void wxTextCtrl::AppendText(wxString const&) { }