fixing setting initial value under osx_cocoa for single line text controls
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62221 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -59,7 +59,8 @@ class wxMacEditHelper
|
|||||||
public :
|
public :
|
||||||
wxMacEditHelper( NSView* textView )
|
wxMacEditHelper( NSView* textView )
|
||||||
{
|
{
|
||||||
m_textView = textView ;
|
m_textView = textView;
|
||||||
|
m_formerState = YES;
|
||||||
if ( textView )
|
if ( textView )
|
||||||
{
|
{
|
||||||
m_formerState = [textView isEditable];
|
m_formerState = [textView isEditable];
|
||||||
@@ -422,7 +423,7 @@ void wxNSTextViewControl::WriteText(const wxString& str)
|
|||||||
m_lastKeyDownEvent = formerEvent;
|
m_lastKeyDownEvent = formerEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxNSTextViewControl::SetFont( const wxFont & font , const wxColour& foreground , long windowStyle, bool ignoreBlack )
|
void wxNSTextViewControl::SetFont( const wxFont & font , const wxColour& WXUNUSED(foreground) , long WXUNUSED(windowStyle), bool WXUNUSED(ignoreBlack) )
|
||||||
{
|
{
|
||||||
if ([m_textView respondsToSelector:@selector(setFont:)])
|
if ([m_textView respondsToSelector:@selector(setFont:)])
|
||||||
[m_textView setFont: font.OSXGetNSFont()];
|
[m_textView setFont: font.OSXGetNSFont()];
|
||||||
@@ -581,7 +582,7 @@ void wxNSTextFieldControl::controlAction(WXWidget WXUNUSED(slf),
|
|||||||
wxWidgetImplType* wxWidgetImpl::CreateTextControl( wxTextCtrl* wxpeer,
|
wxWidgetImplType* wxWidgetImpl::CreateTextControl( wxTextCtrl* wxpeer,
|
||||||
wxWindowMac* WXUNUSED(parent),
|
wxWindowMac* WXUNUSED(parent),
|
||||||
wxWindowID WXUNUSED(id),
|
wxWindowID WXUNUSED(id),
|
||||||
const wxString& str,
|
const wxString& WXUNUSED(str),
|
||||||
const wxPoint& pos,
|
const wxPoint& pos,
|
||||||
const wxSize& size,
|
const wxSize& size,
|
||||||
long style,
|
long style,
|
||||||
@@ -595,7 +596,6 @@ wxWidgetImplType* wxWidgetImpl::CreateTextControl( wxTextCtrl* wxpeer,
|
|||||||
wxNSTextScrollView* v = nil;
|
wxNSTextScrollView* v = nil;
|
||||||
v = [[wxNSTextScrollView alloc] initWithFrame:r];
|
v = [[wxNSTextScrollView alloc] initWithFrame:r];
|
||||||
c = new wxNSTextViewControl( wxpeer, v );
|
c = new wxNSTextViewControl( wxpeer, v );
|
||||||
static_cast<wxNSTextViewControl*>(c)->SetStringValue(str);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -615,7 +615,6 @@ wxWidgetImplType* wxWidgetImpl::CreateTextControl( wxTextCtrl* wxpeer,
|
|||||||
[v setBordered:NO];
|
[v setBordered:NO];
|
||||||
|
|
||||||
c = new wxNSTextFieldControl( wxpeer, v );
|
c = new wxNSTextFieldControl( wxpeer, v );
|
||||||
static_cast<wxNSTextFieldControl*>(c)->SetStringValue(str);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return c;
|
return c;
|
||||||
|
@@ -119,7 +119,13 @@ bool wxTextCtrl::Create( wxWindow *parent,
|
|||||||
m_peer = wxWidgetImpl::CreateTextControl( this, GetParent(), GetId(), str, pos, size, style, GetExtraStyle() );
|
m_peer = wxWidgetImpl::CreateTextControl( this, GetParent(), GetId(), str, pos, size, style, GetExtraStyle() );
|
||||||
|
|
||||||
MacPostControlCreate(pos, size) ;
|
MacPostControlCreate(pos, size) ;
|
||||||
|
|
||||||
|
#if wxOSX_USE_COCOA
|
||||||
|
// under carbon everything can already be set before the MacPostControlCreate embedding takes place
|
||||||
|
// but under cocoa for single line textfields this only works after everything has been set up
|
||||||
|
GetTextPeer()->SetStringValue(str);
|
||||||
|
#endif
|
||||||
|
|
||||||
// only now the embedding is correct and we can do a positioning update
|
// only now the embedding is correct and we can do a positioning update
|
||||||
|
|
||||||
MacSuperChangedPosition() ;
|
MacSuperChangedPosition() ;
|
||||||
|
Reference in New Issue
Block a user