rem: G_TYPE_BOOLEAN));
add: G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING));
context: init_treeview (GtkWidget *treeview, TotemPlaylist *playlist){	GtkTreeModel *model;	GtkTreeSelection *selection;	/* the model */	model = GTK_TREE_MODEL (gtk_list_store_new (NUM_COLS,				GDK_TYPE_PIXBUF,				G_TYPE_STRING,				G_TYPE_STRING,				G_TYPE_BOOLEAN));	/* the treeview */	gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), model);	gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview), TRUE);	gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), FALSE);	g_object_unref (G_OBJECT (model));	init_columns (GTK_TREE_VIEW (treeview));	selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));	gtk_tree_selection_set_mode (selection, GTK_SELECTION_MULTIPLE);	g_signal_connect (G_OBJECT (selection), "changed",			G_CALLBACK (selection_changed), playlist);	g_signal_connect (G_OBJECT (treeview), "row-activated",			G_CALLBACK (treeview_row_changed), playlist);	g_signal_connect (G_OBJECT (treeview), "button-press-event",			G_CALLBACK (treeview_button_pressed), playlist);	/* Drag'n'Drop */	g_signal_connect (G_OBJECT (treeview), "drag_data_received",			G_CALLBACK (drop_cb), playlist);        g_signal_connect (G_OBJECT (treeview), "button_press_event",			G_CALLBACK (button_press_cb), playlist);        g_signal_connect (G_OBJECT (treeview), "button_release_event",			G_CALLBACK (button_release_cb), playlist);	g_signal_connect (G_OBJECT (treeview), "drag_begin",                        G_CALLBACK (drag_begin_cb), playlist);         g_signal_connect (G_OBJECT (treeview), "drag_end",                        G_CALLBACK (drag_end_cb), playlist);	gtk_drag_dest_set (treeview, GTK_DEST_DEFAULT_ALL,			target_table, G_N_ELEMENTS (target_table),			GDK_ACTION_COPY | GDK_ACTION_MOVE);	playlist->_priv->selection = selection;	gtk_widget_show (treeview);}