diff options
author | Jonathan Blandford <jrb@redhat.com> | 2001-06-27 23:44:53 +0000 |
---|---|---|
committer | Jonathan Blandford <jrb@src.gnome.org> | 2001-06-27 23:44:53 +0000 |
commit | 8eaa071617f29f267bb0ffb05976fa5885dbf595 (patch) | |
tree | d8b495aa301d76f90b55a04ed68aa3197b4a1cc9 /gtk/gtktreeview.c | |
parent | f10e18bfd6b404fdad125cbc3bbfc894c16073aa (diff) | |
download | gtk+-8eaa071617f29f267bb0ffb05976fa5885dbf595.tar.gz |
New function to reflect that you can (hypothetically) pack cell renderers
Wed Jun 27 19:40:31 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeviewcolumn.c
(gtk_tree_view_column_pack_start_cell_renderer): New function to
reflect that you can (hypothetically) pack cell renderers into a
column.
(gtk_tree_view_column_pack_end_cell_renderer): ditto.
(gtk_tree_view_column_cell_is_visible): Move more functionality to
the column.
(gtk_tree_view_column_cell_can_focus): Move more functionality to
the column.
* gtk/gtktreeview.c: Move to use new column-packing code.
(gtk_tree_view_real_expand_row): remove totally braindead code.
(gtk_tree_view_real_collapse_row): ditto.
Diffstat (limited to 'gtk/gtktreeview.c')
-rw-r--r-- | gtk/gtktreeview.c | 55 |
1 files changed, 22 insertions, 33 deletions
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index a82650da44..c21daf9a55 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -2341,16 +2341,13 @@ gtk_tree_view_draw_focus (GtkWidget *widget) height = BACKGROUND_HEIGHT (node) - 1; if (tree_view->priv->focus_column != NULL) { - gboolean visible; - gboolean can_focus; - - g_object_get (G_OBJECT (tree_view->priv->focus_column->cell), - "can_activate", &can_focus, - "visible", &visible, - NULL); - if (can_focus && visible) + GtkTreeIter iter; + + gtk_tree_model_get_iter (tree_view->priv->model, &iter, cursor_path); + gtk_tree_view_column_cell_set_cell_data (tree_view->priv->focus_column, tree_view->priv->model, &iter); + + if (gtk_tree_view_column_cell_can_focus (tree_view->priv->focus_column)) { - GtkTreeIter iter; GdkRectangle cell_area; gint x_offset; gint y_offset; @@ -2360,10 +2357,9 @@ gtk_tree_view_draw_focus (GtkWidget *widget) cell_area.width = tree_view->priv->focus_column->displayed_width; cell_area.height = CELL_HEIGHT (node, vertical_separator); - gtk_tree_model_get_iter (tree_view->priv->model, &iter, cursor_path); - gtk_tree_view_column_cell_set_cell_data (tree_view->priv->focus_column, tree_view->priv->model, &iter); + gtk_tree_view_column_cell_get_size (tree_view->priv->focus_column, + &cell_area, &x_offset, &y_offset, &width, &height); - gtk_cell_renderer_get_size (tree_view->priv->focus_column->cell, GTK_WIDGET (tree_view), &cell_area, &x_offset, &y_offset, &width, &height); width += 2; height += 2; x = cell_area.x + x_offset - 1; @@ -4427,7 +4423,7 @@ count_children_helper (GtkRBTree *tree, { if (node->children) _gtk_rbtree_traverse (node->children, node->children->root, G_POST_ORDER, count_children_helper, data); - ((gint *)data)++; + (*((gint *)data))++; } static void @@ -6598,7 +6594,7 @@ gtk_tree_view_insert_column_with_attributes (GtkTreeView *tree_view, while (attribute != NULL) { column_id = va_arg (args, gint); - gtk_tree_view_column_add_attribute (column, attribute, column_id); + gtk_tree_view_column_add_attribute (column, cell, attribute, column_id); attribute = va_arg (args, gchar *); } @@ -6644,7 +6640,7 @@ gtk_tree_view_insert_column_with_data_func (GtkTreeView *tree_vie gtk_tree_view_column_set_title (column, title); gtk_tree_view_column_set_cell_renderer (column, cell); - gtk_tree_view_column_set_cell_data_func (column, func, data, dnotify); + gtk_tree_view_column_set_cell_data_func (column, cell, func, data, dnotify); gtk_tree_view_insert_column (tree_view, column, position); @@ -7094,7 +7090,7 @@ gtk_tree_view_real_expand_row (GtkTreeView *tree_view, node->children->parent_node = node; gtk_tree_model_iter_children (tree_view->priv->model, &temp, &iter); - temp = iter; + gtk_tree_view_build_tree (tree_view, node->children, &temp, @@ -7163,7 +7159,7 @@ gtk_tree_view_real_collapse_row (GtkTreeView *tree_view, return FALSE; TREE_VIEW_INTERNAL_ASSERT (gtk_tree_model_iter_children (tree_view->priv->model, &children, &iter), FALSE); - children = iter; + gtk_tree_view_discover_dirty (tree_view, node->children, &children, @@ -8087,7 +8083,6 @@ gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view, GtkTreeIter iter; GtkRBTree *tree; GtkRBNode *node; - GtkCellRenderer *cell; gint i; gint cell_offset; GList *list; @@ -8130,7 +8125,7 @@ gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view, -1); gdk_draw_rectangle (drawable, - widget->style->base_gc[GTK_WIDGET_STATE (widget)], + widget->style->base_gc [GTK_WIDGET_STATE (widget)], TRUE, 0, 0, bin_window_width + 2, @@ -8147,16 +8142,12 @@ gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view, { GtkTreeViewColumn *column = list->data; GdkRectangle cell_area; - gboolean visible; gint vertical_separator; if (!column->visible) continue; - cell = column->cell; - gtk_tree_view_column_cell_set_cell_data (column, - tree_view->priv->model, - &iter); + gtk_tree_view_column_cell_set_cell_data (column, tree_view->priv->model, &iter); background_area.x = cell_offset; background_area.width = column->displayed_width; @@ -8174,15 +8165,13 @@ gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view, cell_area.width -= depth * tree_view->priv->tab_offset; } - g_object_get (G_OBJECT (cell), "visible", &visible, NULL); - if (visible) - gtk_cell_renderer_render (cell, - drawable, - widget, - &background_area, - &cell_area, - NULL, - 0); + if (gtk_tree_view_column_cell_is_visible (column)) + gtk_tree_view_column_cell_render (column, + drawable, + &background_area, + &cell_area, + NULL, + 0); cell_offset += column->displayed_width; } |