X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=tests%2Ftestspinbutton.c;h=9f8ada41fb86a4222a2ab4cb8a663383e9bf0d3d;hb=HEAD;hp=535a35cb2cb52a91d19e3a0cd94be85b01670a82;hpb=a9894d4cf48e04dcb89043b425be07870ad7c496;p=~andy%2Fgtk diff --git a/tests/testspinbutton.c b/tests/testspinbutton.c index 535a35cb2..9f8ada41f 100644 --- a/tests/testspinbutton.c +++ b/tests/testspinbutton.c @@ -12,51 +12,68 @@ * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library. If not, see . */ #include "config.h" #include -int -main (int argc, char **argv) +static gint num_windows = 0; + +static gboolean +on_delete_event (GtkWidget *w, + GdkEvent *event, + gpointer user_data) { - GtkWidget *window, *mainbox; - int max; + num_windows--; + if (num_windows == 0) + gtk_main_quit (); - gtk_init (&argc, &argv); + return FALSE; +} + +static void +prepare_window_for_orientation (GtkOrientation orientation) +{ + GtkWidget *window, *mainbox; + int max; - window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - g_signal_connect (window, "delete_event", gtk_main_quit, NULL); + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + g_signal_connect (window, "delete_event", G_CALLBACK (on_delete_event), NULL); - mainbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 2); - gtk_container_add (GTK_CONTAINER (window), mainbox); + mainbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2); + gtk_container_add (GTK_CONTAINER (window), mainbox); - for (max = 9; max <= 999999999; max = max * 10 + 9) { - GtkAdjustment *adj = gtk_adjustment_new (max, - 1, max, - 1, - (max + 1) / 10, - 0.0); + for (max = 9; max <= 999999999; max = max * 10 + 9) + { + GtkAdjustment *adj = gtk_adjustment_new (max, + 1, max, + 1, + (max + 1) / 10, + 0.0); - GtkWidget *spin = gtk_spin_button_new (adj, 1.0, 0); - GtkWidget *hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); - - gtk_box_pack_start (GTK_BOX (hbox), - spin, - FALSE, - FALSE, - 2); + GtkWidget *spin = gtk_spin_button_new (adj, 1.0, 0); + gtk_orientable_set_orientation (GTK_ORIENTABLE (spin), orientation); + gtk_widget_set_halign (GTK_WIDGET (spin), GTK_ALIGN_CENTER); - gtk_container_add (GTK_CONTAINER (mainbox), hbox); + GtkWidget *hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); + gtk_box_pack_start (GTK_BOX (hbox), spin, FALSE, FALSE, 2); + gtk_container_add (GTK_CONTAINER (mainbox), hbox); + } - } + gtk_widget_show_all (window); + num_windows++; +} + +int +main (int argc, char **argv) +{ + gtk_init (&argc, &argv); - gtk_widget_show_all (window); + prepare_window_for_orientation (GTK_ORIENTATION_HORIZONTAL); + prepare_window_for_orientation (GTK_ORIENTATION_VERTICAL); - gtk_main (); + gtk_main (); - return 0; + return 0; }