static GtkTreeModel* create_tree_model (void) { GtkTreeStore *store; gint i; GType *t; /* Make the tree more interesting */ /* - we need this magic here so we are sure the type ends up being * registered and gcc doesn't optimize away the code */ g_type_class_unref (g_type_class_ref (gtk_scrolled_window_get_type ())); g_type_class_unref (g_type_class_ref (gtk_label_get_type ())); g_type_class_unref (g_type_class_ref (gtk_scrollbar_get_type ())); g_type_class_unref (g_type_class_ref (pango_layout_get_type ())); t = get_model_types (); store = gtk_tree_store_new (N_COLUMNS, t[0], t[1], t[2], t[3], t[4], t[5], t[6], t[7], t[8]); i = 0; while (i < G_TYPE_FUNDAMENTAL_MAX) { typesystem_recurse (i, NULL, store); ++i; } return GTK_TREE_MODEL (store); }
static GtkTreeModel* create_tree_model (void) { GtkTreeStore *store; gint i; GType *t; volatile GType dummy; /* G_GNUC_CONST makes the optimizer remove * get_type calls if you don't do something * like this */ /* Make the tree more interesting */ dummy = gtk_scrolled_window_get_type (); dummy = gtk_label_get_type (); dummy = gtk_hscrollbar_get_type (); dummy = gtk_vscrollbar_get_type (); dummy = pango_layout_get_type (); t = get_model_types (); store = gtk_tree_store_new (N_COLUMNS, t[0], t[1], t[2], t[3], t[4], t[5], t[6], t[7], t[8]); i = 0; while (i < G_TYPE_FUNDAMENTAL_MAX) { typesystem_recurse (i, NULL, store); ++i; } return GTK_TREE_MODEL (store); }
static GtkTreeModel* create_list_model (void) { GtkListStore *store; GtkTreeIter iter; gint i; GType *t; t = get_model_types (); store = gtk_list_store_new (N_COLUMNS, t[0], t[1], t[2], t[3], t[4], t[5], t[6], t[7], t[8]); i = 0; while (i < 200) { char *msg; gtk_list_store_append (store, &iter); msg = g_strdup_printf ("%d", i); gtk_list_store_set (store, &iter, 0, msg, 1, "Foo! Foo! Foo!", 2, our_pixbuf, 3, 7.0, 4, (guint) 9000, 5, 'f', 6, 'g', 7, TRUE, 8, 23245454, -1); g_free (msg); ++i; } return GTK_TREE_MODEL (store); }