#include int main(int argc, char *argv[]) { GtkWidget *window; GtkWidget *button; GtkWidget *viewport; GtkWidget *scrollbar; GtkWidget *vbox, *hbox; int i; gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(gtk_main_quit), NULL); g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL); gtk_window_set_title(GTK_WINDOW(window), "Adjustments"); gtk_container_set_border_width(GTK_CONTAINER(window), 10); gtk_widget_set_size_request(window, -1, 200); scrollbar = gtk_vscrollbar_new(NULL); viewport = gtk_viewport_new(NULL, gtk_range_get_adjustment(GTK_RANGE(scrollbar))); gtk_widget_show(viewport); gtk_widget_show(scrollbar); vbox = gtk_vbox_new(FALSE, 5); gtk_widget_show(vbox); hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); for (i = 0; i < 50; i++) { gchar name[20]; g_sprintf(name, "Button %d", i); button = gtk_button_new_with_label(name); gtk_widget_show(button); gtk_box_pack_start(GTK_BOX(vbox), button, TRUE, TRUE, 0); } gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), scrollbar, FALSE, FALSE, 0); gtk_container_add(GTK_CONTAINER(viewport), hbox); gtk_container_add(GTK_CONTAINER(window), viewport); gtk_widget_show(window); gtk_main(); return 0; }