All pastes #287 Raw Edit

jpgtk code

public c v1 · immutable
#287 ·published 2004-07-14 04:14 UTC
rendered paste body
#include <gtk/gtk.h>#include "playlist.h"#include "pledit.h"extern void play_list_editor(Track_Structure *tracks) {	Play_List_Editor_Window ple;	ple.tracks = tracks;		make_main(&ple);	make_main_box(&ple);	make_list_box(&ple);	make_button_box(&ple);	make_scroll_window(&ple);	make_add_file_button(&ple);	make_add_directory_button(&ple);	make_remove_file_button(&ple);	make_file_list(&ple);		gtk_widget_show(ple.main_box);	gtk_widget_show(ple.play_list_editor);	return;	}extern void make_main(Play_List_Editor_Window *ple) {	ple->play_list_editor = gtk_window_new(GTK_WINDOW_TOPLEVEL);	gtk_window_set_title(GTK_WINDOW(ple->play_list_editor), FAMP_VERSION);	/* g_signal_connect(G_OBJECT(ple->play_list_editor), "delete_event",				G_CALLBACK(play_list_destroy), NULL); */	gtk_container_set_border_width(GTK_CONTAINER(ple->play_list_editor), 3);	return;}extern void make_main_box(Play_List_Editor_Window *ple) {	ple->main_box = gtk_vbox_new(FALSE, 0);	gtk_container_add(GTK_CONTAINER(ple->play_list_editor), ple->main_box);	return;}extern void make_list_box(Play_List_Editor_Window *ple) {	ple->list_box = gtk_hbox_new(FALSE, 0);	gtk_box_pack_start(GTK_BOX(ple->main_box), ple->list_box, TRUE, TRUE, 0);	gtk_widget_show(ple->list_box);		return;}extern void make_button_box(Play_List_Editor_Window *ple) {	ple->button_box = gtk_hbox_new(FALSE, 0);	gtk_box_pack_start(GTK_BOX(ple->main_box), ple->button_box, FALSE, TRUE, 0);	gtk_widget_show(ple->button_box);		return;		}extern void make_scroll_window(Play_List_Editor_Window *ple) {	ple->scroll_window = gtk_scrolled_window_new(NULL, NULL);	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(ple->scroll_window), 					GTK_POLICY_AUTOMATIC,					GTK_POLICY_AUTOMATIC);		gtk_box_pack_start(GTK_BOX(ple->list_box), ple->scroll_window, TRUE, TRUE, 0);	gtk_widget_show(ple->scroll_window);}extern void make_add_file_button(Play_List_Editor_Window *ple) {	ple->add_file_button = gtk_button_new_with_label("Add File(s)");	/* signal here */	gtk_box_pack_start(GTK_BOX(ple->button_box), ple->add_file_button, 				TRUE, TRUE, 0);	gtk_widget_show(ple->add_file_button);		return;}extern void make_add_directory_button(Play_List_Editor_Window *ple) {	ple->add_directory_button = gtk_button_new_with_label("Add Directory");	/* signal here */	gtk_box_pack_start(GTK_BOX(ple->button_box), ple->add_directory_button, 				TRUE, TRUE, 0);	gtk_widget_show(ple->add_directory_button);		return;}extern void make_remove_file_button(Play_List_Editor_Window *ple) {	ple->remove_file_button = gtk_button_new_with_label("Remove File(s)");	/* signal here */	gtk_box_pack_start(GTK_BOX(ple->button_box), ple->remove_file_button, 				TRUE, TRUE, 0);	gtk_widget_show(ple->remove_file_button);		return;}extern void make_file_list(Play_List_Editor_Window *ple) {	ple->list_view = gtk_tree_view_new();	ple->renderer = gtk_cell_renderer_text_new();	gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(ple->list_view),							-1, 							"Tracks", 							ple->renderer,							"text", 							COL_TRACK, 							NULL);	create_and_fill_model(ple);		gtk_tree_view_set_model(GTK_TREE_VIEW(ple->list_view), ple->model);	g_object_unref(ple->model);		/*gtk_box_pack_start(GTK_BOX(ple->list_box), ple->list_view, TRUE, TRUE, 0);*/	gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(ple->scroll_window),						ple->list_view);	gtk_widget_show(ple->list_view);		return;}extern void create_and_fill_model(Play_List_Editor_Window *ple) {	ple->store = gtk_list_store_new(NUM_COLS, G_TYPE_STRING);	load_tracks(ple);	ple->model = GTK_TREE_MODEL(ple->store);}extern void load_tracks(Play_List_Editor_Window *ple) {	Track n = ple->tracks->first_track;	while(n) {		gtk_list_store_append(ple->store, &ple->iter);		gtk_list_store_set(ple->store, &ple->iter, COL_TRACK, n->data, -1);		n = n->next;	}			return;}