]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/textctrl.cpp
Guess what: ODBC updates and build fixes.
[wxWidgets.git] / src / gtk / textctrl.cpp
index bb72ccea1bf68da5624b00d2bdb24b43f0fec628..7a3cf2f76f6f3d704e9166d68bad81f1cff6346e 100644 (file)
 #include <sys/stat.h>
 #include <ctype.h>
 
+#include "gdk/gdkkeysyms.h"
+
+//-----------------------------------------------------------------------------
+// data
+//-----------------------------------------------------------------------------
+
+extern bool   g_blockEventsOnDrag;
+
 //-----------------------------------------------------------------------------
 //  "changed"
 //-----------------------------------------------------------------------------
@@ -48,7 +56,6 @@ gtk_text_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation* WXUNUSED(all
     win->CalculateScrollbar();
 }
 
-
 //-----------------------------------------------------------------------------
 //  wxTextCtrl
 //-----------------------------------------------------------------------------
@@ -81,6 +88,7 @@ bool wxTextCtrl::Create( wxWindow *parent, wxWindowID id, const wxString &value,
       int style, const wxValidator& validator, const wxString &name )
 {
     m_needParent = TRUE;
+    m_acceptsFocus = TRUE;
 
     PreCreation( parent, id, pos, size, style, name );
 
@@ -152,9 +160,8 @@ bool wxTextCtrl::Create( wxWindow *parent, wxWindowID id, const wxString &value,
     }
 
     // we want to be notified about text changes
-    gtk_signal_connect(GTK_OBJECT(m_text), "changed",
-                     GTK_SIGNAL_FUNC(gtk_text_changed_callback),
-                     (gpointer)this);
+    gtk_signal_connect( GTK_OBJECT(m_text), "changed",
+      GTK_SIGNAL_FUNC(gtk_text_changed_callback), (gpointer)this);
 
     if (!value.IsNull())
     {
@@ -303,7 +310,8 @@ bool wxTextCtrl::LoadFile( const wxString &file )
 
     if (m_windowStyle & wxTE_MULTILINE)
     {
-      gtk_editable_insert_text( GTK_EDITABLE(m_text), text, 0, &len );
+      gint pos = 0;
+      gtk_editable_insert_text( GTK_EDITABLE(m_text), text, len, &pos );
     }
     else
     {
@@ -555,7 +563,7 @@ void wxTextCtrl::Replace( long from, long to, const wxString &value )
 
     gtk_editable_delete_text( GTK_EDITABLE(m_text), (gint)from, (gint)to );
     if (value.IsNull()) return;
-    gint pos = (gint)to;
+    gint pos = (gint)from;
     gtk_editable_insert_text( GTK_EDITABLE(m_text), value, value.Length(), &pos );
 }
 
@@ -607,15 +615,7 @@ void wxTextCtrl::OnChar( wxKeyEvent &key_event )
         event.SetEventObject(this);
         if (GetEventHandler()->ProcessEvent(event)) return;
     }
-    else if (key_event.KeyCode() == WXK_TAB)
-    {
-        wxNavigationKeyEvent event;
-        event.SetDirection( key_event.m_shiftDown );
-        event.SetWindowChange(FALSE);
-        event.SetEventObject(this);
 
-        if (GetEventHandler()->ProcessEvent(event)) return;
-    }
     key_event.Skip();
 }