This commit adds stock icon functionality to GtkCellRendererPixbuf which
Mon Apr 22 19:24:29 2002 Kristian Rietveld <kris@gtk.org> This commit adds stock icon functionality to GtkCellRendererPixbuf which is totally cool. * gtk/gtkcellrendererpixbuf.h: add some fields * gtk/gtkcellrendererpixbuf.c: add finalize method, add some properties, add some stock icon rendering code. * demos/gtk-demo/stock_browser.c: modified to use the stock icon stuff in the cellrendererpixbuf instead of its own stock icon rendering code.
This commit is contained in:
committed by
Kristian Rietveld
parent
b78fa7ae04
commit
226b671bc1
@ -121,7 +121,7 @@ create_model (void)
|
||||
GSList *ids;
|
||||
GSList *tmp_list;
|
||||
|
||||
store = gtk_list_store_new (1, STOCK_ITEM_INFO_TYPE);
|
||||
store = gtk_list_store_new (2, STOCK_ITEM_INFO_TYPE, G_TYPE_STRING);
|
||||
|
||||
ids = gtk_stock_list_ids ();
|
||||
ids = g_slist_sort (ids, (GCompareFunc) strcmp);
|
||||
@ -210,7 +210,7 @@ create_model (void)
|
||||
info.macro = id_to_macro (info.id);
|
||||
|
||||
gtk_list_store_append (store, &iter);
|
||||
gtk_list_store_set (store, &iter, 0, &info, -1);
|
||||
gtk_list_store_set (store, &iter, 0, &info, 1, info.id, -1);
|
||||
|
||||
g_free (info.macro);
|
||||
g_free (info.accel_str);
|
||||
@ -339,26 +339,6 @@ macro_set_func_text (GtkTreeViewColumn *tree_column,
|
||||
stock_item_info_free (info);
|
||||
}
|
||||
|
||||
static void
|
||||
macro_set_func_pixbuf (GtkTreeViewColumn *tree_column,
|
||||
GtkCellRenderer *cell,
|
||||
GtkTreeModel *model,
|
||||
GtkTreeIter *iter,
|
||||
gpointer data)
|
||||
{
|
||||
StockItemInfo *info;
|
||||
|
||||
gtk_tree_model_get (model, iter,
|
||||
0, &info,
|
||||
-1);
|
||||
|
||||
g_object_set (GTK_CELL_RENDERER (cell),
|
||||
"pixbuf", info->small_icon,
|
||||
NULL);
|
||||
|
||||
stock_item_info_free (info);
|
||||
}
|
||||
|
||||
static void
|
||||
id_set_func (GtkTreeViewColumn *tree_column,
|
||||
GtkCellRenderer *cell,
|
||||
@ -467,8 +447,8 @@ do_stock_browser (void)
|
||||
gtk_tree_view_column_pack_start (column,
|
||||
cell_renderer,
|
||||
FALSE);
|
||||
gtk_tree_view_column_set_cell_data_func (column, cell_renderer,
|
||||
macro_set_func_pixbuf, NULL, NULL);
|
||||
gtk_tree_view_column_set_attributes (column, cell_renderer,
|
||||
"stock_id", 1, NULL);
|
||||
cell_renderer = gtk_cell_renderer_text_new ();
|
||||
gtk_tree_view_column_pack_start (column,
|
||||
cell_renderer,
|
||||
@ -480,7 +460,6 @@ do_stock_browser (void)
|
||||
column);
|
||||
|
||||
cell_renderer = gtk_cell_renderer_text_new ();
|
||||
|
||||
gtk_tree_view_insert_column_with_data_func (GTK_TREE_VIEW (treeview),
|
||||
-1,
|
||||
"Label",
|
||||
@ -489,6 +468,7 @@ do_stock_browser (void)
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
cell_renderer = gtk_cell_renderer_text_new ();
|
||||
gtk_tree_view_insert_column_with_data_func (GTK_TREE_VIEW (treeview),
|
||||
-1,
|
||||
"Accel",
|
||||
@ -497,6 +477,7 @@ do_stock_browser (void)
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
cell_renderer = gtk_cell_renderer_text_new ();
|
||||
gtk_tree_view_insert_column_with_data_func (GTK_TREE_VIEW (treeview),
|
||||
-1,
|
||||
"ID",
|
||||
|
||||
Reference in New Issue
Block a user