]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/private.cpp
Fix Tab navigation when focused control is disabled.
[wxWidgets.git] / src / gtk / private.cpp
index 37f4ecfef62e3d85715c07e6910b391f21d3c404..08ebaae77e28a4432fc425c45239028337440061 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     28.06.2008
 // RCS-ID:      $Id$
 // Copyright:   (c) 2008 Marcin Malich <me@malcom.pl>
 // Created:     28.06.2008
 // RCS-ID:      $Id$
 // Copyright:   (c) 2008 Marcin Malich <me@malcom.pl>
-// License:     wxWindows licence
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
 ///////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
@@ -115,44 +115,47 @@ GtkWidget *GetEntryWidget()
 // differently if the button is in a treeview.
 static GtkWidget *s_first_button = NULL;
 static GtkWidget *s_other_button = NULL;
 // differently if the button is in a treeview.
 static GtkWidget *s_first_button = NULL;
 static GtkWidget *s_other_button = NULL;
-    
-GtkWidget *GetHeaderButtonWidgetFirst()
-{
+static GtkWidget *s_last_button = NULL;
 
 
-    if ( !s_first_button )
-    {
+static void CreateHeaderButtons()
+{
         // Get the dummy tree widget, give it a column, and then use the
         // widget in the column header for the rendering code.
         GtkWidget* treewidget = GetTreeWidget();
         // Get the dummy tree widget, give it a column, and then use the
         // widget in the column header for the rendering code.
         GtkWidget* treewidget = GetTreeWidget();
-        
+
         GtkTreeViewColumn *column = gtk_tree_view_column_new();
         gtk_tree_view_append_column(GTK_TREE_VIEW(treewidget), column);
         s_first_button = column->button;
         GtkTreeViewColumn *column = gtk_tree_view_column_new();
         gtk_tree_view_append_column(GTK_TREE_VIEW(treewidget), column);
         s_first_button = column->button;
-        
+
         column = gtk_tree_view_column_new();
         gtk_tree_view_append_column(GTK_TREE_VIEW(treewidget), column);
         s_other_button = column->button;
         column = gtk_tree_view_column_new();
         gtk_tree_view_append_column(GTK_TREE_VIEW(treewidget), column);
         s_other_button = column->button;
-    }
+
+        column = gtk_tree_view_column_new();
+        gtk_tree_view_append_column(GTK_TREE_VIEW(treewidget), column);
+        s_last_button = column->button;
+}
+
+GtkWidget *GetHeaderButtonWidgetFirst()
+{
+    if (!s_first_button)
+      CreateHeaderButtons();
 
     return s_first_button;
 }
 
 
     return s_first_button;
 }
 
+GtkWidget *GetHeaderButtonWidgetLast()
+{
+    if (!s_last_button)
+      CreateHeaderButtons();
+
+    return s_last_button;
+}
+
 GtkWidget *GetHeaderButtonWidget()
 {
 GtkWidget *GetHeaderButtonWidget()
 {
-    if ( !s_other_button )
-    {
-        // Get the dummy tree widget, give it a column, and then use the
-        // widget in the column header for the rendering code.
-        GtkWidget* treewidget = GetTreeWidget();
-        
-        GtkTreeViewColumn *column = gtk_tree_view_column_new();
-        gtk_tree_view_append_column(GTK_TREE_VIEW(treewidget), column);
-        s_first_button = column->button;
-        
-        column = gtk_tree_view_column_new();
-        gtk_tree_view_append_column(GTK_TREE_VIEW(treewidget), column);
-        s_other_button = column->button;
-    }
+    if (!s_other_button)
+      CreateHeaderButtons();
 
     return s_other_button;
 }
 
     return s_other_button;
 }