X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a40af6f9579ae53fa98ecf5dc7aaff700fd8920f..ba8a4f660ae54de211a5869d7ea2c86cfd47cfeb:/src/mac/textctrl.cpp?ds=sidebyside diff --git a/src/mac/textctrl.cpp b/src/mac/textctrl.cpp index ac6399deb8..b79f2fc5d3 100644 --- a/src/mac/textctrl.cpp +++ b/src/mac/textctrl.cpp @@ -60,7 +60,6 @@ #define TE_UNLIMITED_LENGTH 0xFFFFFFFFUL -extern wxApp *wxTheApp ; extern wxControl *wxFindControlFromMacControl(ControlHandle inControl ) ; // CS:TODO we still have a problem getting properly at the text events of a control because under Carbon @@ -576,6 +575,13 @@ OSStatus mUPOpenControl(ControlHandle theControl, long wxStyle ) kTXNSystemDefaultEncoding, &varsp->fTXNRec, &varsp->fTXNFrame, (TXNObjectRefcon) tpvars); + if ( (wxStyle & wxTE_MULTILINE) && (wxStyle & wxTE_DONTWRAP) ) + { + TXNControlTag tag = kTXNWordWrapStateTag ; + TXNControlData dat ; + dat.uValue = kTXNNoAutoWrap ; + TXNSetTXNObjectControls( varsp->fTXNRec , false , 1 , &tag , &dat ) ; + } Str255 fontName ; SInt16 fontSize ; Style fontStyle ; @@ -1592,8 +1598,25 @@ void wxTextCtrl::OnChar(wxKeyEvent& event) if (!eat_key) { - // default handling - event.Skip() ; + // perform keystroke handling +#if TARGET_CARBON + if ( m_macUsesTXN && wxTheApp->MacGetCurrentEvent() != NULL && wxTheApp->MacGetCurrentEventHandlerCallRef() != NULL ) + CallNextEventHandler((EventHandlerCallRef)wxTheApp->MacGetCurrentEventHandlerCallRef() , (EventRef) wxTheApp->MacGetCurrentEvent() ) ; + else +#endif + { + EventRecord rec ; + if ( wxMacConvertEventToRecord( (EventRef) wxTheApp->MacGetCurrentEvent() , &rec ) ) + { + EventRecord *ev = &rec ; + short keycode ; + short keychar ; + keychar = short(ev->message & charCodeMask); + keycode = short(ev->message & keyCodeMask) >> 8 ; + + ::HandleControlKey( (ControlHandle) m_macControl , keycode , keychar , ev->modifiers ) ; + } + } } if ( ( key >= 0x20 && key < WXK_START ) || key == WXK_RETURN ||