m_formerClip = NewRgn() ;
m_newClip = NewRgn() ;
GetClip( m_formerClip ) ;
-
+
if ( win )
{
// guard against half constructed objects, this just leads to a empty clip
{
int x = 0 , y = 0;
win->MacWindowToRootWindow( &x, &y ) ;
-
+
// get area including focus rect
HIShapeGetAsQDRgn( ((wxWindow*)win)->MacGetVisibleRegion(true).GetWXHRGN() , m_newClip );
if ( !EmptyRgn( m_newClip ) )
OffsetRgn( m_newClip , x , y ) ;
}
-
+
SetClip( m_newClip ) ;
}
}
void wxTextCtrl::MacVisibilityChanged()
{
- GetPeer()->VisibilityChanged( IsShownOnScreen() ) ;
+ GetPeer()->VisibilityChanged( GetPeer()->IsVisible() );
}
void wxTextCtrl::MacCheckSpelling(bool check)
{
int key = event.GetKeyCode() ;
bool eat_key = false ;
+ long from, to;
if ( key == 'a' && event.MetaDown() )
{
// Check if we have reached the max # of chars (if it is set), but still
// allow navigation and deletion
+ GetSelection( &from, &to );
if ( !IsMultiLine() && m_maxLength && GetValue().length() >= m_maxLength &&
key != WXK_LEFT && key != WXK_RIGHT && key != WXK_TAB &&
- key != WXK_BACK && !( key == WXK_RETURN && (m_windowStyle & wxTE_PROCESS_ENTER) )
- )
+ key != WXK_BACK && key != WXK_DELETE && !( key == WXK_RETURN && (m_windowStyle & wxTE_PROCESS_ENTER) ) &&
+ from == to )
{
// eat it, we don't want to add more than allowed # of characters
| kTXNSupportFontCommandProcessing
| kTXNSupportFontCommandUpdating;
- // only spell check when not read-only
+ // only spell check when not read-only
// use system options for the default
- bool checkSpelling = false ;
+ bool checkSpelling = false ;
if ( !(m_windowStyle & wxTE_READONLY) )
- {
+ {
#if wxUSE_SYSTEM_OPTIONS
if ( wxSystemOptions::HasOption( wxMAC_TEXTCONTROL_USE_SPELL_CHECKER ) && (wxSystemOptions::GetOptionInt( wxMAC_TEXTCONTROL_USE_SPELL_CHECKER ) == 1) )
{
}
#endif
}
-
+
if ( checkSpelling )
options |=
kTXNSupportSpellCheckCommandProcessing
- | kTXNSupportSpellCheckCommandUpdating;
+ | kTXNSupportSpellCheckCommandUpdating;
TXNSetCommandEventSupport( m_txn , options ) ;
}
TXNTab* tabs = NULL;
bool relayout = false;
+ wxFont font ;
if ( style.HasFont() )
{
wxASSERT( typeAttrCount < WXSIZEOF(typeAttr) );
- const wxFont &font = style.GetFont() ;
+ font = style.GetFont() ;
typeAttr[typeAttrCount].tag = kTXNATSUIStyle ;
typeAttr[typeAttrCount].size = kTXNATSUIStyleSize ;
typeAttr[typeAttrCount].data.dataPtr = font.MacGetATSUStyle() ;