]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/listctrl.cpp
Add simple wxListCtrl to complex sample
[wxWidgets.git] / src / generic / listctrl.cpp
index 4e4fdf03a64a4b7a61371c21d9b803f4af1cd864..a2dc2070c49afd025f1af49e5021f252f4d0388d 100644 (file)
@@ -79,7 +79,12 @@ static const int EXTRA_WIDTH = 6;
 #else
 static const int EXTRA_WIDTH = 4;
 #endif
+
+#ifdef __WXGTK__
+static const int EXTRA_HEIGHT = 6;
+#else
 static const int EXTRA_HEIGHT = 4;
+#endif
 
 // margin between the window and the items
 static const int EXTRA_BORDER_X = 2;
@@ -3479,11 +3484,21 @@ void wxListMainWindow::OnChar( wxKeyEvent &event )
         parent->GetEventHandler()->ProcessEvent( le );
     }
 
-    // propagate the char event upwards
-    wxKeyEvent ke(event);
-    ke.SetEventObject( parent );
-    if (parent->GetEventHandler()->ProcessEvent( ke ))
-        return;
+    if ( (event.GetKeyCode() != WXK_UP) &&
+         (event.GetKeyCode() != WXK_DOWN) &&
+         (event.GetKeyCode() != WXK_RIGHT) &&
+         (event.GetKeyCode() != WXK_LEFT) &&
+         (event.GetKeyCode() != WXK_PAGEUP) &&
+         (event.GetKeyCode() != WXK_PAGEDOWN) &&
+         (event.GetKeyCode() != WXK_END) &&
+         (event.GetKeyCode() != WXK_HOME) )
+    {
+        // propagate the char event upwards
+        wxKeyEvent ke(event);
+        ke.SetEventObject( parent );
+        if (parent->GetEventHandler()->ProcessEvent( ke ))
+            return;
+    }
 
     if ( HandleAsNavigationKey(event) )
         return;