void setup_device_treeview (GtkBuilder *builder) { GtkTreeModel *model; GtkTreeSelection *selection; GtkCellRenderer *renderer; GtkTreeViewColumn *column; char *headers[] = { _("Device"), NULL}; treeview = GTK_WIDGET (gtk_builder_get_object (builder, "device-treeview")); g_assert (treeview != NULL); popup = GTK_WIDGET (gtk_builder_get_object (builder, "device-popup")); g_assert (popup != NULL); subscribe_menuitem = GTK_WIDGET (gtk_builder_get_object ( builder, "subscribe-to-events")); g_assert (subscribe_menuitem != NULL); action_menuitem = GTK_WIDGET (gtk_builder_get_object (builder, "invoke-action")); g_assert (action_menuitem != NULL); separator = GTK_WIDGET (gtk_builder_get_object ( builder, "device-popup-separator")); g_assert (separator != NULL); model = create_device_treemodel (); g_assert (model != NULL); setup_treeview (treeview, model, headers, 1); g_object_unref (model); column = gtk_tree_view_get_column (GTK_TREE_VIEW (treeview), 0); renderer = gtk_cell_renderer_pixbuf_new (); gtk_tree_view_column_pack_start (column, renderer, FALSE); gtk_tree_view_column_add_attribute (column, renderer, "pixbuf", 0); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)); g_assert (selection != NULL); g_signal_connect (selection, "changed", G_CALLBACK (on_something_selected), NULL); expanded = FALSE; }
static void setup_treeviews () { GtkWidget *treeviews[2]; GtkTreeModel *treemodels[2]; char *headers[2][6] = { {"Time", "Source Address", "Packet Type", "Packet Information", NULL }, {"Unique Identifier", "First Notify", "Device Type", "Location", NULL } }; GtkTreeSelection *selection; int i; treeviews[0] = GTK_WIDGET(gtk_builder_get_object (builder, "packet-treeview")); g_assert (treeviews[0] != NULL); treeviews[1] = GTK_WIDGET(gtk_builder_get_object (builder, "device-details-treeview")); g_assert (treeviews[1] != NULL); treemodels[0] = create_packet_treemodel (); g_assert (treemodels[0] != NULL); treemodels[1] = create_device_treemodel (); g_assert (treemodels[1] != NULL); for (i=0; i<2; i++) setup_treeview (treeviews[i], treemodels[i], headers[i]); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeviews[0])); g_assert (selection != NULL); g_signal_connect (selection, "changed", G_CALLBACK (on_packet_selected), (gpointer *) treeviews[0]); }