summaryrefslogtreecommitdiff
path: root/gtk/gtktreeview.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2001-05-25 20:41:46 +0000
committerHavoc Pennington <hp@src.gnome.org>2001-05-25 20:41:46 +0000
commit87684f9549a8ea4e2fa7b4c6ab69ded73b34b991 (patch)
tree6d8f80c793761bd48f38aadbf6dae7c7f45b75fb /gtk/gtktreeview.c
parentb5db5d514d7ffd829c6e97a4630cf95d7b8fef3d (diff)
downloadgtk+-87684f9549a8ea4e2fa7b4c6ab69ded73b34b991.tar.gz
get sizes an icon set can render without falling back to missing image
2001-05-25 Havoc Pennington <hp@redhat.com> * gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon set can render without falling back to missing image icon * gtk/gtktextview.c (gtk_text_view_size_request): request full size of text, instead of random values * gtk/gtktreeview.c (gtk_tree_view_size_request): request full size of tree view, instead of random values * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): render fallback image in an appropriate size * gtk/gtkstock.h: Rename the stock items including _BUTTON_, etc. not to include that. i.e. s/GTK_STOCK_BUTTON_OK/GTK_STOCK_OK/ Throughout: fix GTK_STOCK_BUTTON_ instances * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h, gtk/gtkiconfactory.c, gtk/stock-icons/Makefile.am: Add a bunch of new stock items/icons * gtk/gtktreeview.c (gtk_tree_view_insert_column_with_data_func): new function, convenience for inserting columns with a data func * gtk/gtkiconfactory.c: keep a list of all existing icon factories (_gtk_icon_factory_list_ids): use list of all factories to generate a list of all known IDs * gtk/gtkstock.c (gtk_stock_list_ids): replace gtk_stock_list_items() with a function that returns all IDs known including those for GtkIconFactory.
Diffstat (limited to 'gtk/gtktreeview.c')
-rw-r--r--gtk/gtktreeview.c47
1 files changed, 45 insertions, 2 deletions
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index 2895e4fe1e..a6e83137e5 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -1015,8 +1015,8 @@ gtk_tree_view_size_request (GtkWidget *widget,
tree_view = GTK_TREE_VIEW (widget);
- requisition->width = 200;
- requisition->height = 200;
+ requisition->width = tree_view->priv->width;
+ requisition->height = tree_view->priv->height + tree_view->priv->header_height;
tmp_list = tree_view->priv->children;
@@ -6174,6 +6174,49 @@ gtk_tree_view_insert_column_with_attributes (GtkTreeView *tree_view,
}
/**
+ * gtk_tree_view_insert_column_with_data_func:
+ * @tree_view: a #GtkTreeView
+ * @position: Position to insert, -1 for append
+ * @title: column title
+ * @cell: cell renderer for column
+ * @func: function to set attributes of cell renderer
+ * @data: data for @func
+ * @dnotify: destroy notifier for @data
+ *
+ * Convenience function that inserts a new column into the #GtkTreeView
+ * with the given cell renderer and a #GtkCellDataFunc to set cell renderer
+ * attributes (normally using data from the model). See also
+ * gtk_tree_view_column_set_cell_data_func(), gtk_tree_view_column_set_cell_renderer().
+ *
+ * Return value: number of columns in the tree view post-insert
+ **/
+gint
+gtk_tree_view_insert_column_with_data_func (GtkTreeView *tree_view,
+ gint position,
+ gchar *title,
+ GtkCellRenderer *cell,
+ GtkCellDataFunc func,
+ gpointer data,
+ GDestroyNotify dnotify)
+{
+ GtkTreeViewColumn *column;
+
+ g_return_val_if_fail (GTK_IS_TREE_VIEW (tree_view), -1);
+
+ column = gtk_tree_view_column_new ();
+
+ 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_insert_column (tree_view, column, position);
+
+ g_object_unref (column);
+
+ return tree_view->priv->n_columns;
+}
+
+/**
* gtk_tree_view_get_column:
* @tree_view: A #GtkTreeView.
* @n: The position of the column, counting from 0.