]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/textctrl.cpp
no message
[wxWidgets.git] / src / mac / carbon / textctrl.cpp
index 0806570a55ad99d97b6c2fedc7f84a6ec413648a..0724fe9da9a8cc4d921d0ad7c8fd010de92b8378 100644 (file)
@@ -107,6 +107,15 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID id,
 
        MacPreControlCreate( parent , id ,  "" , pos , mySize ,style, validator , name , &bounds , title ) ;
 
+    if ( m_windowStyle & wxTE_MULTILINE )
+    {
+        wxASSERT_MSG( !(m_windowStyle & wxTE_PROCESS_ENTER),
+                      wxT("wxTE_PROCESS_ENTER style is ignored for multiline text controls (they always process it)") );
+
+        m_windowStyle |= wxTE_PROCESS_ENTER;
+    }
+
+
        m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , "\p" , true , 0 , 0 , 1, 
                ( style & wxTE_PASSWORD ) ? kControlEditTextPasswordProc : kControlEditTextProc , (long) this ) ;
        MacPostControlCreate() ;
@@ -194,7 +203,6 @@ void wxTextCtrl::SetValue(const wxString& st)
                        
                        UMADrawControl( m_macControl ) ;
                        UMASetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , win->MacGetWindowData()->m_macWindowBackgroundTheme , false ) ;
-                       wxDC::MacInvalidateSetup() ;
                }
        }
 }
@@ -283,7 +291,6 @@ void wxTextCtrl::Paste()
                                
                                UMADrawControl( m_macControl ) ;
                                UMASetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , win->MacGetWindowData()->m_macWindowBackgroundTheme , false ) ;
-                               wxDC::MacInvalidateSetup() ;
                        }
                }
        }
@@ -655,7 +662,7 @@ void wxTextCtrl::OnChar(wxKeyEvent& event)
        keychar = short(ev->message & charCodeMask);
        keycode = short(ev->message & keyCodeMask) >> 8 ;
        UMAHandleControlKey( m_macControl , keycode , keychar , ev->modifiers ) ;
-       if ( keychar >= 0x20 || event.KeyCode() == WXK_RETURN)
+       if ( keychar >= 0x20 || event.KeyCode() == WXK_RETURN || event.KeyCode() == WXK_DELETE || event.KeyCode() == WXK_BACK)
        {
         wxCommandEvent event(wxEVT_COMMAND_TEXT_UPDATED, m_windowId);
         event.SetString( GetValue() ) ;