]> git.saurik.com Git - wxWidgets.git/commitdiff
Make multi-line text control focussable
authorRobert Roebling <robert@roebling.de>
Mon, 1 Mar 2004 22:42:07 +0000 (22:42 +0000)
committerRobert Roebling <robert@roebling.de>
Mon, 1 Mar 2004 22:42:07 +0000 (22:42 +0000)
   by using tabs under GTK 2.0.
  Make hitting ENTER in a wxSpinCtrl to
    activate the default button work.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26018 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/spinctrl.cpp
src/gtk/textctrl.cpp
src/gtk1/spinctrl.cpp
src/gtk1/textctrl.cpp

index ff4ee9faeb5008591cc8952dacb123278df4c998..b1d33df2312f25376136e69f798b394b54559cdb 100644 (file)
@@ -271,7 +271,7 @@ void wxSpinCtrl::OnChar( wxKeyEvent &event )
     if (event.GetKeyCode() == WXK_RETURN)
     {
         wxWindow *top_frame = m_parent;
-        while (top_frame->GetParent() && !(top_frame->GetParent()->IsTopLevel()))
+        while (top_frame->GetParent() && !(top_frame->IsTopLevel()))
             top_frame = top_frame->GetParent();
 
         if ( GTK_IS_WINDOW(top_frame->m_widget) )
@@ -281,7 +281,7 @@ void wxSpinCtrl::OnChar( wxKeyEvent &event )
             {
                 GtkWidget *widgetDef = window->default_widget;
 
-                if ( widgetDef && GTK_IS_WINDOW(widgetDef) )
+                if ( widgetDef )
                 {
                     gtk_widget_activate(widgetDef);
                     return;
index 79726b054c080070364ea74d91b3b28401793a45..648fdab6a5533b8ae68ca1a3f9dee7a3afcf9686 100644 (file)
@@ -310,6 +310,8 @@ bool wxTextCtrl::Create( wxWindow *parent,
 
         if (!HasFlag(wxNO_BORDER))
             gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW(m_widget), GTK_SHADOW_IN );
+            
+        GTK_WIDGET_UNSET_FLAGS( m_widget, GTK_CAN_FOCUS );
 #else
         // create our control ...
         m_text = gtk_text_new( (GtkAdjustment *) NULL, (GtkAdjustment *) NULL );
@@ -443,8 +445,8 @@ bool wxTextCtrl::Create( wxWindow *parent,
     else
 #endif
     {
-    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);
     }
 
     // we don't set a valid background colour, because the window
index ff4ee9faeb5008591cc8952dacb123278df4c998..b1d33df2312f25376136e69f798b394b54559cdb 100644 (file)
@@ -271,7 +271,7 @@ void wxSpinCtrl::OnChar( wxKeyEvent &event )
     if (event.GetKeyCode() == WXK_RETURN)
     {
         wxWindow *top_frame = m_parent;
-        while (top_frame->GetParent() && !(top_frame->GetParent()->IsTopLevel()))
+        while (top_frame->GetParent() && !(top_frame->IsTopLevel()))
             top_frame = top_frame->GetParent();
 
         if ( GTK_IS_WINDOW(top_frame->m_widget) )
@@ -281,7 +281,7 @@ void wxSpinCtrl::OnChar( wxKeyEvent &event )
             {
                 GtkWidget *widgetDef = window->default_widget;
 
-                if ( widgetDef && GTK_IS_WINDOW(widgetDef) )
+                if ( widgetDef )
                 {
                     gtk_widget_activate(widgetDef);
                     return;
index 79726b054c080070364ea74d91b3b28401793a45..648fdab6a5533b8ae68ca1a3f9dee7a3afcf9686 100644 (file)
@@ -310,6 +310,8 @@ bool wxTextCtrl::Create( wxWindow *parent,
 
         if (!HasFlag(wxNO_BORDER))
             gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW(m_widget), GTK_SHADOW_IN );
+            
+        GTK_WIDGET_UNSET_FLAGS( m_widget, GTK_CAN_FOCUS );
 #else
         // create our control ...
         m_text = gtk_text_new( (GtkAdjustment *) NULL, (GtkAdjustment *) NULL );
@@ -443,8 +445,8 @@ bool wxTextCtrl::Create( wxWindow *parent,
     else
 #endif
     {
-    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);
     }
 
     // we don't set a valid background colour, because the window