int main(int argc, char *argv[]) { gtk_init(&argc, &argv); gchar *dirname = g_path_get_dirname(argv[0]); gchar *dataFilename = g_build_filename(dirname, "phonebook.dat", NULL); base_t *ctx = base_new(dataFilename); g_free(dirname); g_free(dataFilename); GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), "PSP1Beleg"); gtk_window_set_default_size(GTK_WINDOW(window), 640, 480); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); g_signal_connect_swapped(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL); gbase_list_singleton = gbase_list_new(ctx); tree_view_singleton = gtk_tree_view_new_with_model(GTK_TREE_MODEL(gbase_list_singleton)); g_object_unref(gbase_list_singleton); //fill_model(gbase_list_singleton); gtk_tree_view_set_search_column(GTK_TREE_VIEW(tree_view_singleton), GBASE_LIST_COL_NUMBER); g_signal_connect(G_OBJECT(tree_view_singleton), "key-press-event", G_CALLBACK(on_key_press), NULL); append_column(GBASE_LIST_COL_NUMBER, "Phone Number"); append_column(GBASE_LIST_COL_NAME, "Surname"); append_column(GBASE_LIST_COL_FORENAME, "Forename"); GtkWidget *scrolled_window = gtk_scrolled_window_new(NULL, NULL); gtk_container_add(GTK_CONTAINER(scrolled_window), tree_view_singleton); gtk_container_add(GTK_CONTAINER(window), scrolled_window); gtk_widget_show_all(window); gtk_main(); bool ok = base_save(ctx); base_delete(ctx); return ok ? 0 : 1; }
void derived_delete (struct derived *obj) { base_delete (obj->base); derived_destructor (obj); free (obj); }