a11y: Re-implement gtk_tree_view_accessible_get_n_rows()
... using the new _gtk_rbtree_find_index().
This commit is contained in:
parent
635e53433d
commit
0c2f454b41
@ -23,6 +23,9 @@
|
|||||||
#ifdef GDK_WINDOWING_X11
|
#ifdef GDK_WINDOWING_X11
|
||||||
#include <gdk/x11/gdkx.h>
|
#include <gdk/x11/gdkx.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "gtktreeprivate.h"
|
||||||
|
|
||||||
#include "gtktreeviewaccessible.h"
|
#include "gtktreeviewaccessible.h"
|
||||||
#include "gtkrenderercellaccessible.h"
|
#include "gtkrenderercellaccessible.h"
|
||||||
#include "gtkbooleancellaccessible.h"
|
#include "gtkbooleancellaccessible.h"
|
||||||
@ -947,33 +950,19 @@ gtk_tree_view_accessible_get_n_rows (AtkTable *table)
|
|||||||
{
|
{
|
||||||
GtkWidget *widget;
|
GtkWidget *widget;
|
||||||
GtkTreeView *tree_view;
|
GtkTreeView *tree_view;
|
||||||
GtkTreeModel *tree_model;
|
GtkRBTree *tree;
|
||||||
gint n_rows;
|
|
||||||
|
|
||||||
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
|
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
|
||||||
if (widget == NULL)
|
if (widget == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
tree_view = GTK_TREE_VIEW (widget);
|
tree_view = GTK_TREE_VIEW (widget);
|
||||||
tree_model = gtk_tree_view_get_model (tree_view);
|
tree = _gtk_tree_view_get_rbtree (tree_view);
|
||||||
|
|
||||||
if (!tree_model)
|
if (tree == NULL)
|
||||||
n_rows = 0;
|
return 0;
|
||||||
else if (gtk_tree_model_get_flags (tree_model) & GTK_TREE_MODEL_LIST_ONLY)
|
|
||||||
/* No collapsed rows in a list store */
|
|
||||||
n_rows = GTK_TREE_VIEW_ACCESSIBLE (table)->n_rows;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
GtkTreePath *root_tree;
|
|
||||||
|
|
||||||
n_rows = 0;
|
return tree->root->parity;
|
||||||
root_tree = gtk_tree_path_new_first ();
|
|
||||||
iterate_thru_children (tree_view, tree_model,
|
|
||||||
root_tree, NULL, &n_rows, 0);
|
|
||||||
gtk_tree_path_free (root_tree);
|
|
||||||
}
|
|
||||||
|
|
||||||
return n_rows;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gint
|
static gint
|
||||||
|
Loading…
Reference in New Issue
Block a user