]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/textctrl.cpp
don't create non-existing groups in HasEntry()
[wxWidgets.git] / src / mac / carbon / textctrl.cpp
index e1aad6cff33592f2d0c3a53870808e8f9d2ee769..24f9fdf83ecd86bd6a06a6d63c8e76d9a123ae20 100644 (file)
@@ -22,6 +22,9 @@
     #include "wx/dc.h"
     #include "wx/button.h"
     #include "wx/menu.h"
+    #include "wx/settings.h"
+    #include "wx/msgdlg.h"
+    #include "wx/toplevel.h"
 #endif
 
 #ifdef __DARWIN__
@@ -31,8 +34,6 @@
     #include <stat.h>
 #endif
 
-#include "wx/msgdlg.h"
-
 #if wxUSE_STD_IOSTREAM
     #if wxUSE_IOSTREAMH
         #include <fstream.h>
@@ -41,8 +42,6 @@
     #endif
 #endif
 
-#include "wx/toplevel.h"
-#include "wx/settings.h"
 #include "wx/filefn.h"
 #include "wx/sysopt.h"
 
@@ -202,7 +201,7 @@ public :
 
     virtual bool SetupCursor( const wxPoint& pt )
     { return false ; }
-    
+
     virtual void Clear() ;
     virtual bool CanUndo() const;
     virtual void Undo() ;
@@ -307,7 +306,7 @@ public :
                              const wxPoint& pos,
                              const wxSize& size, long style ) ;
     ~wxMacMLTEHIViewControl() ;
-    
+
     virtual OSStatus SetFocus( ControlFocusPart focusPart ) ;
     virtual bool HasFocus() const ;
     virtual void SetBackground( const wxBrush &brush) ;
@@ -415,9 +414,9 @@ private :
 };
 
 
-IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl, wxControl)
+IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl, wxTextCtrlBase)
 
-BEGIN_EVENT_TABLE(wxTextCtrl, wxControl)
+BEGIN_EVENT_TABLE(wxTextCtrl, wxTextCtrlBase)
     EVT_ERASE_BACKGROUND( wxTextCtrl::OnEraseBackground )
     EVT_DROP_FILES(wxTextCtrl::OnDropFiles)
     EVT_CHAR(wxTextCtrl::OnChar)
@@ -1019,6 +1018,7 @@ void wxTextCtrl::OnChar(wxKeyEvent& event)
     }
 
     if ( ( key >= 0x20 && key < WXK_START ) ||
+         ( key >= WXK_NUMPAD0 && key <= WXK_DIVIDE ) ||
          key == WXK_RETURN ||
          key == WXK_DELETE ||
          key == WXK_BACK)
@@ -1382,7 +1382,7 @@ static pascal OSStatus wxMacUnicodeTextControlControlEventHandler( EventHandlerC
     OSStatus result = eventNotHandledErr ;
     wxMacUnicodeTextControl* focus = (wxMacUnicodeTextControl*) data ;
     wxMacCarbonEvent cEvent( event ) ;
-    
+
     switch ( GetEventKind( event ) )
     {
         case kEventControlSetFocusPart :
@@ -1404,20 +1404,20 @@ static pascal OSStatus wxMacUnicodeTextControlControlEventHandler( EventHandlerC
         default:
             break ;
     }
-    
+
     return result ;
 }
 
 static pascal OSStatus wxMacUnicodeTextControlEventHandler( EventHandlerCallRef handler , EventRef event , void *data )
 {
     OSStatus result = eventNotHandledErr ;
-    
+
     switch ( GetEventClass( event ) )
     {
         case kEventClassControl :
             result = wxMacUnicodeTextControlControlEventHandler( handler , event , data ) ;
             break ;
-            
+
         default :
             break ;
     }
@@ -1539,7 +1539,7 @@ void wxMacUnicodeTextControl::GetSelection( long* from, long* to ) const
         verify_noerr( GetData<ControlEditTextSelectionRec>( 0, kControlEditTextSelectionTag, &sel ) ) ;
     else
         sel = m_selection ;
-    
+
     if ( from )
         *from = sel.selStart ;
     if ( to )
@@ -1555,13 +1555,13 @@ void wxMacUnicodeTextControl::SetSelection( long from , long to )
     if ( value )
     {
         wxMacCFStringHolder cf(value) ;
-        textLength = cf.AsString().Length() ;
+        textLength = cf.AsString().length() ;
     }
 
     if ((from == -1) && (to == -1))
     {
         from = 0 ;
-        to = textLength ; 
+        to = textLength ;
     }
     else
     {
@@ -1589,6 +1589,7 @@ void wxMacUnicodeTextControl::WriteText( const wxString& str )
         CFStringRef value = cf ;
         SetData<CFStringRef>( 0, kControlEditTextInsertCFStringRefTag, &value );
     }
+    else
 #endif
     {
         wxString val = GetStringValue() ;
@@ -1855,7 +1856,7 @@ void wxMacMLTEControl::AdjustCreationAttributes( const wxColour &background, boo
                 | kTXNSupportSpellCheckCommandUpdating
                 | kTXNSupportFontCommandProcessing
                 | kTXNSupportFontCommandUpdating;
-            
+
             TXNSetCommandEventSupport( m_txn , options ) ;
         }
     }
@@ -1881,7 +1882,7 @@ void wxMacMLTEControl::TXNSetAttribute( const wxTextAttr& style , long from , lo
     if ( style.HasFont() )
     {
         const wxFont &font = style.GetFont() ;
-                
+
 #if 0 // old version
         Str255 fontName = "\pMonaco" ;
         SInt16 fontSize = 12 ;
@@ -2209,7 +2210,7 @@ void wxMacMLTEControl::SetTXNData( const wxString& st, TXNOffset start, TXNOffse
 {
 #if wxUSE_UNICODE
 #if SIZEOF_WCHAR_T == 2
-    size_t len = st.Len() ;
+    size_t len = st.length() ;
     TXNSetData( m_txn, kTXNUnicodeTextData, (void*)st.wc_str(), len * 2, start, end );
 #else
     wxMBConvUTF16 converter ;
@@ -3012,7 +3013,7 @@ OSStatus wxMacMLTEClassicControl::DoCreate()
 #if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_2
 
 // tiger multi-line textcontrols with no CR in the entire content
-// don't scroll automatically, so we need a hack. 
+// don't scroll automatically, so we need a hack.
 // This attempt only works 'before' the key (ie before CallNextEventHandler)
 // is processed, thus the scrolling always occurs one character too late, but
 // better than nothing ...
@@ -3021,12 +3022,12 @@ static const EventTypeSpec eventList[] =
 {
     { kEventClassTextInput, kEventTextInputUnicodeForKeyEvent } ,
 } ;
-    
+
 static pascal OSStatus wxMacUnicodeTextEventHandler( EventHandlerCallRef handler , EventRef event , void *data )
 {
     OSStatus result = eventNotHandledErr ;
     wxMacMLTEHIViewControl* focus = (wxMacMLTEHIViewControl*) data ;
-    
+
     switch ( GetEventKind( event ) )
     {
         case kEventTextInputUnicodeForKeyEvent :
@@ -3044,20 +3045,20 @@ static pascal OSStatus wxMacUnicodeTextEventHandler( EventHandlerCallRef handler
         default:
             break ;
     }
-    
+
     return result ;
 }
 
 static pascal OSStatus wxMacTextControlEventHandler( EventHandlerCallRef handler , EventRef event , void *data )
 {
     OSStatus result = eventNotHandledErr ;
-    
+
     switch ( GetEventClass( event ) )
     {
         case kEventClassTextInput :
             result = wxMacUnicodeTextEventHandler( handler , event , data ) ;
             break ;
-            
+
         default :
             break ;
     }