]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/classic/textctrl.cpp
wxGetOsVersion() compilation andl inking fixes for wxMac
[wxWidgets.git] / src / mac / classic / textctrl.cpp
index aebb686c12dd0d0c382587588307c8b51dc1f27c..076e53e031cf4e9936789c72f4a71ffc99bd6e65 100644 (file)
@@ -26,6 +26,7 @@
     #include "wx/button.h"
     #include "wx/settings.h"
     #include "wx/msgdlg.h"
+    #include "wx/toplevel.h"
 #endif
 
 #ifdef __DARWIN__
@@ -43,7 +44,6 @@
     #endif
 #endif
 
-#include "wx/toplevel.h"
 #include "wx/notebook.h"
 #include "wx/tabctrl.h"
 #include "wx/filefn.h"
@@ -640,9 +640,9 @@ OSStatus mUPOpenControl(ControlHandle theControl, long wxStyle )
 
 
 
-IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl, wxControl)
+IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl, wxTextCtrlBase)
 
-BEGIN_EVENT_TABLE(wxTextCtrl, wxControl)
+BEGIN_EVENT_TABLE(wxTextCtrl, wxTextCtrlBase)
     EVT_DROP_FILES(wxTextCtrl::OnDropFiles)
     EVT_CHAR(wxTextCtrl::OnChar)
     EVT_MENU(wxID_CUT, wxTextCtrl::OnCut)
@@ -662,7 +662,7 @@ static void SetTXNData( TXNObject txn , const wxString& st , TXNOffset start , T
 {
 #if wxUSE_UNICODE
 #if SIZEOF_WCHAR_T == 2
-    size_t len = st.Len() ;
+    size_t len = st.length() ;
     TXNSetData( txn , kTXNUnicodeTextData,  (void*)st.wc_str(), len * 2,
       start, end);
 #else
@@ -1622,14 +1622,10 @@ void wxTextCtrl::OnChar(wxKeyEvent& event)
             }
             if ( !(m_windowStyle & wxTE_MULTILINE) )
             {
-                wxWindow *parent = GetParent();
-                while( parent && !parent->IsTopLevel() && parent->GetDefaultItem() == NULL ) {
-                  parent = parent->GetParent() ;
-                }
-                if ( parent && parent->GetDefaultItem() )
+                wxTopLevelWindow *tlw = wxDynamicCast(wxGetTopLevelParent(this), wxTopLevelWindow);
+                if ( tlw && tlw->GetDefaultItem() )
                 {
-                    wxButton *def = wxDynamicCast(parent->GetDefaultItem(),
-                                                          wxButton);
+                    wxButton *def = wxDynamicCast(tlw->GetDefaultItem(), wxButton);
                     if ( def && def->IsEnabled() )
                     {
                         wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, def->GetId() );