static void columns_changed (GtkTreeView *tree_view);
static void cursor_changed (GtkTreeView *tree_view);
static gint idle_cursor_changed (gpointer data);
-static void focus_in (GtkWidget *widget);
-static void focus_out (GtkWidget *widget);
+static gboolean focus_in (GtkWidget *widget);
+static gboolean focus_out (GtkWidget *widget);
static void model_row_changed (GtkTreeModel *tree_model,
GtkTreePath *path,
static void column_visibility_changed (GObject *object,
GParamSpec *param,
gpointer user_data);
-static void column_destroy (GtkObject *obj);
static void model_row_inserted (GtkTreeModel *tree_model,
GtkTreePath *path,
GtkTreeIter *iter,
g_object_add_weak_pointer (G_OBJECT (view->tree_model), (gpointer *)&view->tree_model);
connect_model_signals (tree_view, view);
- if (GTK_IS_TREE_STORE (tree_model))
- obj->role = ATK_ROLE_TREE_TABLE;
- else
+ if (gtk_tree_model_get_flags (tree_model) & GTK_TREE_MODEL_LIST_ONLY)
obj->role = ATK_ROLE_TABLE;
+ else
+ obj->role = ATK_ROLE_TREE_TABLE;
}
else
{
g_signal_connect_data (tmp_list->data, "notify::visible",
(GCallback)column_visibility_changed,
tree_view, NULL, FALSE);
- g_signal_connect_data (tmp_list->data, "destroy",
- (GCallback)column_destroy,
- NULL, NULL, FALSE);
g_array_append_val (view->col_data, tmp_list->data);
}
g_object_add_weak_pointer (G_OBJECT (gailview->tree_model), (gpointer *)&gailview->tree_model);
connect_model_signals (tree_view, gailview);
- if (GTK_IS_TREE_STORE (tree_model))
- role = ATK_ROLE_TREE_TABLE;
- else
+ if (gtk_tree_model_get_flags (tree_model) & GTK_TREE_MODEL_LIST_ONLY)
role = ATK_ROLE_TABLE;
+ else
+ role = ATK_ROLE_TREE_TABLE;
}
else
{
static void
gail_tree_view_connect_widget_destroyed (GtkAccessible *accessible)
{
- if (accessible->widget)
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (widget)
{
- g_signal_connect_after (accessible->widget,
+ g_signal_connect_after (widget,
"destroy",
G_CALLBACK (gail_tree_view_destroyed),
accessible);
gail_return_val_if_fail (GAIL_IS_TREE_VIEW (obj), 0);
- widget = GTK_ACCESSIBLE (obj)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
if (widget == NULL)
/*
* State is defunct
g_return_val_if_fail (GAIL_IS_TREE_VIEW (obj), NULL);
g_return_val_if_fail (i >= 0, NULL);
- widget = GTK_ACCESSIBLE (obj)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
if (widget == NULL)
/*
* State is defunct
fake_renderer = g_object_new (GTK_TYPE_CELL_RENDERER_TEXT, NULL);
default_registry = atk_get_default_registry ();
factory = atk_registry_get_factory (default_registry,
- GTK_OBJECT_TYPE (fake_renderer));
+ G_OBJECT_TYPE (fake_renderer));
child = atk_object_factory_create_accessible (factory,
G_OBJECT (fake_renderer));
gail_return_val_if_fail (GAIL_IS_RENDERER_CELL (child), NULL);
default_registry = atk_get_default_registry ();
factory = atk_registry_get_factory (default_registry,
- GTK_OBJECT_TYPE (renderer));
+ G_OBJECT_TYPE (renderer));
child = atk_object_factory_create_accessible (factory,
G_OBJECT (renderer));
gail_return_val_if_fail (GAIL_IS_RENDERER_CELL (child), NULL);
GtkWidget *widget;
state_set = ATK_OBJECT_CLASS (gail_tree_view_parent_class)->ref_state_set (obj);
- widget = GTK_ACCESSIBLE (obj)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
if (widget != NULL)
atk_state_set_add_state (state_set, ATK_STATE_MANAGES_DESCENDANTS);
gint bx, by;
gboolean ret_val;
- widget = GTK_ACCESSIBLE (component)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
if (widget == NULL)
/* State is defunct */
return NULL;
column >= n_cols)
return -1;
- widget = GTK_ACCESSIBLE (table)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
if (widget == NULL)
/* State is defunct */
return -1;
GtkTreeView *tree_view;
gint n_columns;
- widget = GTK_ACCESSIBLE (table)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
if (widget == NULL)
/* State is defunct */
return -1;
GtkTreeView *tree_view;
GtkTreePath *path;
- widget = GTK_ACCESSIBLE (table)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
if (widget == NULL)
/* State is defunct */
return -1;
GtkTreeModel *tree_model;
gint n_rows;
- widget = GTK_ACCESSIBLE (table)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
if (widget == NULL)
/* State is defunct */
return 0;
gint n_cols = 0;
gint i = 0;
- widget = GTK_ACCESSIBLE (table)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
if (widget == NULL)
/* State is defunct */
return 0;
GtkTreeSelection *selection;
GtkTreeIter iter;
- widget = GTK_ACCESSIBLE (table)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
if (widget == NULL)
/* State is defunct */
return FALSE;
GtkTreePath *tree_path;
gint ret_val = 0;
- widget = GTK_ACCESSIBLE (table)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
if (widget == NULL)
/* State is defunct */
return 0;
GtkTreePath *tree_path;
GtkTreeIter iter_to_row;
- widget = GTK_ACCESSIBLE (table)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
if (widget == NULL)
/* State is defunct */
return FALSE;
GtkTreeView *tree_view;
GtkTreeSelection *selection;
- widget = GTK_ACCESSIBLE (table)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
if (widget == NULL)
/* State is defunct */
return FALSE;
GtkTreeView *tree_view;
GtkTreeViewColumn *tv_col;
- widget = GTK_ACCESSIBLE (table)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
if (widget == NULL)
/* State is defunct */
return NULL;
GtkWidget *widget;
GtkTreeView *tree_view;
GtkTreeViewColumn *tv_col;
- AtkObject *rc;
AtkPropertyValues values = { NULL };
- widget = GTK_ACCESSIBLE (table)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
if (widget == NULL)
/* State is defunct */
return;
if (tv_col == NULL)
return;
- rc = g_object_get_qdata (G_OBJECT (tv_col),
- quark_column_header_object);
- if (rc)
- g_object_unref (rc);
-
- g_object_set_qdata (G_OBJECT (tv_col),
- quark_column_header_object,
- header);
+ g_object_set_qdata_full (G_OBJECT (tv_col),
+ quark_column_header_object,
+ header,
+ g_object_unref);
if (header)
g_object_ref (header);
g_value_init (&values.new_value, G_TYPE_INT);
GtkTreeViewColumn *tv_col;
gchar *rc;
- widget = GTK_ACCESSIBLE (table)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
if (widget == NULL)
/* State is defunct */
return NULL;
GtkTreeViewColumn *tv_col;
AtkPropertyValues values = { NULL };
- widget = GTK_ACCESSIBLE (table)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
if (widget == NULL)
/* State is defunct */
return;
if (tv_col == NULL)
return;
- g_object_set_qdata (G_OBJECT (tv_col),
- quark_column_desc_object,
- g_strdup (description));
+ g_object_set_qdata_full (G_OBJECT (tv_col),
+ quark_column_desc_object,
+ g_strdup (description),
+ g_free);
g_value_init (&values.new_value, G_TYPE_INT);
g_value_set_int (&values.new_value, in_col);
AtkPropertyValues values = { NULL };
gchar *signal_name;
- widget = GTK_ACCESSIBLE (table)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
if (widget == NULL)
/* State is defunct */
return;
GArray *array;
GailTreeViewRowInfo *rc = NULL;
- widget = GTK_ACCESSIBLE (table)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
if (widget == NULL)
/* State is defunct */
return NULL;
GtkTreeView *tree_view;
GtkTreeSelection *tree_selection;
- widget = GTK_ACCESSIBLE (selection)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
if (widget == NULL)
/* State is defunct */
return FALSE;
GtkWidget *widget;
gint row;
- widget = GTK_ACCESSIBLE (selection)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
if (widget == NULL)
/* State is defunct */
return FALSE;
GdkRectangle cell_rect;
gint w_x, w_y;
- widget = GTK_ACCESSIBLE (parent)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
if (widget == NULL)
/* State is defunct */
return;
GailTreeViewCellInfo *cell_info;
GailCell *top_cell;
- widget = GTK_ACCESSIBLE (parent)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
if (widget == NULL)
/* State is defunct */
return;
GtkWidget *toplevel;
gint index;
- widget = GTK_ACCESSIBLE (parent)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
if (widget == NULL)
/* State is defunct */
return FALSE;
gtk_tree_path_free (path);
gtk_widget_grab_focus (widget);
toplevel = gtk_widget_get_toplevel (widget);
- if (GTK_WIDGET_TOPLEVEL (toplevel))
+ if (gtk_widget_is_toplevel (toplevel))
{
#ifdef GDK_WINDOWING_X11
- gtk_window_present_with_time (GTK_WINDOW (toplevel), gdk_x11_get_server_time (widget->window));
+ gtk_window_present_with_time (GTK_WINDOW (toplevel),
+ gdk_x11_get_server_time (gtk_widget_get_window (widget)));
#else
gtk_window_present (GTK_WINDOW (toplevel));
#endif
gailview->idle_expand_id = 0;
path = gailview->idle_expand_path;
- tree_view = GTK_TREE_VIEW (GTK_ACCESSIBLE (gailview)->widget);
+ tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (gailview)));
g_assert (GTK_IS_TREE_VIEW (tree_view));
gailview = GAIL_TREE_VIEW (data);
cell_list = gailview->cell_data;
- widget = GTK_ACCESSIBLE (gailview)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (gailview));
if (widget == NULL)
/*
* destroy signal emitted for widget
gtk_tree_path_free (path);
}
}
- if (GTK_WIDGET_REALIZED (widget))
+ if (gtk_widget_get_realized (widget))
g_signal_emit_by_name (gailview, "selection_changed");
}
gail_tree_view->idle_cursor_changed_id = 0;
- widget = GTK_ACCESSIBLE (gail_tree_view)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (gail_tree_view));
/*
* Widget has been deleted
*/
}
gail_tree_view->focus_cell = cell;
- if (GTK_WIDGET_HAS_FOCUS (widget))
+ if (gtk_widget_has_focus (widget))
{
gail_cell_add_state (GAIL_CELL (cell), ATK_STATE_ACTIVE, FALSE);
gail_cell_add_state (GAIL_CELL (cell), ATK_STATE_FOCUSED, FALSE);
return FALSE;
}
-static void
+static gboolean
focus_in (GtkWidget *widget)
{
GtkTreeView *tree_view;
}
}
}
+ return FALSE;
}
-static void
+static gboolean
focus_out (GtkWidget *widget)
{
GailTreeView *gail_tree_view;
g_object_unref (gail_tree_view->focus_cell);
gail_tree_view->focus_cell = NULL;
}
+ return FALSE;
}
static void
}
}
-/*
- * This is the signal handler for the "destroy" signal for a GtkTreeViewColumn
- *
- * We check whether we have stored column description or column header
- * and if so we get rid of it.
- */
-static void
-column_destroy (GtkObject *obj)
-{
- GtkTreeViewColumn *tv_col = GTK_TREE_VIEW_COLUMN (obj);
- AtkObject *header;
- gchar *desc;
-
- header = g_object_get_qdata (G_OBJECT (tv_col),
- quark_column_header_object);
- if (header)
- g_object_unref (header);
- desc = g_object_get_qdata (G_OBJECT (tv_col),
- quark_column_desc_object);
- g_free (desc);
-}
-
static void
model_row_inserted (GtkTreeModel *tree_model,
GtkTreePath *path,
GdkRectangle cell_rect;
/* Get these three values in tree coords */
- if (GTK_WIDGET_REALIZED (GTK_WIDGET (tree_view)))
+ if (gtk_widget_get_realized (GTK_WIDGET (tree_view)))
gtk_tree_view_get_cell_area (tree_view, tree_path, tv_col, &cell_rect);
else
cell_rect.height = 0;
if (emit_change_signal && cell_info->in_use)
{
- tree_view = GTK_TREE_VIEW (GTK_ACCESSIBLE (gailview)->widget);
+ tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (gailview)));
tree_model = gtk_tree_view_get_model (tree_view);
path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
if (path == NULL)
g_assert (GTK_IS_ACCESSIBLE (tree_view));
- widget = GTK_ACCESSIBLE (tree_view)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (tree_view));
if (!widget)
/* Widget is being deleted */
return;
gail_return_if_fail (cell_info->cell_col_ref);
gail_return_if_fail (cell_info->cell_row_ref);
- tree_view = GTK_TREE_VIEW (GTK_ACCESSIBLE (parent)->widget);
+ tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (parent)));
path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
gail_return_if_fail (path);
gail_return_if_fail (cell_info->cell_col_ref);
gail_return_if_fail (cell_info->cell_row_ref);
- tree_view = GTK_TREE_VIEW (GTK_ACCESSIBLE (parent)->widget);
+ tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (parent)));
path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
gail_return_if_fail (path);
pathstring = gtk_tree_path_to_string (path);
gail_return_if_fail (cell_info->cell_col_ref);
gail_return_if_fail (cell_info->cell_row_ref);
- tree_view = GTK_TREE_VIEW (GTK_ACCESSIBLE (parent)->widget);
+ tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (parent)));
path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
gail_return_if_fail (path);
gtk_tree_view_set_cursor (tree_view, path, cell_info->cell_col_ref, TRUE);
gail_return_if_fail (cell_info->cell_col_ref);
gail_return_if_fail (cell_info->cell_row_ref);
- tree_view = GTK_TREE_VIEW (GTK_ACCESSIBLE (parent)->widget);
+ tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (parent)));
path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
gail_return_if_fail (path);
gtk_tree_view_row_activated (tree_view, path, cell_info->cell_col_ref);
gboolean needs_cleaning = FALSE;
GailCell *retval = NULL;
- tree_view = GTK_TREE_VIEW (GTK_ACCESSIBLE (gailview)->widget);
+ tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (gailview)));
cell_list = gailview->cell_data;
for (l = cell_list; l; l = l->next)
parent = atk_object_get_parent (ATK_OBJECT (cell));
gail_return_if_fail (GAIL_IS_TREE_VIEW (parent));
- tree_view = GTK_TREE_VIEW (GTK_ACCESSIBLE (parent)->widget);
+ tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (parent)));
/* Find this cell in the GailTreeView's cache */
GtkWidget *widget;
obj = G_OBJECT (view->tree_model);
- widget = GTK_ACCESSIBLE (view)->widget;
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (view));
g_signal_handlers_disconnect_by_func (obj, (gpointer) model_row_changed, widget);
g_signal_handlers_disconnect_by_func (obj, (gpointer) model_row_inserted, widget);
g_signal_handlers_disconnect_by_func (obj, (gpointer) model_row_deleted, widget);