X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e181c7a2c32193fc8138cc32ed07984eadd4a21..4bae10bdff8683fea70daf9f9b6c3fa559fe64cb:/src/osx/carbon/textctrl.cpp diff --git a/src/osx/carbon/textctrl.cpp b/src/osx/carbon/textctrl.cpp index 2a280a7526..55fb6f4178 100644 --- a/src/osx/carbon/textctrl.cpp +++ b/src/osx/carbon/textctrl.cpp @@ -223,6 +223,10 @@ class wxMacMLTEControl : public wxMacControl, public wxTextWidgetImpl public : wxMacMLTEControl( wxTextCtrl *peer ) ; ~wxMacMLTEControl() {} + + virtual bool CanFocus() const + { return true; } + virtual wxString GetStringValue() const ; virtual void SetStringValue( const wxString &str ) ; @@ -238,7 +242,7 @@ public : virtual void Paste() ; virtual bool CanPaste() const ; virtual void SetEditable( bool editable ) ; - virtual wxTextPos GetLastPosition() const ; + virtual long GetLastPosition() const ; virtual void Replace( long from, long to, const wxString &str ) ; virtual void Remove( long from, long to ) ; virtual void GetSelection( long* from, long* to ) const ; @@ -290,7 +294,7 @@ public : const wxSize& size, long style ) ; virtual ~wxMacMLTEHIViewControl() ; - virtual OSStatus SetFocus( ControlFocusPart focusPart ) ; + virtual bool SetFocus() ; virtual bool HasFocus() const ; virtual void SetBackgroundColour(const wxColour& col ) ; @@ -1058,7 +1062,8 @@ void wxMacMLTEControl::TXNSetAttribute( const wxTextAttr& style , long from , lo if ( typeAttrCount > 0 ) { verify_noerr( TXNSetTypeAttributes( m_txn , typeAttrCount, typeAttr, from , to ) ); - relayout = true; + if (from != to) + relayout = true; } if ( tabs != NULL ) @@ -1113,7 +1118,7 @@ void wxMacMLTEControl::SetEditable(bool editable) TXNSetTXNObjectControls( m_txn, false, WXSIZEOF(tag), tag, data ) ; } -wxTextPos wxMacMLTEControl::GetLastPosition() const +long wxMacMLTEControl::GetLastPosition() const { wxTextPos actualsize = 0 ; @@ -2222,7 +2227,7 @@ wxMacMLTEHIViewControl::wxMacMLTEHIViewControl( wxTextCtrl *wxPeer, { HIViewAddSubview( m_scrollView , m_textView ) ; m_controlRef = m_scrollView ; - wxMacControl::MacInstallEventHandler( m_textView, wxPeer ) ; + InstallEventHandler( (WXWidget) m_textView ) ; } else { @@ -2248,9 +2253,9 @@ wxMacMLTEHIViewControl::~wxMacMLTEHIViewControl() { } -OSStatus wxMacMLTEHIViewControl::SetFocus( ControlFocusPart focusPart ) +bool wxMacMLTEHIViewControl::SetFocus() { - return SetKeyboardFocus( GetControlOwner( m_textView ), m_textView, focusPart ) ; + return SetKeyboardFocus( GetControlOwner( m_textView ), m_textView, kControlFocusNextPart ) == noErr ; } bool wxMacMLTEHIViewControl::HasFocus() const