X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b0c0a393c4027a46b83187ea1328949ca75971d0..5a1e0e91a1ca5ec98b0eeb335cda757d1261ed08:/src/cocoa/textctrl.mm diff --git a/src/cocoa/textctrl.mm b/src/cocoa/textctrl.mm index 6ead7fdd43..d755334440 100644 --- a/src/cocoa/textctrl.mm +++ b/src/cocoa/textctrl.mm @@ -1,18 +1,21 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: cocoa/textctrl.mm +// Name: src/cocoa/textctrl.mm // Purpose: wxTextCtrl // Author: David Elliott // Modified by: // Created: 2003/03/16 -// RCS-ID: $Id: +// RCS-ID: $Id$ // Copyright: (c) 2003 David Elliott -// Licence: wxWindows license +// Licence: wxWidgets licence ///////////////////////////////////////////////////////////////////////////// #include "wx/wxprec.h" + +#include "wx/textctrl.h" + #ifndef WX_PRECOMP #include "wx/app.h" - #include "wx/textctrl.h" + #include "wx/log.h" #endif //WX_PRECOMP #include "wx/cocoa/string.h" @@ -21,9 +24,12 @@ #import #import +#import -IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl, wxControl) -BEGIN_EVENT_TABLE(wxTextCtrl, wxControl) +#include + +IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl, wxTextCtrlBase) +BEGIN_EVENT_TABLE(wxTextCtrl, wxTextCtrlBase) END_EVENT_TABLE() WX_IMPLEMENT_COCOA_OWNER(wxTextCtrl,NSTextField,NSControl,NSView) @@ -129,10 +135,13 @@ void wxTextCtrl::Replace(long, long, wxString const&) { } -void wxTextCtrl::SetValue(wxString const& value) +void wxTextCtrl::DoSetValue(wxString const& value, int flags) { wxAutoNSAutoreleasePool pool; [GetNSTextField() setStringValue: wxNSStringWithWxString(value)]; + + if ( flags & SetValue_SendEvent ) + SendTextUpdatedEvent(); } void wxTextCtrl::WriteText(wxString const&) @@ -173,7 +182,7 @@ int wxTextCtrl::GetLineLength(long) const return 0; } -long wxTextCtrl::GetLastPosition() const +wxTextPos wxTextCtrl::GetLastPosition() const { return 0; } @@ -204,3 +213,15 @@ wxString wxTextCtrl::GetValue() const return wxStringWithNSString([GetNSTextField() stringValue]); } +wxSize wxTextCtrl::DoGetBestSize() const +{ + wxAutoNSAutoreleasePool pool; + wxASSERT(GetNSControl()); + NSCell *cell = [GetNSControl() cell]; + wxASSERT(cell); + NSSize cellSize = [cell cellSize]; + wxSize size(100,(int)ceil(cellSize.height)); + + wxLogTrace(wxTRACE_COCOA_Window_Size,wxT("wxTextCtrl=%p::DoGetBestSize()==(%d,%d)"),this,size.x,size.y); + return size; +}