X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7d27dcf906d8a60e5673e189624091a973bcc319..af5454a410ed37a8a1639716a0c96c191e60b7f0:/src/cocoa/textctrl.mm diff --git a/src/cocoa/textctrl.mm b/src/cocoa/textctrl.mm index e0747d8983..1d858a32b0 100644 --- a/src/cocoa/textctrl.mm +++ b/src/cocoa/textctrl.mm @@ -9,11 +9,16 @@ // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// -#include "wx/app.h" -#include "wx/textctrl.h" +#include "wx/wxprec.h" +#ifndef WX_PRECOMP + #include "wx/app.h" + #include "wx/textctrl.h" +#endif //WX_PRECOMP #include "wx/cocoa/string.h" +#include "wx/cocoa/autorelease.h" + #import #import @@ -30,22 +35,29 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID winid, const wxValidator& validator, const wxString& name) { + wxAutoNSAutoreleasePool pool; if(!CreateControl(parent,winid,pos,size,style,validator,name)) return false; m_cocoaNSView = NULL; - SetNSTextField([[NSTextField alloc] initWithFrame:NSMakeRect(0,0,30,30)]); + SetNSTextField([[NSTextField alloc] initWithFrame:MakeDefaultNSRect(size)]); [m_cocoaNSView release]; [GetNSTextField() setStringValue:[NSString stringWithCString:value.c_str()]]; [GetNSControl() sizeToFit]; + NSRect currentFrame = [m_cocoaNSView frame]; + if(currentFrame.size.width < 70) + { + currentFrame.size.width = 70; + [m_cocoaNSView setFrame:currentFrame]; + } if(m_parent) m_parent->CocoaAddChild(this); + SetInitialFrameRect(pos,size); return true; } wxTextCtrl::~wxTextCtrl() { - CocoaRemoveFromParent(); - SetNSTextField(NULL); + DisassociateNSTextField(GetNSTextField()); } void wxTextCtrl::Cocoa_didChangeText(void) @@ -60,6 +72,10 @@ void wxTextCtrl::SetEditable(bool) { } +void wxTextCtrl::MarkDirty() +{ +} + void wxTextCtrl::DiscardEdits() { } @@ -114,6 +130,7 @@ void wxTextCtrl::Replace(long, long, wxString const&) void wxTextCtrl::SetValue(wxString const& value) { + wxAutoNSAutoreleasePool pool; [GetNSTextField() setStringValue: wxNSStringWithWxString(value)]; } @@ -182,6 +199,7 @@ bool wxTextCtrl::CanUndo() const wxString wxTextCtrl::GetValue() const { + wxAutoNSAutoreleasePool pool; return wxString([[GetNSTextField() stringValue] lossyCString]); }