diff options
author | GMT 1998 Tony Gale <gale@gtk.org> | 1998-12-07 15:19:00 +0000 |
---|---|---|
committer | Tony Gale <gale@src.gnome.org> | 1998-12-07 15:19:00 +0000 |
commit | 337bdee253125b60eb38cab7e1d4916e8dd66d4f (patch) | |
tree | 4f4c6f771a02135a6796bd71c099059546e7f4d6 /examples | |
parent | 621beb8aaf93c8cfe234723d7001e114ac5a8345 (diff) | |
download | gdk-pixbuf-337bdee253125b60eb38cab7e1d4916e8dd66d4f.tar.gz |
Start mass update for GTK 1.1 Look for the best version of awk Fix FD leak
Mon Dec 7 15:15:06 GMT 1998 Tony Gale <gale@gtk.org>
* docs/gtk_tut.sgml: Start mass update for GTK 1.1
* examples/extract.sh: Look for the best version of awk
* examples/extract.awk: Fix FD leak
* example/base: minimal example from Tutorial
Diffstat (limited to 'examples')
-rw-r--r-- | examples/base/Makefile | 8 | ||||
-rw-r--r-- | examples/base/base.c | 19 | ||||
-rw-r--r-- | examples/buttons/buttons.c | 51 | ||||
-rw-r--r-- | examples/extract.awk | 2 | ||||
-rwxr-xr-x | examples/extract.sh | 28 | ||||
-rw-r--r-- | examples/helloworld/helloworld.c | 102 | ||||
-rw-r--r-- | examples/helloworld2/helloworld2.c | 85 | ||||
-rw-r--r-- | examples/packbox/packbox.c | 87 | ||||
-rw-r--r-- | examples/radiobuttons/radiobuttons.c | 117 | ||||
-rw-r--r-- | examples/rangewidgets/rangewidgets.c | 450 | ||||
-rw-r--r-- | examples/table/table.c | 54 |
11 files changed, 541 insertions, 462 deletions
diff --git a/examples/base/Makefile b/examples/base/Makefile new file mode 100644 index 000000000..c6a3b9057 --- /dev/null +++ b/examples/base/Makefile @@ -0,0 +1,8 @@ + +CC = gcc + +base: base.c + $(CC) `gtk-config --cflags` base.c -o base `gtk-config --libs` + +clean: + rm -f *.o base diff --git a/examples/base/base.c b/examples/base/base.c new file mode 100644 index 000000000..aefd0c062 --- /dev/null +++ b/examples/base/base.c @@ -0,0 +1,19 @@ +/* example-start base base.c */ + +#include <gtk/gtk.h> + +int main( int argc, + char *argv[] ) +{ + GtkWidget *window; + + gtk_init (&argc, &argv); + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_widget_show (window); + + gtk_main (); + + return 0; +} +/* example-end */ diff --git a/examples/buttons/buttons.c b/examples/buttons/buttons.c index fecfc4683..e6eb5561a 100644 --- a/examples/buttons/buttons.c +++ b/examples/buttons/buttons.c @@ -1,13 +1,13 @@ -/* This file extracted from the GTK tutorial. */ - -/* buttons.c */ +/* example-start buttons buttons.c */ #include <gtk/gtk.h> -/* create a new hbox with an image and a label packed into it - * and return the box.. */ +/* Create a new hbox with an image and a label packed into it + * and return the box. */ -GtkWidget *xpm_label_box (GtkWidget *parent, gchar *xpm_filename, gchar *label_text) +GtkWidget *xpm_label_box( GtkWidget *parent, + gchar *xpm_filename, + gchar *label_text ) { GtkWidget *box1; GtkWidget *label; @@ -16,24 +16,24 @@ GtkWidget *xpm_label_box (GtkWidget *parent, gchar *xpm_filename, gchar *label_t GdkBitmap *mask; GtkStyle *style; - /* create box for xpm and label */ + /* Create box for xpm and label */ box1 = gtk_hbox_new (FALSE, 0); gtk_container_border_width (GTK_CONTAINER (box1), 2); - /* get style of button.. I assume it's to get the background color. - * if someone knows the real reason, please enlighten me. */ + /* Get the style of the button to get the + * background color. */ style = gtk_widget_get_style(parent); - /* now on to the xpm stuff.. load xpm */ + /* Now on to the xpm stuff */ pixmap = gdk_pixmap_create_from_xpm (parent->window, &mask, &style->bg[GTK_STATE_NORMAL], xpm_filename); pixmapwid = gtk_pixmap_new (pixmap, mask); - /* create label for button */ + /* Create a label for the button */ label = gtk_label_new (label_text); - /* pack the pixmap and label into the box */ + /* Pack the pixmap and label into the box */ gtk_box_pack_start (GTK_BOX (box1), pixmapwid, FALSE, FALSE, 3); @@ -42,17 +42,19 @@ GtkWidget *xpm_label_box (GtkWidget *parent, gchar *xpm_filename, gchar *label_t gtk_widget_show(pixmapwid); gtk_widget_show(label); - return (box1); + return(box1); } -/* our usual callback function */ -void callback (GtkWidget *widget, gpointer data) +/* Our usual callback function */ +void callback( GtkWidget *widget, + gpointer data ) { g_print ("Hello again - %s was pressed\n", (char *) data); } -int main (int argc, char *argv[]) +int main( int argc, + char *argv[] ) { /* GtkWidget is the storage type for widgets */ GtkWidget *window; @@ -61,7 +63,7 @@ int main (int argc, char *argv[]) gtk_init (&argc, &argv); - /* create a new window */ + /* Create a new window */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Pixmap'd Buttons!"); @@ -74,21 +76,21 @@ int main (int argc, char *argv[]) GTK_SIGNAL_FUNC (gtk_exit), NULL); - /* sets the border width of the window. */ + /* Sets the border width of the window. */ gtk_container_border_width (GTK_CONTAINER (window), 10); gtk_widget_realize(window); - /* create a new button */ + /* Create a new button */ button = gtk_button_new (); - /* You should be getting used to seeing most of these functions by now */ + /* Connect the "clicked" signal of the button to our callback */ gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (callback), (gpointer) "cool button"); - /* this calls our box creating function */ + /* This calls our box creating function */ box1 = xpm_label_box(window, "info.xpm", "cool button"); - /* pack and show all our widgets */ + /* Pack and show all our widgets */ gtk_widget_show(box1); gtk_container_add (GTK_CONTAINER (button), box1); @@ -99,8 +101,9 @@ int main (int argc, char *argv[]) gtk_widget_show (window); - /* rest in gtk_main and wait for the fun to begin! */ + /* Rest in gtk_main and wait for the fun to begin! */ gtk_main (); - return 0; + return(0); } +/* example-end */ diff --git a/examples/extract.awk b/examples/extract.awk index 44cd32a3d..a8fcba12d 100644 --- a/examples/extract.awk +++ b/examples/extract.awk @@ -35,6 +35,8 @@ $2 == "example-start" { in_example=1 } $2 == "example-start" && check == 0 \ { if ( (spec_example == "") || (spec_example == $4) ) { if ( flatten == 0 ) { + if (file_name != "") + close(file_name); file_name = sprintf("%s/%s",$3, $4); command = sprintf("mkdir -p %s", $3); system(command); diff --git a/examples/extract.sh b/examples/extract.sh index b19e19a20..49be11318 100755 --- a/examples/extract.sh +++ b/examples/extract.sh @@ -1,2 +1,28 @@ #! /bin/sh -awk -f extract.awk ../docs/gtk_tut.sgml $1 $2 $3 $4 $5 +# extract - extract C source files from GTK Tutorial +# Copyright (C) Tony Gale 1998 +# Contact: gale@gtk.org +# +# extract.awk command Switches: +# -c : Just do checking rather than output files +# -f <filename> : Extract a specific file +# -d : Extract files to current directory + +if [ -x /usr/bin/gawk ]; then + gawk -f extract.awk ../docs/gtk_tut.sgml $1 $2 $3 $4 $5 +else + if [ -x /usr/bin/nawk ]; then + nawk -f extract.awk ../docs/gtk_tut.sgml $1 $2 $3 $4 $5 + else + if [ -x /usr/bin/awk ]; then + awk -f extract.awk ../docs/gtk_tut.sgml $1 $2 $3 $4 $5 + else + if [ -x /bin/awk ]; then + awk -f extract.awk ../docs/gtk_tut.sgml $1 $2 $3 $4 $5 + else + echo "Can't find awk... please edit extract.sh by hand" + fi + fi + fi +fi + diff --git a/examples/helloworld/helloworld.c b/examples/helloworld/helloworld.c index f022c472b..baa0b6040 100644 --- a/examples/helloworld/helloworld.c +++ b/examples/helloworld/helloworld.c @@ -1,97 +1,101 @@ -/* This file extracted from the GTK tutorial. */ +/* example-start helloworld helloworld.c */ -/* helloworld.c */ - #include <gtk/gtk.h> -/* this is a callback function. the data arguments are ignored in this example. - * More on callbacks below. */ -void hello (GtkWidget *widget, gpointer data) +/* This is a callback function. The data arguments are ignored + * in this example. More on callbacks below. */ +void hello( GtkWidget *widget, + gpointer data ) { g_print ("Hello World\n"); } - -gint delete_event(GtkWidget *widget, GdkEvent *event, gpointer data) +gint delete_event( GtkWidget *widget, + GdkEvent *event, + gpointer data ) { - g_print ("delete event occured\n"); - /* if you return FALSE in the "delete_event" signal handler, - * GTK will emit the "destroy" signal. Returning TRUE means + /* If you return FALSE in the "delete_event" signal handler, + * GTK will emit the "destroy" signal. Returning TRUE means * you don't want the window to be destroyed. - * This is useful for popping up 'are you sure you want to quit ?' + * This is useful for popping up 'are you sure you want to quit?' * type dialogs. */ + g_print ("delete event occurred\n"); + /* Change TRUE to FALSE and the main window will be destroyed with * a "delete_event". */ - return (TRUE); + return(TRUE); } -/* another callback */ -void destroy (GtkWidget *widget, gpointer data) +/* Another callback */ +void destroy( GtkWidget *widget, + gpointer data ) { - gtk_main_quit (); + gtk_main_quit(); } -int main (int argc, char *argv[]) +int main( int argc, + char *argv[] ) { /* GtkWidget is the storage type for widgets */ GtkWidget *window; GtkWidget *button; - - /* this is called in all GTK applications. arguments are parsed from - * the command line and are returned to the application. */ - gtk_init (&argc, &argv); + + /* This is called in all GTK applications. Arguments are parsed + * from the command line and are returned to the application. */ + gtk_init(&argc, &argv); /* create a new window */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - - /* when the window is given the "delete_event" signal (this is given - * by the window manager (usually the 'close' option, or on the + + /* When the window is given the "delete_event" signal (this is given + * by the window manager, usually by the 'close' option, or on the * titlebar), we ask it to call the delete_event () function - * as defined above. The data passed to the callback - * function is NULL and is ignored in the callback. */ + * as defined above. The data passed to the callback + * function is NULL and is ignored in the callback function. */ gtk_signal_connect (GTK_OBJECT (window), "delete_event", - GTK_SIGNAL_FUNC (delete_event), NULL); - - /* here we connect the "destroy" event to a signal handler. + GTK_SIGNAL_FUNC (delete_event), NULL); + + /* Here we connect the "destroy" event to a signal handler. * This event occurs when we call gtk_widget_destroy() on the window, * or if we return 'FALSE' in the "delete_event" callback. */ gtk_signal_connect (GTK_OBJECT (window), "destroy", - GTK_SIGNAL_FUNC (destroy), NULL); - - /* sets the border width of the window. */ + GTK_SIGNAL_FUNC (destroy), NULL); + + /* Sets the border width of the window. */ gtk_container_border_width (GTK_CONTAINER (window), 10); - - /* creates a new button with the label "Hello World". */ + + /* Creates a new button with the label "Hello World". */ button = gtk_button_new_with_label ("Hello World"); - + /* When the button receives the "clicked" signal, it will call the - * function hello() passing it NULL as it's argument. The hello() + * function hello() passing it NULL as its argument. The hello() * function is defined above. */ gtk_signal_connect (GTK_OBJECT (button), "clicked", - GTK_SIGNAL_FUNC (hello), NULL); + GTK_SIGNAL_FUNC (hello), NULL); /* This will cause the window to be destroyed by calling * gtk_widget_destroy(window) when "clicked". Again, the destroy * signal could come from here, or the window manager. */ gtk_signal_connect_object (GTK_OBJECT (button), "clicked", - GTK_SIGNAL_FUNC (gtk_widget_destroy), - GTK_OBJECT (window)); - - /* this packs the button into the window (a gtk container). */ + GTK_SIGNAL_FUNC (gtk_widget_destroy), + GTK_OBJECT (window)); + + /* This packs the button into the window (a gtk container). */ gtk_container_add (GTK_CONTAINER (window), button); - /* the final step is to display this newly created widget... */ + /* The final step is to display this newly created widget. */ gtk_widget_show (button); - + /* and the window */ gtk_widget_show (window); - - /* all GTK applications must have a gtk_main(). Control ends here - * and waits for an event to occur (like a key press or mouse event). */ + + /* All GTK applications must have a gtk_main(). Control ends here + * and waits for an event to occur (like a key press or + * mouse event). */ gtk_main (); - - return 0; + + return(0); } - +/* example-end */ diff --git a/examples/helloworld2/helloworld2.c b/examples/helloworld2/helloworld2.c index 6b945d66c..6954333a5 100644 --- a/examples/helloworld2/helloworld2.c +++ b/examples/helloworld2/helloworld2.c @@ -1,83 +1,84 @@ -/* This file extracted from the GTK tutorial. */ - -/* helloworld2.c */ +/* example-start helloworld2 helloworld2.c */ #include <gtk/gtk.h> - -/* Our new improved callback. The data passed to this function is printed - * to stdout. */ -void callback (GtkWidget *widget, gpointer data) -{ + +/* Our new improved callback. The data passed to this function + * is printed to stdout. */ +void callback( GtkWidget *widget, + gpointer data ) +{ g_print ("Hello again - %s was pressed\n", (char *) data); } - + /* another callback */ -void delete_event (GtkWidget *widget, GdkEvent *event, gpointer data) -{ +void delete_event( GtkWidget *widget, + GdkEvent *event, + gpointer data ) +{ gtk_main_quit (); } -int main (int argc, char *argv[]) +int main( int argc, + char *argv[] ) { /* GtkWidget is the storage type for widgets */ GtkWidget *window; GtkWidget *button; GtkWidget *box1; - /* this is called in all GTK applications. arguments are parsed from - * the command line and are returned to the application. */ + /* This is called in all GTK applications. Arguments are parsed + * from the command line and are returned to the application. */ gtk_init (&argc, &argv); - /* create a new window */ + /* Create a new window */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - /* this is a new call, this just sets the title of our + /* This is a new call, this just sets the title of our * new window to "Hello Buttons!" */ gtk_window_set_title (GTK_WINDOW (window), "Hello Buttons!"); /* Here we just set a handler for delete_event that immediately * exits GTK. */ gtk_signal_connect (GTK_OBJECT (window), "delete_event", - GTK_SIGNAL_FUNC (delete_event), NULL); + GTK_SIGNAL_FUNC (delete_event), NULL); - - /* sets the border width of the window. */ + /* Sets the border width of the window. */ gtk_container_border_width (GTK_CONTAINER (window), 10); - /* we create a box to pack widgets into. this is described in detail - * in the "packing" section below. The box is not really visible, it + /* We create a box to pack widgets into. This is described in detail + * in the "packing" section. The box is not really visible, it * is just used as a tool to arrange widgets. */ box1 = gtk_hbox_new(FALSE, 0); - /* put the box into the main window. */ + /* Put the box into the main window. */ gtk_container_add (GTK_CONTAINER (window), box1); - /* creates a new button with the label "Button 1". */ + /* Creates a new button with the label "Button 1". */ button = gtk_button_new_with_label ("Button 1"); - + /* Now when the button is clicked, we call the "callback" function - * with a pointer to "button 1" as it's argument */ + * with a pointer to "button 1" as its argument */ gtk_signal_connect (GTK_OBJECT (button), "clicked", - GTK_SIGNAL_FUNC (callback), (gpointer) "button 1"); - - /* instead of gtk_container_add, we pack this button into the invisible + GTK_SIGNAL_FUNC (callback), (gpointer) "button 1"); + + /* Instead of gtk_container_add, we pack this button into the invisible * box, which has been packed into the window. */ gtk_box_pack_start(GTK_BOX(box1), button, TRUE, TRUE, 0); - - /* always remember this step, this tells GTK that our preparation for - * this button is complete, and it can be displayed now. */ + + /* Always remember this step, this tells GTK that our preparation for + * this button is complete, and it can now be displayed. */ gtk_widget_show(button); - - /* do these same steps again to create a second button */ + + /* Do these same steps again to create a second button */ button = gtk_button_new_with_label ("Button 2"); - - /* call the same callback function with a different argument, + + /* Call the same callback function with a different argument, * passing a pointer to "button 2" instead. */ gtk_signal_connect (GTK_OBJECT (button), "clicked", - GTK_SIGNAL_FUNC (callback), (gpointer) "button 2"); - + GTK_SIGNAL_FUNC (callback), (gpointer) "button 2"); + gtk_box_pack_start(GTK_BOX(box1), button, TRUE, TRUE, 0); - + /* The order in which we show the buttons is not really important, but I * recommend showing the window last, so it all pops up at once. */ gtk_widget_show(button); @@ -86,9 +87,9 @@ int main (int argc, char *argv[]) gtk_widget_show (window); - /* rest in gtk_main and wait for the fun to begin! */ + /* Rest in gtk_main and wait for the fun to begin! */ gtk_main (); - - return 0; -} + return(0); +} +/* example-end */ diff --git a/examples/packbox/packbox.c b/examples/packbox/packbox.c index 8791c6674..111372234 100644 --- a/examples/packbox/packbox.c +++ b/examples/packbox/packbox.c @@ -1,13 +1,11 @@ -/* This file extracted from the GTK tutorial. */ - -/* packbox.c */ +/* example-start packbox packbox.c */ #include <stdio.h> -#include <gtk/gtk.h> -#include <stdlib.h> +#include "gtk/gtk.h" -void -delete_event (GtkWidget *widget, GdkEvent *event, gpointer data) +void delete_event( GtkWidget *widget, + GdkEvent *event, + gpointer data ) { gtk_main_quit (); } @@ -15,18 +13,21 @@ delete_event (GtkWidget *widget, GdkEvent *event, gpointer data) /* Make a new hbox filled with button-labels. Arguments for the * variables we're interested are passed in to this function. * We do not show the box, but do show everything inside. */ -GtkWidget *make_box (gint homogeneous, gint spacing, - gint expand, gint fill, gint padding) +GtkWidget *make_box( gint homogeneous, + gint spacing, + gint expand, + gint fill, + gint padding ) { GtkWidget *box; GtkWidget *button; char padstr[80]; - /* create a new hbox with the appropriate homogeneous and spacing - * settings */ + /* Create a new hbox with the appropriate homogeneous + * and spacing settings */ box = gtk_hbox_new (homogeneous, spacing); - /* create a series of buttons with the appropriate settings */ + /* Create a series of buttons with the appropriate settings */ button = gtk_button_new_with_label ("gtk_box_pack"); gtk_box_pack_start (GTK_BOX (box), button, expand, fill, padding); gtk_widget_show (button); @@ -39,7 +40,7 @@ GtkWidget *make_box (gint homogeneous, gint spacing, gtk_box_pack_start (GTK_BOX (box), button, expand, fill, padding); gtk_widget_show (button); - /* create a button with the label depending on the value of + /* Create a button with the label depending on the value of * expand. */ if (expand == TRUE) button = gtk_button_new_with_label ("TRUE,"); @@ -64,8 +65,8 @@ GtkWidget *make_box (gint homogeneous, gint spacing, return box; } -int -main (int argc, char *argv[]) +int main( int argc, + char *argv[]) { GtkWidget *window; GtkWidget *button; @@ -91,7 +92,7 @@ main (int argc, char *argv[]) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); /* You should always remember to connect the destroy signal to the - * main window. This is very important for proper intuitive + * main window. This is very important for proper intuitive * behavior */ gtk_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (delete_event), NULL); @@ -102,7 +103,7 @@ main (int argc, char *argv[]) * on top of the other in this vbox. */ box1 = gtk_vbox_new (FALSE, 0); - /* which example to show. These correspond to the pictures above. */ + /* which example to show. These correspond to the pictures above. */ switch (which) { case 1: /* create a new label. */ @@ -117,16 +118,16 @@ main (int argc, char *argv[]) * order. */ gtk_box_pack_start (GTK_BOX (box1), label, FALSE, FALSE, 0); - /* show the label */ + /* Show the label */ gtk_widget_show (label); - /* call our make box function - homogeneous = FALSE, spacing = 0, + /* Call our make box function - homogeneous = FALSE, spacing = 0, * expand = FALSE, fill = FALSE, padding = 0 */ box2 = make_box (FALSE, 0, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, FALSE, 0); gtk_widget_show (box2); - /* call our make box function - homogeneous = FALSE, spacing = 0, + /* Call our make box function - homogeneous = FALSE, spacing = 0, * expand = FALSE, fill = FALSE, padding = 0 */ box2 = make_box (FALSE, 0, TRUE, FALSE, 0); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, FALSE, 0); @@ -137,17 +138,17 @@ main (int argc, char *argv[]) gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, FALSE, 0); gtk_widget_show (box2); - /* creates a separator, we'll learn more about these later, + /* Creates a separator, we'll learn more about these later, * but they are quite simple. */ separator = gtk_hseparator_new (); - /* pack the separator into the vbox. Remember each of these + /* Cack the separator into the vbox. Remember each of these * widgets are being packed into a vbox, so they'll be stacked * vertically. */ gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 5); gtk_widget_show (separator); - /* create another new label, and show it. */ + /* Create another new label, and show it. */ label = gtk_label_new ("gtk_hbox_new (TRUE, 0);"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0); gtk_box_pack_start (GTK_BOX (box1), label, FALSE, FALSE, 0); @@ -163,7 +164,7 @@ main (int argc, char *argv[]) gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, FALSE, 0); gtk_widget_show (box2); - /* another new separator. */ + /* Another new separator. */ separator = gtk_hseparator_new (); /* The last 3 arguments to gtk_box_pack_start are: expand, fill, padding. */ gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 5); @@ -173,7 +174,7 @@ main (int argc, char *argv[]) case 2: - /* create a new label, remember box1 is a vbox as created + /* Create a new label, remember box1 is a vbox as created * near the beginning of main() */ label = gtk_label_new ("gtk_hbox_new (FALSE, 10);"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0); @@ -218,27 +219,28 @@ main (int argc, char *argv[]) case 3: - /* This demonstrates the ability to use gtk_box_pack_end() to - * right justify widgets. First, we create a new box as before. */ + /* This demonstrates the ability to use gtk_box_pack_end() to + * right justify widgets. First, we create a new box as before. */ box2 = make_box (FALSE, 0, FALSE, FALSE, 0); - /* create the label that will be put at the end. */ + + /* Create the label that will be put at the end. */ label = gtk_label_new ("end"); - /* pack it using gtk_box_pack_end(), so it is put on the right side - * of the hbox created in the make_box() call. */ + /* Pack it using gtk_box_pack_end(), so it is put on the right + * side of the hbox created in the make_box() call. */ gtk_box_pack_end (GTK_BOX (box2), label, FALSE, FALSE, 0); - /* show the label. */ + /* Show the label. */ gtk_widget_show (label); - /* pack box2 into box1 (the vbox remember ? :) */ + /* Pack box2 into box1 (the vbox remember ? :) */ gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, FALSE, 0); gtk_widget_show (box2); - /* a separator for the bottom. */ + /* A separator for the bottom. */ separator = gtk_hseparator_new (); - /* this explicitly sets the separator to 400 pixels wide by 5 pixels - * high. This is so the hbox we created will also be 400 pixels wide, + /* This explicitly sets the separator to 400 pixels wide by 5 pixels + * high. This is so the hbox we created will also be 400 pixels wide, * and the "end" label will be separated from the other labels in the - * hbox. Otherwise, all the widgets in the hbox would be packed as + * hbox. Otherwise, all the widgets in the hbox would be packed as * close together as possible. */ gtk_widget_set_usize (separator, 400, 5); /* pack the separator into the vbox (box1) created near the start @@ -253,23 +255,23 @@ main (int argc, char *argv[]) /* Our quit button. */ button = gtk_button_new_with_label ("Quit"); - /* setup the signal to destroy the window. Remember that this will send + /* Setup the signal to destroy the window. Remember that this will send * the "destroy" signal to the window which will be caught by our signal * handler as defined above. */ gtk_signal_connect_object (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (gtk_main_quit), GTK_OBJECT (window)); - /* pack the button into the quitbox. + /* Pack the button into the quitbox. * The last 3 arguments to gtk_box_pack_start are: expand, fill, padding. */ gtk_box_pack_start (GTK_BOX (quitbox), button, TRUE, FALSE, 0); /* pack the quitbox into the vbox (box1) */ gtk_box_pack_start (GTK_BOX (box1), quitbox, FALSE, FALSE, 0); - /* pack the vbox (box1) which now contains all our widgets, into the + /* Pack the vbox (box1) which now contains all our widgets, into the * main window. */ gtk_container_add (GTK_CONTAINER (window), box1); - /* and show everything left */ + /* And show everything left */ gtk_widget_show (button); gtk_widget_show (quitbox); @@ -280,8 +282,9 @@ main (int argc, char *argv[]) /* And of course, our main function. */ gtk_main (); - /* control returns here when gtk_main_quit() is called, but not when + /* Control returns here when gtk_main_quit() is called, but not when * gtk_exit is used. */ - return 0; + return(0); } +/* example-end */ diff --git a/examples/radiobuttons/radiobuttons.c b/examples/radiobuttons/radiobuttons.c index 8ae7587d4..2b1263e8b 100644 --- a/examples/radiobuttons/radiobuttons.c +++ b/examples/radiobuttons/radiobuttons.c @@ -1,77 +1,82 @@ -/* This file extracted from the GTK tutorial. */ - -/* radiobuttons.c */ +/* example-start radiobuttons radiobuttons.c */ #include <gtk/gtk.h> #include <glib.h> -void close_application( GtkWidget *widget, GdkEvent *event, gpointer data ) +void close_application( GtkWidget *widget, + GdkEvent *event, + gpointer data ) { gtk_main_quit(); } -int main(int argc,char *argv[]) +int main( int argc, + char *argv[] ) { - static GtkWidget *window = NULL; - GtkWidget *box1; - GtkWidget *box2; - GtkWidget *button; - GtkWidget *separator; - GSList *group; + GtkWidget *window = NULL; + GtkWidget *box1; + GtkWidget *box2; + GtkWidget *button; + GtkWidget *separator; + GSList *group; - gtk_init(&argc,&argv); - window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_init(&argc,&argv); + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_signal_connect (GTK_OBJECT (window), "delete_event", - GTK_SIGNAL_FUNC(close_application), - NULL); + gtk_signal_connect (GTK_OBJECT (window), "delete_event", + GTK_SIGNAL_FUNC(close_application), + NULL); + + gtk_window_set_title (GTK_WINDOW (window), "radio buttons"); + gtk_container_border_width (GTK_CONTAINER (window), 0); - gtk_window_set_title (GTK_WINDOW (window), "radio buttons"); - gtk_container_border_width (GTK_CONTAINER (window), 0); + box1 = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (window), box1); + gtk_widget_show (box1); - box1 = gtk_vbox_new (FALSE, 0); - gtk_container_add (GTK_CONTAINER (window), box1); - gtk_widget_show (box1); + box2 = gtk_vbox_new (FALSE, 10); + gtk_container_border_width (GTK_CONTAINER (box2), 10); + gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); + gtk_widget_show (box2); - box2 = gtk_vbox_new (FALSE, 10); - gtk_container_border_width (GTK_CONTAINER (box2), 10); - gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); - gtk_widget_show (box2); + button = gtk_radio_button_new_with_label (NULL, "button1"); + gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); + gtk_widget_show (button); - button = gtk_radio_button_new_with_label (NULL, "button1"); - gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); - gtk_widget_show (button); + group = gtk_radio_button_group (GTK_RADIO_BUTTON (button)); + button = gtk_radio_button_new_with_label(group, "button2"); + gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (button), TRUE); + gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); + gtk_widget_show (button); - group = gtk_radio_button_group (GTK_RADIO_BUTTON (button)); - button = gtk_radio_button_new_with_label(group, "button2"); - gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (button), TRUE); - gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); - gtk_widget_show (button); + button = gtk_radio_button_new_with_label( + gtk_radio_button_group (GTK_RADIO_BUTTON (button)), + "button3"); + gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); + gtk_widget_show (button); - group = gtk_radio_button_group (GTK_RADIO_BUTTON (button)); - button = gtk_radio_button_new_with_label(group, "button3"); - gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); - gtk_widget_show (button); + separator = gtk_hseparator_new (); + gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); + gtk_widget_show (separator); - separator = gtk_hseparator_new (); - gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - gtk_widget_show (separator); + box2 = gtk_vbox_new (FALSE, 10); + gtk_container_border_width (GTK_CONTAINER (box2), 10); + gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); + gtk_widget_show (box2); - box2 = gtk_vbox_new (FALSE, 10); - gtk_container_border_width (GTK_CONTAINER (box2), 10); - gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); - gtk_widget_show (box2); + button = gtk_button_new_with_label ("close"); + gtk_signal_connect_object (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC(close_application), + GTK_OBJECT (window)); + gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); + GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT); + gtk_widget_grab_default (button); + gtk_widget_show (button); + gtk_widget_show (window); + + gtk_main(); - button = gtk_button_new_with_label ("close"); - gtk_signal_connect_object (GTK_OBJECT (button), "clicked", - GTK_SIGNAL_FUNC(close_application), - GTK_OBJECT (window)); - gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); - GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT); - gtk_widget_grab_default (button); - gtk_widget_show (button); - gtk_widget_show (window); - - gtk_main(); - return(0); + return(0); } +/* example-end */ diff --git a/examples/rangewidgets/rangewidgets.c b/examples/rangewidgets/rangewidgets.c index d59c8b273..886200bd2 100644 --- a/examples/rangewidgets/rangewidgets.c +++ b/examples/rangewidgets/rangewidgets.c @@ -4,284 +4,288 @@ GtkWidget *hscale, *vscale; -void cb_pos_menu_select (GtkWidget *item, GtkPositionType pos) +void cb_pos_menu_select( GtkWidget *item, + GtkPositionType pos ) { - /* set the value position on both scale widgets */ - gtk_scale_set_value_pos (GTK_SCALE (hscale), pos); - gtk_scale_set_value_pos (GTK_SCALE (vscale), pos); + /* Set the value position on both scale widgets */ + gtk_scale_set_value_pos (GTK_SCALE (hscale), pos); + gtk_scale_set_value_pos (GTK_SCALE (vscale), pos); } -void cb_update_menu_select (GtkWidget *item, GtkUpdateType policy) +void cb_update_menu_select( GtkWidget *item, + GtkUpdateType policy ) { - /* set the update policy for both scale widgets */ - gtk_range_set_update_policy (GTK_RANGE (hscale), policy); - gtk_range_set_update_policy (GTK_RANGE (vscale), policy); + /* Set the update policy for both scale widgets */ + gtk_range_set_update_policy (GTK_RANGE (hscale), policy); + gtk_range_set_update_policy (GTK_RANGE (vscale), policy); } -void cb_digits_scale (GtkAdjustment *adj) +void cb_digits_scale( GtkAdjustment *adj ) { - /* set the number of decimal places to which adj->vaule is rounded - */ - gtk_scale_set_digits (GTK_SCALE (hscale), (gint) adj->value); - gtk_scale_set_digits (GTK_SCALE (vscale), (gint) adj->value); + /* Set the number of decimal places to which adj->value is rounded */ + gtk_scale_set_digits (GTK_SCALE (hscale), (gint) adj->value); + gtk_scale_set_digits (GTK_SCALE (vscale), (gint) adj->value); } -void cb_page_size (GtkAdjustment *get, GtkAdjustment *set) +void cb_page_size( GtkAdjustment *get, + GtkAdjustment *set ) { - /* set the page size and page increment size of the sample - adjustment to the value specified by the "Page Size" scale */ - set->page_size = get->value; - set->page_increment = get->value; - /* now emit the "changed" signal to reconfigure all the widgets that - are attached to this adjustment */ - gtk_signal_emit_by_name (GTK_OBJECT (set), "changed"); + /* Set the page size and page increment size of the sample + * adjustment to the value specified by the "Page Size" scale */ + set->page_size = get->value; + set->page_increment = get->value; + /* Now emit the "changed" signal to reconfigure all the widgets that + * are attached to this adjustment */ + gtk_signal_emit_by_name (GTK_OBJECT (set), "changed"); } -void cb_draw_value (GtkToggleButton *button) +void cb_draw_value( GtkToggleButton *button ) { - /* turn the value display on the scale widgets off or on depending - on the state of the checkbutton */ - gtk_scale_set_draw_value (GTK_SCALE (hscale), button->active); - gtk_scale_set_draw_value (GTK_SCALE (vscale), button->active); + /* Turn the value display on the scale widgets off or on depending + * on the state of the checkbutton */ + gtk_scale_set_draw_value (GTK_SCALE (hscale), button->active); + gtk_scale_set_draw_value (GTK_SCALE (vscale), button->active); } -/* convenience functions */ +/* Convenience functions */ -GtkWidget *make_menu_item (gchar *name, GtkSignalFunc callback, - gpointer data) +GtkWidget *make_menu_item( gchar *name, + GtkSignalFunc callback, + gpointer data ) { - GtkWidget *item; + GtkWidget *item; - item = gtk_menu_item_new_with_label (name); - gtk_signal_connect (GTK_OBJECT (item), "activate", - callback, data); - gtk_widget_show (item); + item = gtk_menu_item_new_with_label (name); + gtk_signal_connect (GTK_OBJECT (item), "activate", + callback, data); + gtk_widget_show (item); - return item; + return(item); } -void scale_set_default_values (GtkScale *scale) +void scale_set_default_values( GtkScale *scale ) { - gtk_range_set_update_policy (GTK_RANGE (scale), - GTK_UPDATE_CONTINUOUS); - gtk_scale_set_digits (scale, 1); - gtk_scale_set_value_pos (scale, GTK_POS_TOP); - gtk_scale_set_draw_value (scale, TRUE); + gtk_range_set_update_policy (GTK_RANGE (scale), + GTK_UPDATE_CONTINUOUS); + gtk_scale_set_digits (scale, 1); + gtk_scale_set_value_pos (scale, GTK_POS_TOP); + gtk_scale_set_draw_value (scale, TRUE); } /* makes the sample window */ -void create_range_controls (void) +void create_range_controls( void ) { - GtkWidget *window; - GtkWidget *box1, *box2, *box3; - GtkWidget *button; - GtkWidget *scrollbar; - GtkWidget *separator; - GtkWidget *opt, *menu, *item; - GtkWidget *label; - GtkWidget *scale; - GtkObject *adj1, *adj2; - - /* standard window-creating stuff */ - window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_signal_connect (GTK_OBJECT (window), "destroy", - GTK_SIGNAL_FUNC(gtk_main_quit), - NULL); - gtk_window_set_title (GTK_WINDOW (window), "range controls"); - - box1 = gtk_vbox_new (FALSE, 0); - gtk_container_add (GTK_CONTAINER (window), box1); - gtk_widget_show (box1); - - box2 = gtk_hbox_new (FALSE, 10); - gtk_container_border_width (GTK_CONTAINER (box2), 10); - gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); - gtk_widget_show (box2); - - /* value, lower, upper, step_increment, page_increment, page_size */ - /* note that the page_size value only makes a difference for - scrollbar widgets, and the highest value you'll get is actually - (upper - page_size). */ - adj1 = gtk_adjustment_new (0.0, 0.0, 101.0, 0.1, 1.0, 1.0); + GtkWidget *window; + GtkWidget *box1, *box2, *box3; + GtkWidget *button; + GtkWidget *scrollbar; + GtkWidget *separator; + GtkWidget *opt, *menu, *item; + GtkWidget *label; + GtkWidget *scale; + GtkObject *adj1, *adj2; + + /* Standard window-creating stuff */ + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_signal_connect (GTK_OBJECT (window), "destroy", + GTK_SIGNAL_FUNC(gtk_main_quit), + NULL); + gtk_window_set_title (GTK_WINDOW (window), "range controls"); + + box1 = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (window), box1); + gtk_widget_show (box1); + + box2 = gtk_hbox_new (FALSE, 10); + gtk_container_border_width (GTK_CONTAINER (box2), 10); + gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); + gtk_widget_show (box2); + + /* calue, lower, upper, step_increment, page_increment, page_size */ + /* Note that the page_size value only makes a difference for + * scrollbar widgets, and the highest value you'll get is actually + * (upper - page_size). */ + adj1 = gtk_adjustment_new (0.0, 0.0, 101.0, 0.1, 1.0, 1.0); - vscale = gtk_vscale_new (GTK_ADJUSTMENT (adj1)); - scale_set_default_values (GTK_SCALE (vscale)); - gtk_box_pack_start (GTK_BOX (box2), vscale, TRUE, TRUE, 0); - gtk_widget_show (vscale); - - box3 = gtk_vbox_new (FALSE, 10); - gtk_box_pack_start (GTK_BOX (box2), box3, TRUE, TRUE, 0); - gtk_widget_show (box3); - - /* reuse the same adjustment */ - hscale = gtk_hscale_new (GTK_ADJUSTMENT (adj1)); - gtk_widget_set_usize (GTK_WIDGET (hscale), 200, 30); - scale_set_default_values (GTK_SCALE (hscale)); - gtk_box_pack_start (GTK_BOX (box3), hscale, TRUE, TRUE, 0); - gtk_widget_show (hscale); - - /* reuse the same adjustment again */ - scrollbar = gtk_hscrollbar_new (GTK_ADJUSTMENT (adj1)); - /* notice how this causes the scales to always be updated - continuously when the scrollbar is moved */ - gtk_range_set_update_policy (GTK_RANGE (scrollbar), - GTK_UPDATE_CONTINUOUS); - gtk_box_pack_start (GTK_BOX (box3), scrollbar, TRUE, TRUE, 0); - gtk_widget_show (scrollbar); - - box2 = gtk_hbox_new (FALSE, 10); - gtk_container_border_width (GTK_CONTAINER (box2), 10); - gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); - gtk_widget_show (box2); - - /* a checkbutton to control whether the value is displayed or not */ - button = gtk_check_button_new_with_label - ("Display value on scale widgets"); - gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (button), TRUE); - gtk_signal_connect (GTK_OBJECT (button), "toggled", GTK_SIGNAL_FUNC - (cb_draw_value), NULL); - gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); - gtk_widget_show (button); + vscale = gtk_vscale_new (GTK_ADJUSTMENT (adj1)); + scale_set_default_values (GTK_SCALE (vscale)); + gtk_box_pack_start (GTK_BOX (box2), vscale, TRUE, TRUE, 0); + gtk_widget_show (vscale); + + box3 = gtk_vbox_new (FALSE, 10); + gtk_box_pack_start (GTK_BOX (box2), box3, TRUE, TRUE, 0); + gtk_widget_show (box3); + + /* Reuse the same adjustment */ + hscale = gtk_hscale_new (GTK_ADJUSTMENT (adj1)); + gtk_widget_set_usize (GTK_WIDGET (hscale), 200, 30); + scale_set_default_values (GTK_SCALE (hscale)); + gtk_box_pack_start (GTK_BOX (box3), hscale, TRUE, TRUE, 0); + gtk_widget_show (hscale); + + /* Reuse the same adjustment again */ + scrollbar = gtk_hscrollbar_new (GTK_ADJUSTMENT (adj1)); + /* Notice how this causes the scales to always be updated + * continuously when the scrollbar is moved */ + gtk_range_set_update_policy (GTK_RANGE (scrollbar), + GTK_UPDATE_CONTINUOUS); + gtk_box_pack_start (GTK_BOX (box3), scrollbar, TRUE, TRUE, 0); + gtk_widget_show (scrollbar); + + box2 = gtk_hbox_new (FALSE, 10); + gtk_container_border_width (GTK_CONTAINER (box2), 10); + gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); + gtk_widget_show (box2); + + /* A checkbutton to control whether the value is displayed or not */ + button = gtk_check_button_new_with_label("Display value on scale widgets"); + gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (button), TRUE); + gtk_signal_connect (GTK_OBJECT (button), "toggled", + GTK_SIGNAL_FUNC(cb_draw_value), NULL); + gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); + gtk_widget_show (button); - box2 = gtk_hbox_new (FALSE, 10); - gtk_container_border_width (GTK_CONTAINER (box2), 10); + box2 = gtk_hbox_new (FALSE, 10); + gtk_container_border_width (GTK_CONTAINER (box2), 10); - /* an option menu to change the position of the value */ - label = gtk_label_new ("Scale Value Position:"); - gtk_box_pack_start (GTK_BOX (box2), label, FALSE, FALSE, 0); - gtk_widget_show (label); + /* An option menu to change the position of the value */ + label = gtk_label_new ("Scale Value Position:"); + gtk_box_pack_start (GTK_BOX (box2), label, FALSE, FALSE, 0); + gtk_widget_show (label); - opt = gtk_option_menu_new(); - menu = gtk_menu_new(); + opt = gtk_option_menu_new(); + menu = gtk_menu_new(); - item = make_menu_item ("Top", GTK_SIGNAL_FUNC (cb_pos_menu_select), - GINT_TO_POINTER (GTK_POS_TOP)); - gtk_menu_append (GTK_MENU (menu), item); + item = make_menu_item ("Top", + GTK_SIGNAL_FUNC(cb_pos_menu_select), + GINT_TO_POINTER (GTK_POS_TOP)); + gtk_menu_append (GTK_MENU (menu), item); - item = make_menu_item ("Bottom", GTK_SIGNAL_FUNC (cb_pos_menu_select), - GINT_TO_POINTER (GTK_POS_BOTTOM)); - gtk_menu_append (GTK_MENU (menu), item); + item = make_menu_item ("Bottom", GTK_SIGNAL_FUNC (cb_pos_menu_select), + GINT_TO_POINTER (GTK_POS_BOTTOM)); + gtk_menu_append (GTK_MENU (menu), item); - item = make_menu_item ("Left", GTK_SIGNAL_FUNC (cb_pos_menu_select), - GINT_TO_POINTER (GTK_POS_LEFT)); - gtk_menu_append (GTK_MENU (menu), item); + item = make_menu_item ("Left", GTK_SIGNAL_FUNC (cb_pos_menu_select), + GINT_TO_POINTER (GTK_POS_LEFT)); + gtk_menu_append (GTK_MENU (menu), item); - item = make_menu_item ("Right", GTK_SIGNAL_FUNC (cb_pos_menu_select), - GINT_TO_POINTER (GTK_POS_RIGHT)); - gtk_menu_append (GTK_MENU (menu), item); + item = make_menu_item ("Right", GTK_SIGNAL_FUNC (cb_pos_menu_select), + GINT_TO_POINTER (GTK_POS_RIGHT)); + gtk_menu_append (GTK_MENU (menu), item); - gtk_option_menu_set_menu (GTK_OPTION_MENU (opt), menu); - gtk_box_pack_start (GTK_BOX (box2), opt, TRUE, TRUE, 0); - gtk_widget_show (opt); + gtk_option_menu_set_menu (GTK_OPTION_MENU (opt), menu); + gtk_box_pack_start (GTK_BOX (box2), opt, TRUE, TRUE, 0); + gtk_widget_show (opt); - gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); - gtk_widget_show (box2); + gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); + gtk_widget_show (box2); - box2 = gtk_hbox_new (FALSE, 10); - gtk_container_border_width (GTK_CONTAINER (box2), 10); + box2 = gtk_hbox_new (FALSE, 10); + gtk_container_border_width (GTK_CONTAINER (box2), 10); - /* yet another option menu, this time for the update policy of the - scale widgets */ - label = gtk_label_new ("Scale Update Policy:"); - gtk_box_pack_start (GTK_BOX (box2), label, FALSE, FALSE, 0); - gtk_widget_show (label); + /* Yet another option menu, this time for the update policy of the + * scale widgets */ + label = gtk_label_new ("Scale Update Policy:"); + gtk_box_pack_start (GTK_BOX (box2), label, FALSE, FALSE, 0); + gtk_widget_show (label); - opt = gtk_option_menu_new(); - menu = gtk_menu_new(); + opt = gtk_option_menu_new(); + menu = gtk_menu_new(); - item = make_menu_item ("Continuous", - GTK_SIGNAL_FUNC (cb_update_menu_select), - GINT_TO_POINTER (GTK_UPDATE_CONTINUOUS)); - gtk_menu_append (GTK_MENU (menu), item); + item = make_menu_item ("Continuous", + GTK_SIGNAL_FUNC (cb_update_menu_select), + GINT_TO_POINTER (GTK_UPDATE_CONTINUOUS)); + gtk_menu_append (GTK_MENU (menu), item); - item = make_menu_item ("Discontinuous", - GTK_SIGNAL_FUNC (cb_update_menu_select), - GINT_TO_POINTER (GTK_UPDATE_DISCONTINUOUS)); - gtk_menu_append (GTK_MENU (menu), item); + item = make_menu_item ("Discontinuous", + GTK_SIGNAL_FUNC (cb_update_menu_select), + GINT_TO_POINTER (GTK_UPDATE_DISCONTINUOUS)); + gtk_menu_append (GTK_MENU (menu), item); - item = make_menu_item ("Delayed", - GTK_SIGNAL_FUNC (cb_update_menu_select), - GINT_TO_POINTER (GTK_UPDATE_DELAYED)); - gtk_menu_append (GTK_MENU (menu), item); + item = make_menu_item ("Delayed", + GTK_SIGNAL_FUNC (cb_update_menu_select), + GINT_TO_POINTER (GTK_UPDATE_DELAYED)); + gtk_menu_append (GTK_MENU (menu), item); - gtk_option_menu_set_menu (GTK_OPTION_MENU (opt), menu); - gtk_box_pack_start (GTK_BOX (box2), opt, TRUE, TRUE, 0); - gtk_widget_show (opt); + gtk_option_menu_set_menu (GTK_OPTION_MENU (opt), menu); + gtk_box_pack_start (GTK_BOX (box2), opt, TRUE, TRUE, 0); + gtk_widget_show (opt); - gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); - gtk_widget_show (box2); + gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); + gtk_widget_show (box2); - box2 = gtk_hbox_new (FALSE, 10); - gtk_container_border_width (GTK_CONTAINER (box2), 10); + box2 = gtk_hbox_new (FALSE, 10); + gtk_container_border_width (GTK_CONTAINER (box2), 10); - /* a GtkHScale widget for adjusting the number of digits on the - sample scales. */ - label = gtk_label_new ("Scale Digits:"); - gtk_box_pack_start (GTK_BOX (box2), label, FALSE, FALSE, 0); - gtk_widget_show (label); - - adj2 = gtk_adjustment_new (1.0, 0.0, 5.0, 1.0, 1.0, 0.0); - gtk_signal_connect (GTK_OBJECT (adj2), "value_changed", - GTK_SIGNAL_FUNC (cb_digits_scale), NULL); - scale = gtk_hscale_new (GTK_ADJUSTMENT (adj2)); - gtk_scale_set_digits (GTK_SCALE (scale), 0); - gtk_box_pack_start (GTK_BOX (box2), scale, TRUE, TRUE, 0); - gtk_widget_show (scale); - - gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); - gtk_widget_show (box2); + /* A GtkHScale widget for adjusting the number of digits on the + * sample scales. */ + label = gtk_label_new ("Scale Digits:"); + gtk_box_pack_start (GTK_BOX (box2), label, FALSE, FALSE, 0); + gtk_widget_show (label); + + adj2 = gtk_adjustment_new (1.0, 0.0, 5.0, 1.0, 1.0, 0.0); + gtk_signal_connect (GTK_OBJECT (adj2), "value_changed", + GTK_SIGNAL_FUNC (cb_digits_scale), NULL); + scale = gtk_hscale_new (GTK_ADJUSTMENT (adj2)); + gtk_scale_set_digits (GTK_SCALE (scale), 0); + gtk_box_pack_start (GTK_BOX (box2), scale, TRUE, TRUE, 0); + gtk_widget_show (scale); + + gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); + gtk_widget_show (box2); - box2 = gtk_hbox_new (FALSE, 10); - gtk_container_border_width (GTK_CONTAINER (box2), 10); + box2 = gtk_hbox_new (FALSE, 10); + gtk_container_border_width (GTK_CONTAINER (box2), 10); - /* And, one last GtkHScale widget for adjusting the page size of the - scrollbar. */ - label = gtk_label_new ("Scrollbar Page Size:"); - gtk_box_pack_start (GTK_BOX (box2), label, FALSE, FALSE, 0); - gtk_widget_show (label); - - adj2 = gtk_adjustment_new (1.0, 1.0, 101.0, 1.0, 1.0, 0.0); - gtk_signal_connect (GTK_OBJECT (adj2), "value_changed", - GTK_SIGNAL_FUNC (cb_page_size), adj1); - scale = gtk_hscale_new (GTK_ADJUSTMENT (adj2)); - gtk_scale_set_digits (GTK_SCALE (scale), 0); - gtk_box_pack_start (GTK_BOX (box2), scale, TRUE, TRUE, 0); - gtk_widget_show (scale); - - gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); - gtk_widget_show (box2); - - separator = gtk_hseparator_new (); - gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - gtk_widget_show (separator); - - box2 = gtk_vbox_new (FALSE, 10); - gtk_container_border_width (GTK_CONTAINER (box2), 10); - gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); - gtk_widget_show (box2); - - button = gtk_button_new_with_label ("Quit"); - gtk_signal_connect_object (GTK_OBJECT (button), "clicked", - GTK_SIGNAL_FUNC(gtk_main_quit), - NULL); - gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); - GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT); - gtk_widget_grab_default (button); - gtk_widget_show (button); - - gtk_widget_show (window); + /* And, one last GtkHScale widget for adjusting the page size of the + * scrollbar. */ + label = gtk_label_new ("Scrollbar Page Size:"); + gtk_box_pack_start (GTK_BOX (box2), label, FALSE, FALSE, 0); + gtk_widget_show (label); + + adj2 = gtk_adjustment_new (1.0, 1.0, 101.0, 1.0, 1.0, 0.0); + gtk_signal_connect (GTK_OBJECT (adj2), "value_changed", + GTK_SIGNAL_FUNC (cb_page_size), adj1); + scale = gtk_hscale_new (GTK_ADJUSTMENT (adj2)); + gtk_scale_set_digits (GTK_SCALE (scale), 0); + gtk_box_pack_start (GTK_BOX (box2), scale, TRUE, TRUE, 0); + gtk_widget_show (scale); + + gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); + gtk_widget_show (box2); + + separator = gtk_hseparator_new (); + gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); + gtk_widget_show (separator); + + box2 = gtk_vbox_new (FALSE, 10); + gtk_container_border_width (GTK_CONTAINER (box2), 10); + gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); + gtk_widget_show (box2); + + button = gtk_button_new_with_label ("Quit"); + gtk_signal_connect_object (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC(gtk_main_quit), + NULL); + gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); + GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT); + gtk_widget_grab_default (button); + gtk_widget_show (button); + + gtk_widget_show (window); } -int main (int argc, char *argv[]) +int main( int argc, + char *argv[] ) { - gtk_init(&argc, &argv); + gtk_init(&argc, &argv); - create_range_controls(); + create_range_controls(); - gtk_main(); + gtk_main(); - return 0; + return(0); } /* example-end */ diff --git a/examples/table/table.c b/examples/table/table.c index e3fd182c4..662450c0d 100644 --- a/examples/table/table.c +++ b/examples/table/table.c @@ -1,22 +1,25 @@ -/* This file extracted from the GTK tutorial. */ +/* example-start table table.c */ -/* table.c */ #include <gtk/gtk.h> -/* our callback. - * the data passed to this function is printed to stdout */ -void callback (GtkWidget *widget, gpointer data) +/* Our callback. + * The data passed to this function is printed to stdout */ +void callback( GtkWidget *widget, + gpointer data ) { g_print ("Hello again - %s was pressed\n", (char *) data); } -/* this callback quits the program */ -void delete_event (GtkWidget *widget, GdkEvent *event, gpointer data) +/* This callback quits the program */ +void delete_event( GtkWidget *widget, + GdkEvent *event, + gpointer data ) { gtk_main_quit (); } -int main (int argc, char *argv[]) +int main( int argc, + char *argv[] ) { GtkWidget *window; GtkWidget *button; @@ -24,62 +27,62 @@ int main (int argc, char *argv[]) gtk_init (&argc, &argv); - /* create a new window */ + /* Create a new window */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - /* set the window title */ + /* Set the window title */ gtk_window_set_title (GTK_WINDOW (window), "Table"); - /* set a handler for delete_event that immediately + /* Set a handler for delete_event that immediately * exits GTK. */ gtk_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (delete_event), NULL); - /* sets the border width of the window. */ + /* Sets the border width of the window. */ gtk_container_border_width (GTK_CONTAINER (window), 20); - /* create a 2x2 table */ + /* Create a 2x2 table */ table = gtk_table_new (2, 2, TRUE); - /* put the table in the main window */ + /* Put the table in the main window */ gtk_container_add (GTK_CONTAINER (window), table); - /* create first button */ + /* Create first button */ button = gtk_button_new_with_label ("button 1"); - /* when the button is clicked, we call the "callback" function - * with a pointer to "button 1" as it's argument */ + /* When the button is clicked, we call the "callback" function + * with a pointer to "button 1" as its argument */ gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (callback), (gpointer) "button 1"); - /* insert button 1 into the upper left quadrant of the table */ + /* Insert button 1 into the upper left quadrant of the table */ gtk_table_attach_defaults (GTK_TABLE(table), button, 0, 1, 0, 1); gtk_widget_show (button); - /* create second button */ + /* Create second button */ button = gtk_button_new_with_label ("button 2"); - /* when the button is clicked, we call the "callback" function - * with a pointer to "button 2" as it's argument */ + /* When the button is clicked, we call the "callback" function + * with a pointer to "button 2" as its argument */ gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (callback), (gpointer) "button 2"); - /* insert button 2 into the upper right quadrant of the table */ + /* Insert button 2 into the upper right quadrant of the table */ gtk_table_attach_defaults (GTK_TABLE(table), button, 1, 2, 0, 1); gtk_widget_show (button); - /* create "Quit" button */ + /* Create "Quit" button */ button = gtk_button_new_with_label ("Quit"); - /* when the button is clicked, we call the "delete_event" function + /* When the button is clicked, we call the "delete_event" function * and the program exits */ gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (delete_event), NULL); - /* insert the quit button into the both + /* Insert the quit button into the both * lower quadrants of the table */ gtk_table_attach_defaults (GTK_TABLE(table), button, 0, 2, 1, 2); @@ -92,3 +95,4 @@ int main (int argc, char *argv[]) return 0; } +/* example-end */ |