X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=tests%2Ftestscrolledwindow.c;h=f0cc9c01572664f289bdc9b4e690091c5be3f8b8;hb=HEAD;hp=cb8d3be1a8bf698c3b3d51d494039731890337bd;hpb=209715f0eff9b0cc3210605e95686242893d2dd4;p=~andy%2Fgtk diff --git a/tests/testscrolledwindow.c b/tests/testscrolledwindow.c index cb8d3be1a..f0cc9c015 100644 --- a/tests/testscrolledwindow.c +++ b/tests/testscrolledwindow.c @@ -31,6 +31,37 @@ label_flip_changed (GtkComboBox *combo_box, gtk_label_set_angle (label, 90.0); } +static void +content_width_changed (GtkSpinButton *spin_button, + gpointer data) +{ + GtkScrolledWindow *swindow = data; + gdouble value; + + value = gtk_spin_button_get_value (spin_button); + gtk_scrolled_window_set_min_content_width (swindow, (gint)value); +} + +static void +content_height_changed (GtkSpinButton *spin_button, + gpointer data) +{ + GtkScrolledWindow *swindow = data; + gdouble value; + + value = gtk_spin_button_get_value (spin_button); + gtk_scrolled_window_set_min_content_height (swindow, (gint)value); +} + +static void +kinetic_scrolling_changed (GtkToggleButton *toggle_button, + gpointer data) +{ + GtkScrolledWindow *swindow = data; + gboolean enabled = gtk_toggle_button_get_active (toggle_button); + + gtk_scrolled_window_set_kinetic_scrolling (swindow, enabled); +} static void scrollable_policy (void) @@ -39,8 +70,8 @@ scrollable_policy (void) GtkWidget *viewport, *label, *expander, *widget; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - hbox = gtk_hbox_new (FALSE, 2); - vbox = gtk_vbox_new (FALSE, 6); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_container_set_border_width (GTK_CONTAINER (window), 8); @@ -81,14 +112,14 @@ scrollable_policy (void) /* Add controls here */ expander = gtk_expander_new ("Controls"); gtk_expander_set_expanded (GTK_EXPANDER (expander), TRUE); - cntl = gtk_vbox_new (FALSE, 2); + cntl = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2); gtk_widget_show (cntl); gtk_widget_show (expander); gtk_container_add (GTK_CONTAINER (expander), cntl); gtk_box_pack_start (GTK_BOX (vbox), expander, FALSE, FALSE, 0); /* Add Horizontal policy control here */ - hbox = gtk_hbox_new (FALSE, 2); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); gtk_widget_show (hbox); widget = gtk_label_new ("hscroll-policy"); @@ -108,7 +139,7 @@ scrollable_policy (void) G_CALLBACK (horizontal_policy_changed), viewport); /* Add Vertical policy control here */ - hbox = gtk_hbox_new (FALSE, 2); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); gtk_widget_show (hbox); widget = gtk_label_new ("vscroll-policy"); @@ -127,9 +158,39 @@ scrollable_policy (void) g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (vertical_policy_changed), viewport); + /* Content size controls */ + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); + + widget = gtk_label_new ("min-content-width"); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); + + widget = gtk_spin_button_new_with_range (100.0, 1000.0, 10.0); + gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (cntl), hbox, FALSE, FALSE, 0); + gtk_widget_show (widget); + gtk_widget_show (hbox); + + g_signal_connect (G_OBJECT (widget), "value-changed", + G_CALLBACK (content_width_changed), swindow); + + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); + + widget = gtk_label_new ("min-content-height"); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); + + widget = gtk_spin_button_new_with_range (100.0, 1000.0, 10.0); + gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (cntl), hbox, FALSE, FALSE, 0); + gtk_widget_show (widget); + gtk_widget_show (hbox); + + g_signal_connect (G_OBJECT (widget), "value-changed", + G_CALLBACK (content_height_changed), swindow); /* Add Label orientation control here */ - hbox = gtk_hbox_new (FALSE, 2); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); gtk_widget_show (hbox); widget = gtk_label_new ("label-flip"); @@ -148,6 +209,13 @@ scrollable_policy (void) g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (label_flip_changed), label); + /* Add Kinetic scrolling control here */ + widget = gtk_check_button_new_with_label ("Kinetic scrolling"); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (cntl), widget, TRUE, TRUE, 0); + g_signal_connect (G_OBJECT (widget), "toggled", + G_CALLBACK (kinetic_scrolling_changed), swindow); + gtk_widget_show (window); }