// 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 <Foundation/NSString.h>
#import <AppKit/NSTextField.h>
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()]];
+ [GetNSTextField() setStringValue:wxNSStringWithWxString(value)];
+
[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)
{
}
+void wxTextCtrl::MarkDirty()
+{
+}
+
void wxTextCtrl::DiscardEdits()
{
}
void wxTextCtrl::SetValue(wxString const& value)
{
+ wxAutoNSAutoreleasePool pool;
[GetNSTextField() setStringValue: wxNSStringWithWxString(value)];
}
wxString wxTextCtrl::GetValue() const
{
- return wxString([[GetNSTextField() stringValue] lossyCString]);
+ wxAutoNSAutoreleasePool pool;
+ return wxStringWithNSString([GetNSTextField() stringValue]);
}