diff options
author | Matthias Clasen <matthiasc@src.gnome.org> | 2002-02-16 23:52:30 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2002-02-16 23:52:30 +0000 |
commit | b3d5f148e6c0e2cb688403655c7800b762e33602 (patch) | |
tree | 1056439dd24e464adbabc5c374182a886c669345 /docs | |
parent | 554838e4f602d59f5be241d1da188934d51d49c3 (diff) | |
download | gtk+-b3d5f148e6c0e2cb688403655c7800b762e33602.tar.gz |
More work on #71430.
* examples/*/Makefile (CFLAGS): add deprecation guards.
* docs/tutorial/gtk-tut.sgml, examples/*/*.c: make most examples
deprecation-clean; the major offenders right now are the examples
that make heavy use of completely deprecated or broken widgets:
list, tree, text, pixmap, paned and progressbar. These will have
to be redone from scratch.
* demos/Makefile.am (INCLUDES): add -DGDK_PIXBUF_DISABLE_DEPRECATED.
Diffstat (limited to 'docs')
-rwxr-xr-x | docs/tutorial/gtk-tut.sgml | 732 |
1 files changed, 375 insertions, 357 deletions
diff --git a/docs/tutorial/gtk-tut.sgml b/docs/tutorial/gtk-tut.sgml index 264f291f72..306d4fad00 100755 --- a/docs/tutorial/gtk-tut.sgml +++ b/docs/tutorial/gtk-tut.sgml @@ -296,13 +296,13 @@ int main( int argc, * 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 function. */ - gtk_signal_connect (GTK_OBJECT (window), "delete_event", + g_signal_connect (GTK_OBJECT (window), "delete_event", 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", + g_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (destroy), NULL); /* Sets the border width of the window. */ @@ -314,13 +314,13 @@ int main( int argc, /* When the button receives the "clicked" signal, it will call the * function hello() passing it NULL as its argument. The hello() * function is defined above. */ - gtk_signal_connect (GTK_OBJECT (button), "clicked", + g_signal_connect (GTK_OBJECT (button), "clicked", 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", + g_signal_connect_swapped (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy), GTK_OBJECT (window)); @@ -338,7 +338,7 @@ int main( int argc, * mouse event). */ gtk_main (); - return(0); + return 0; } <!-- example-end --> </programlisting> @@ -997,7 +997,7 @@ int main( int argc, /* Here we just set a handler for delete_event that immediately * exits GTK. */ - gtk_signal_connect (GTK_OBJECT (window), "delete_event", + g_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (delete_event), NULL); /* Sets the border width of the window. */ @@ -1016,7 +1016,7 @@ int main( int argc, /* Now 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", + g_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 @@ -1032,7 +1032,7 @@ int main( int argc, /* Call the same callback function with a different argument, * passing a pointer to "button 2" instead. */ - gtk_signal_connect (GTK_OBJECT (button), "clicked", + g_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (callback), (gpointer) "button 2"); gtk_box_pack_start(GTK_BOX(box1), button, TRUE, TRUE, 0); @@ -1048,7 +1048,7 @@ int main( int argc, /* Rest in gtk_main and wait for the fun to begin! */ gtk_main (); - return(0); + return 0; } <!-- example-end --> </programlisting> @@ -1212,7 +1212,7 @@ gint delete_event( GtkWidget *widget, gpointer data ) { gtk_main_quit(); - return(FALSE); + return FALSE; } /* Make a new hbox filled with button-labels. Arguments for the @@ -1288,7 +1288,7 @@ int main( int argc, if (argc != 2) { fprintf (stderr, "usage: packbox num, where num is 1, 2, or 3.\n"); /* This just does cleanup in GTK and exits with an exit status of 1. */ - gtk_exit (1); + exit (1); } which = atoi (argv[1]); @@ -1299,7 +1299,7 @@ int main( int argc, /* You should always remember to connect the delete_event signal * to the main window. This is very important for proper intuitive * behavior */ - gtk_signal_connect (GTK_OBJECT (window), "delete_event", + g_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (delete_event), NULL); gtk_container_set_border_width (GTK_CONTAINER (window), 10); @@ -1449,7 +1449,7 @@ int main( int argc, * 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 * close together as possible. */ - gtk_widget_set_usize (separator, 400, 5); + gtk_widget_set_size_request (separator, 400, 5); /* pack the separator into the vbox (box1) created near the start * of main() */ gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 5); @@ -1463,7 +1463,7 @@ int main( int argc, button = gtk_button_new_with_label ("Quit"); /* Setup the signal to terminate the program when the button is clicked */ - gtk_signal_connect_object (GTK_OBJECT (button), "clicked", + g_signal_connect_swapped (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (gtk_main_quit), GTK_OBJECT (window)); /* Pack the button into the quitbox. @@ -1491,7 +1491,7 @@ int main( int argc, /* Control returns here when gtk_main_quit() is called, but not when * gtk_exit is used. */ - return(0); + return 0; } <!-- example-end --> </programlisting> @@ -1686,7 +1686,7 @@ gint delete_event( GtkWidget *widget, gpointer data ) { gtk_main_quit (); - return(FALSE); + return FALSE; } int main( int argc, @@ -1706,7 +1706,7 @@ int main( int argc, /* Set a handler for delete_event that immediately * exits GTK. */ - gtk_signal_connect (GTK_OBJECT (window), "delete_event", + g_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (delete_event), NULL); /* Sets the border width of the window. */ @@ -1723,7 +1723,7 @@ int main( int argc, /* 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", + g_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (callback), (gpointer) "button 1"); @@ -1738,7 +1738,7 @@ int main( int argc, /* 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", + g_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (callback), (gpointer) "button 2"); /* Insert button 2 into the upper right quadrant of the table */ gtk_table_attach_defaults (GTK_TABLE(table), button, 1, 2, 0, 1); @@ -1750,7 +1750,7 @@ int main( int argc, /* When the button is clicked, we call the "delete_event" function * and the program exits */ - gtk_signal_connect (GTK_OBJECT (button), "clicked", + g_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (delete_event), NULL); /* Insert the quit button into the both @@ -2019,6 +2019,7 @@ examples of using pixmaps later in the tutorial.</para> <programlisting role="C"> <!-- example-start buttons buttons.c --> +#include <stdlib.h> #include <gtk/gtk.h> /* Create a new hbox with an image and a label packed into it @@ -2047,7 +2048,7 @@ GtkWidget *xpm_label_box( GtkWidget *parent, pixmap = gdk_pixmap_create_from_xpm (parent->window, &mask, &style->bg[GTK_STATE_NORMAL], xpm_filename); - pixmapwid = gtk_pixmap_new (pixmap, mask); + pixmapwid = gtk_image_new_from_file (xpm_filename); /* Create a label for the button */ label = gtk_label_new (label_text); @@ -2086,12 +2087,14 @@ int main( int argc, gtk_window_set_title (GTK_WINDOW (window), "Pixmap'd Buttons!"); +#if 1 /* It's a good idea to do this for all windows. */ - gtk_signal_connect (GTK_OBJECT (window), "destroy", - GTK_SIGNAL_FUNC (gtk_exit), NULL); + g_signal_connect (GTK_OBJECT (window), "destroy", + GTK_SIGNAL_FUNC (exit), NULL); - gtk_signal_connect (GTK_OBJECT (window), "delete_event", - GTK_SIGNAL_FUNC (gtk_exit), NULL); + g_signal_connect (GTK_OBJECT (window), "delete_event", + GTK_SIGNAL_FUNC (exit), NULL); +#endif /* Sets the border width of the window. */ gtk_container_set_border_width (GTK_CONTAINER (window), 10); @@ -2101,8 +2104,8 @@ int main( int argc, button = gtk_button_new (); /* Connect the "clicked" signal of the button to our callback */ - gtk_signal_connect (GTK_OBJECT (button), "clicked", - GTK_SIGNAL_FUNC (callback), (gpointer) "cool button"); + g_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (callback), (gpointer) "cool button"); /* This calls our box creating function */ box1 = xpm_label_box(window, "info.xpm", "cool button"); @@ -2334,15 +2337,15 @@ the second will emit its "toggled" signal (to report becoming active).</para> <programlisting role="C"> <!-- example-start radiobuttons radiobuttons.c --> -#include <gtk/gtk.h> #include <glib.h> +#include <gtk/gtk.h> gint close_application( GtkWidget *widget, GdkEvent *event, gpointer data ) { gtk_main_quit(); - return(FALSE); + return FALSE; } int main( int argc, @@ -2359,7 +2362,7 @@ int main( int argc, window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_signal_connect (GTK_OBJECT (window), "delete_event", + g_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC(close_application), NULL); @@ -2379,14 +2382,14 @@ int main( int argc, gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); gtk_widget_show (button); - group = gtk_radio_button_group (GTK_RADIO_BUTTON (button)); + group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (button)); button = gtk_radio_button_new_with_label(group, "button2"); gtk_toggle_button_set_active (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)), + gtk_radio_button_get_group (GTK_RADIO_BUTTON (button)), "button3"); gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); gtk_widget_show (button); @@ -2401,7 +2404,7 @@ int main( int argc, gtk_widget_show (box2); button = gtk_button_new_with_label ("close"); - gtk_signal_connect_object (GTK_OBJECT (button), "clicked", + g_signal_connect_swapped (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC(close_application), GTK_OBJECT (window)); gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); @@ -2412,7 +2415,7 @@ int main( int argc, gtk_main(); - return(0); + return 0; } <!-- example-end --> </programlisting> @@ -2997,7 +3000,7 @@ void cb_page_size( GtkAdjustment *get, 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"); + g_signal_emit_by_name (GTK_OBJECT (set), "changed"); } void cb_draw_value( GtkToggleButton *button ) @@ -3017,11 +3020,11 @@ GtkWidget *make_menu_item( gchar *name, GtkWidget *item; item = gtk_menu_item_new_with_label (name); - gtk_signal_connect (GTK_OBJECT (item), "activate", + g_signal_connect (GTK_OBJECT (item), "activate", callback, data); gtk_widget_show (item); - return(item); + return item; } void scale_set_default_values( GtkScale *scale ) @@ -3049,7 +3052,7 @@ void create_range_controls( void ) /* Standard window-creating stuff */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_signal_connect (GTK_OBJECT (window), "destroy", + g_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC(gtk_main_quit), NULL); gtk_window_set_title (GTK_WINDOW (window), "range controls"); @@ -3080,7 +3083,7 @@ void create_range_controls( void ) /* Reuse the same adjustment */ hscale = gtk_hscale_new (GTK_ADJUSTMENT (adj1)); - gtk_widget_set_usize (GTK_WIDGET (hscale), 200, 30); + gtk_widget_set_size_request (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); @@ -3102,7 +3105,7 @@ void create_range_controls( void ) /* 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_active (GTK_TOGGLE_BUTTON (button), TRUE); - gtk_signal_connect (GTK_OBJECT (button), "toggled", + g_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); @@ -3121,19 +3124,19 @@ void create_range_controls( void ) 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); + gtk_menu_shell_append (GTK_MENU_SHELL (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); + gtk_menu_shell_append (GTK_MENU_SHELL (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); + gtk_menu_shell_append (GTK_MENU_SHELL (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_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_option_menu_set_menu (GTK_OPTION_MENU (opt), menu); gtk_box_pack_start (GTK_BOX (box2), opt, TRUE, TRUE, 0); @@ -3157,17 +3160,17 @@ void create_range_controls( void ) 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); + gtk_menu_shell_append (GTK_MENU_SHELL (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); + gtk_menu_shell_append (GTK_MENU_SHELL (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_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_option_menu_set_menu (GTK_OPTION_MENU (opt), menu); gtk_box_pack_start (GTK_BOX (box2), opt, TRUE, TRUE, 0); @@ -3186,7 +3189,7 @@ void create_range_controls( void ) 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", + g_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); @@ -3206,7 +3209,7 @@ void create_range_controls( void ) 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", + g_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); @@ -3226,7 +3229,7 @@ void create_range_controls( void ) gtk_widget_show (box2); button = gtk_button_new_with_label ("Quit"); - gtk_signal_connect_object (GTK_OBJECT (button), "clicked", + g_signal_connect_swapped (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC(gtk_main_quit), NULL); gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); @@ -3246,7 +3249,7 @@ int main( int argc, gtk_main(); - return(0); + return 0; } <!-- example-end --> @@ -3368,7 +3371,7 @@ int main( int argc, gtk_init(&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_signal_connect (GTK_OBJECT (window), "destroy", + g_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC(gtk_main_quit), NULL); @@ -3450,7 +3453,7 @@ int main( int argc, gtk_main (); - return(0); + return 0; } <!-- example-end --> </programlisting> @@ -3920,7 +3923,7 @@ gint progress_timeout( gpointer data ) /* As this is a timeout function, return TRUE so that it * continues to get called */ - return(TRUE); + return TRUE; } /* Callback that toggles the text display within the progress @@ -3988,9 +3991,9 @@ int main( int argc, pdata = g_malloc( sizeof(ProgressData) ); pdata->window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_window_set_policy (GTK_WINDOW (pdata->window), FALSE, FALSE, TRUE); + gtk_window_set_resizable (GTK_WINDOW (pdata->window), TRUE); - gtk_signal_connect (GTK_OBJECT (pdata->window), "destroy", + g_signal_connect (GTK_OBJECT (pdata->window), "destroy", GTK_SIGNAL_FUNC (destroy_progress), pdata); gtk_window_set_title (GTK_WINDOW (pdata->window), "GtkProgressBar"); @@ -4041,7 +4044,7 @@ int main( int argc, gtk_table_attach (GTK_TABLE (table), check, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5); - gtk_signal_connect (GTK_OBJECT (check), "clicked", + g_signal_connect (GTK_OBJECT (check), "clicked", GTK_SIGNAL_FUNC (toggle_show_text), pdata); gtk_widget_show(check); @@ -4051,7 +4054,7 @@ int main( int argc, gtk_table_attach (GTK_TABLE (table), check, 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5); - gtk_signal_connect (GTK_OBJECT (check), "clicked", + g_signal_connect (GTK_OBJECT (check), "clicked", GTK_SIGNAL_FUNC (toggle_activity_mode), pdata); gtk_widget_show(check); @@ -4067,19 +4070,19 @@ int main( int argc, gtk_table_attach (GTK_TABLE (table), button, 2, 3, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5); - gtk_signal_connect (GTK_OBJECT (button), "clicked", + g_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (set_continuous_mode), pdata); gtk_widget_show (button); /* Add a radio button to select discrete display mode */ button = gtk_radio_button_new_with_label( - gtk_radio_button_group (GTK_RADIO_BUTTON (button)), + gtk_radio_button_get_group (GTK_RADIO_BUTTON (button)), "Discrete"); gtk_table_attach (GTK_TABLE (table), button, 2, 3, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5); - gtk_signal_connect (GTK_OBJECT (button), "clicked", + g_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (set_discrete_mode), pdata); gtk_widget_show (button); @@ -4090,7 +4093,7 @@ int main( int argc, /* Add a button to exit the program */ button = gtk_button_new_with_label ("close"); - gtk_signal_connect_object (GTK_OBJECT (button), "clicked", + g_signal_connect_swapped (GTK_OBJECT (button), "clicked", (GtkSignalFunc) gtk_widget_destroy, GTK_OBJECT (pdata->window)); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); @@ -4107,7 +4110,7 @@ int main( int argc, gtk_main (); - return(0); + return 0; } <!-- example-end --> </programlisting> @@ -4592,7 +4595,7 @@ int main (int argc, * since we're making it a popup. */ gtk_init (&argc, &argv); window = gtk_window_new( GTK_WINDOW_POPUP ); - gtk_signal_connect (GTK_OBJECT (window), "delete_event", + g_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (close_application), NULL); gtk_widget_show (window); @@ -4602,12 +4605,12 @@ int main (int argc, gdk_pixmap = gdk_pixmap_create_from_xpm_d( window->window, &mask, &style->bg[GTK_STATE_NORMAL], WheelbarrowFull_xpm ); - pixmap = gtk_pixmap_new( gdk_pixmap, mask ); + pixmap = gtk_image_new_from_pixmap (gdk_pixmap, mask); gtk_widget_show( pixmap ); /* To display the pixmap, we use a fixed widget to place the pixmap */ fixed = gtk_fixed_new(); - gtk_widget_set_usize( fixed, 200, 200 ); + gtk_widget_set_size_request (fixed, 200, 200); gtk_fixed_put( GTK_FIXED(fixed), pixmap, 0, 0 ); gtk_container_add( GTK_CONTAINER(window), fixed ); gtk_widget_show( fixed ); @@ -4616,11 +4619,11 @@ int main (int argc, gtk_widget_shape_combine_mask( window, mask, 0, 0 ); /* show the window */ - gtk_widget_set_uposition( window, 20, 400 ); + /*gtk_widget_set_uposition( window, 20, 400 );*/ gtk_widget_show( window ); gtk_main (); - return(0); + return 0; } <!-- example-end --> </programlisting> @@ -4743,7 +4746,7 @@ gint close_application( GtkWidget *widget, gpointer data ) { gtk_main_quit(); - return(FALSE); + return FALSE; } /* The main routine */ @@ -4755,7 +4758,7 @@ int main( int argc, gtk_init( &argc, &argv ); window = gtk_window_new( GTK_WINDOW_TOPLEVEL ); - gtk_signal_connect (GTK_OBJECT (window), "delete_event", + g_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC( close_application ), NULL); gtk_container_set_border_width (GTK_CONTAINER (window), 10); @@ -4764,7 +4767,7 @@ int main( int argc, gtk_container_add( GTK_CONTAINER(window), table ); area = gtk_drawing_area_new(); - gtk_drawing_area_size( (GtkDrawingArea *)area, XSIZE, YSIZE ); + gtk_widget_set_size_request (GTK_WIDGET (area), XSIZE, YSIZE); gtk_table_attach( GTK_TABLE(table), area, 1, 2, 1, 2, GTK_EXPAND|GTK_FILL, GTK_FILL, 0, 0 ); gtk_widget_set_events( area, GDK_POINTER_MOTION_MASK | @@ -4776,7 +4779,7 @@ int main( int argc, hrule = gtk_hruler_new(); gtk_ruler_set_metric( GTK_RULER(hrule), GTK_PIXELS ); gtk_ruler_set_range( GTK_RULER(hrule), 7, 13, 0, 20 ); - gtk_signal_connect_object( GTK_OBJECT(area), "motion_notify_event", + g_signal_connect_swapped( GTK_OBJECT(area), "motion_notify_event", (GtkSignalFunc)EVENT_METHOD(hrule, motion_notify_event), GTK_OBJECT(hrule) ); @@ -4789,7 +4792,7 @@ int main( int argc, vrule = gtk_vruler_new(); gtk_ruler_set_metric( GTK_RULER(vrule), GTK_PIXELS ); gtk_ruler_set_range( GTK_RULER(vrule), 0, YSIZE, 10, YSIZE ); - gtk_signal_connect_object( GTK_OBJECT(area), "motion_notify_event", + g_signal_connect_swapped( GTK_OBJECT(area), "motion_notify_event", (GtkSignalFunc)EVENT_METHOD(vrule, motion_notify_event), GTK_OBJECT(vrule) ); @@ -4804,7 +4807,7 @@ int main( int argc, gtk_widget_show( window ); gtk_main(); - return(0); + return 0; } <!-- example-end --> </programlisting> @@ -4870,6 +4873,7 @@ back off.</para> <programlisting role="C"> <!-- example-start statusbar statusbar.c --> +#include <stdlib.h> #include <gtk/gtk.h> #include <glib.h> @@ -4908,10 +4912,10 @@ int main( int argc, /* create a new window */ window = gtk_window_new(GTK_WINDOW_TOPLEVEL); - gtk_widget_set_usize( GTK_WIDGET (window), 200, 100); + gtk_widget_set_size_request (GTK_WIDGET (window), 200, 100); gtk_window_set_title(GTK_WINDOW (window), "GTK Statusbar Example"); - gtk_signal_connect(GTK_OBJECT (window), "delete_event", - (GtkSignalFunc) gtk_exit, NULL); + g_signal_connect(GTK_OBJECT (window), "delete_event", + GTK_SIGNAL_FUNC (exit), NULL); vbox = gtk_vbox_new(FALSE, 1); gtk_container_add(GTK_CONTAINER(window), vbox); @@ -4925,25 +4929,18 @@ int main( int argc, GTK_STATUSBAR(status_bar), "Statusbar example"); button = gtk_button_new_with_label("push item"); - gtk_signal_connect(GTK_OBJECT(button), "clicked", + g_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC (push_item), GINT_TO_POINTER(context_id) ); gtk_box_pack_start(GTK_BOX(vbox), button, TRUE, TRUE, 2); gtk_widget_show(button); button = gtk_button_new_with_label("pop last item"); - gtk_signal_connect(GTK_OBJECT(button), "clicked", + g_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC (pop_item), GINT_TO_POINTER(context_id) ); gtk_box_pack_start(GTK_BOX(vbox), button, TRUE, TRUE, 2); gtk_widget_show(button); /* always display the window as the last step so it all splashes on - * the screen at once. */ - gtk_widget_show(window); - - gtk_main (); - - return 0; -} <!-- example-end --> </programlisting> @@ -5047,6 +5044,7 @@ removed.</para> <!-- example-start entry entry.c --> #include <stdio.h> +#include <stdlib.h> #include <gtk/gtk.h> void enter_callback( GtkWidget *widget, @@ -5060,8 +5058,8 @@ void enter_callback( GtkWidget *widget, void entry_toggle_editable( GtkWidget *checkbutton, GtkWidget *entry ) { - gtk_entry_set_editable(GTK_ENTRY(entry), - GTK_TOGGLE_BUTTON(checkbutton)->active); + gtk_editable_set_editable (GTK_EDITABLE (entry), + GTK_TOGGLE_BUTTON (checkbutton)->active); } void entry_toggle_visibility( GtkWidget *checkbutton, @@ -5080,28 +5078,31 @@ int main( int argc, GtkWidget *entry; GtkWidget *button; GtkWidget *check; + gint tmp_pos; gtk_init (&argc, &argv); /* create a new window */ window = gtk_window_new(GTK_WINDOW_TOPLEVEL); - gtk_widget_set_usize( GTK_WIDGET (window), 200, 100); + gtk_widget_set_size_request (GTK_WIDGET (window), 200, 100); gtk_window_set_title(GTK_WINDOW (window), "GTK Entry"); - gtk_signal_connect(GTK_OBJECT (window), "delete_event", - (GtkSignalFunc) gtk_exit, NULL); + g_signal_connect(GTK_OBJECT (window), "delete_event", + (GtkSignalFunc) exit, NULL); vbox = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (vbox); - entry = gtk_entry_new_with_max_length (50); - gtk_signal_connect(GTK_OBJECT(entry), "activate", + entry = gtk_entry_new (); + gtk_entry_set_max_length (GTK_ENTRY (entry), 50); + g_signal_connect(GTK_OBJECT(entry), "activate", GTK_SIGNAL_FUNC(enter_callback), entry); gtk_entry_set_text (GTK_ENTRY (entry), "hello"); - gtk_entry_append_text (GTK_ENTRY (entry), " world"); - gtk_entry_select_region (GTK_ENTRY (entry), - 0, GTK_ENTRY(entry)->text_length); + tmp_pos = GTK_ENTRY (entry)->text_length; + gtk_editable_insert_text (GTK_EDITABLE (entry), " world", -1, &tmp_pos); + gtk_editable_select_region (GTK_EDITABLE (entry), + 0, GTK_ENTRY(entry)->text_length); gtk_box_pack_start (GTK_BOX (vbox), entry, TRUE, TRUE, 0); gtk_widget_show (entry); @@ -5111,21 +5112,21 @@ int main( int argc, check = gtk_check_button_new_with_label("Editable"); gtk_box_pack_start (GTK_BOX (hbox), check, TRUE, TRUE, 0); - gtk_signal_connect (GTK_OBJECT(check), "toggled", + g_signal_connect (GTK_OBJECT(check), "toggled", GTK_SIGNAL_FUNC(entry_toggle_editable), entry); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check), TRUE); gtk_widget_show (check); check = gtk_check_button_new_with_label("Visible"); gtk_box_pack_start (GTK_BOX (hbox), check, TRUE, TRUE, 0); - gtk_signal_connect (GTK_OBJECT(check), "toggled", + g_signal_connect (GTK_OBJECT(check), "toggled", GTK_SIGNAL_FUNC(entry_toggle_visibility), entry); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check), TRUE); gtk_widget_show (check); button = gtk_button_new_with_label ("Close"); - gtk_signal_connect_object (GTK_OBJECT (button), "clicked", - GTK_SIGNAL_FUNC(gtk_exit), + g_signal_connect_swapped (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC(exit), GTK_OBJECT (window)); gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT); @@ -5135,7 +5136,7 @@ int main( int argc, gtk_widget_show(window); gtk_main(); - return(0); + return 0; } <!-- example-end --> </programlisting> @@ -5416,12 +5417,12 @@ void get_value( GtkWidget *widget, GtkSpinButton *spin; spin = GTK_SPIN_BUTTON (spinner1); - label = GTK_LABEL (gtk_object_get_user_data (GTK_OBJECT (widget))); + label = GTK_LABEL (g_object_get_data (G_OBJECT (widget), "user_data")); if (GPOINTER_TO_INT (data) == 1) sprintf (buf, "%d", gtk_spin_button_get_value_as_int (spin)); else sprintf (buf, "%0.*f", spin->digits, - gtk_spin_button_get_value_as_float (spin)); + gtk_spin_button_get_value (spin)); gtk_label_set_text (label, buf); } @@ -5447,7 +5448,7 @@ int main( int argc, window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_signal_connect (GTK_OBJECT (window), "destroy", + g_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (gtk_main_quit), NULL); @@ -5506,7 +5507,7 @@ int main( int argc, 1.0, 100.0, 0.0); spinner = gtk_spin_button_new (adj, 0, 0); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner), FALSE); - gtk_widget_set_usize (spinner, 55, 0); + gtk_widget_set_size_request (spinner, 55, -1); gtk_box_pack_start (GTK_BOX (vbox2), spinner, FALSE, TRUE, 0); frame = gtk_frame_new ("Accelerated"); @@ -5530,7 +5531,7 @@ int main( int argc, 0.5, 100.0, 0.0); spinner1 = gtk_spin_button_new (adj, 1.0, 2); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner1), TRUE); - gtk_widget_set_usize (spinner1, 100, 0); + gtk_widget_set_size_request (spinner1, 100, -1); gtk_box_pack_start (GTK_BOX (vbox2), spinner1, FALSE, TRUE, 0); vbox2 = gtk_vbox_new (FALSE, 0); @@ -5543,7 +5544,7 @@ int main( int argc, adj = (GtkAdjustment *) gtk_adjustment_new (2, 1, 5, 1, 1, 0); spinner2 = gtk_spin_button_new (adj, 0.0, 0); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner2), TRUE); - gtk_signal_connect (GTK_OBJECT (adj), "value_changed", + g_signal_connect (GTK_OBJECT (adj), "value_changed", GTK_SIGNAL_FUNC (change_digits), (gpointer) spinner2); gtk_box_pack_start (GTK_BOX (vbox2), spinner2, FALSE, TRUE, 0); @@ -5552,14 +5553,14 @@ int main( int argc, gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); button = gtk_check_button_new_with_label ("Snap to 0.5-ticks"); - gtk_signal_connect (GTK_OBJECT (button), "clicked", + g_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (toggle_snap), spinner1); gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE); button = gtk_check_button_new_with_label ("Numeric only input mode"); - gtk_signal_connect (GTK_OBJECT (button), "clicked", + g_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (toggle_numeric), spinner1); gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0); @@ -5570,15 +5571,15 @@ int main( int argc, hbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); button = gtk_button_new_with_label ("Value as Int"); - gtk_object_set_user_data (GTK_OBJECT (button), val_label); - gtk_signal_connect (GTK_OBJECT (button), "clicked", + g_object_set_data (G_OBJECT (button), "user_data", val_label); + g_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (get_value), GINT_TO_POINTER (1)); gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 5); button = gtk_button_new_with_label ("Value as Float"); - gtk_object_set_user_data (GTK_OBJECT (button), val_label); - gtk_signal_connect (GTK_OBJECT (button), "clicked", + g_object_set_data (G_OBJECT (button), "user_data", val_label); + g_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (get_value), GINT_TO_POINTER (2)); gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 5); @@ -5590,7 +5591,7 @@ int main( int argc, gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, TRUE, 0); button = gtk_button_new_with_label ("Close"); - gtk_signal_connect_object (GTK_OBJECT (button), "clicked", + g_signal_connect_swapped (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy), GTK_OBJECT (window)); gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 5); @@ -5600,7 +5601,7 @@ int main( int argc, /* Enter the event loop */ gtk_main (); - return(0); + return 0; } <!-- example-end --> </programlisting> @@ -6013,14 +6014,14 @@ void calendar_date_to_string( CalendarData *data, void calendar_set_signal_strings( char *sig_str, CalendarData *data) { - gchar *prev_sig; + const gchar *prev_sig; - gtk_label_get (GTK_LABEL (data->prev_sig), &prev_sig); - gtk_label_set (GTK_LABEL (data->prev2_sig), prev_sig); + prev_sig = gtk_label_get_text (GTK_LABEL (data->prev_sig)); + gtk_label_set_text (GTK_LABEL (data->prev2_sig), prev_sig); - gtk_label_get (GTK_LABEL (data->last_sig), &prev_sig); - gtk_label_set (GTK_LABEL (data->prev_sig), prev_sig); - gtk_label_set (GTK_LABEL (data->last_sig), sig_str); + prev_sig = gtk_label_get_text (GTK_LABEL (data->last_sig)); + gtk_label_set_text (GTK_LABEL (data->prev_sig), prev_sig); + gtk_label_set_text (GTK_LABEL (data->last_sig), sig_str); } void calendar_month_changed( GtkWidget *widget, @@ -6131,17 +6132,17 @@ void calendar_font_selection_ok( GtkWidget *button, CalendarData *calendar ) { GtkStyle *style; - GdkFont *font; + PangoFontDescription *font_desc; calendar->font = gtk_font_selection_dialog_get_font_name( GTK_FONT_SELECTION_DIALOG (calendar->font_dialog)); if (calendar->window) { - font = gtk_font_selection_dialog_get_font(GTK_FONT_SELECTION_DIALOG(calendar->font_dialog)); - if (font) + font_desc = pango_font_description_from_string (calendar->font); + if (font_desc) { style = gtk_style_copy (gtk_widget_get_style (calendar->window)); - gtk_style_set_font (style, font); + style->font_desc = font_desc; gtk_widget_set_style (calendar->window, style); } } @@ -6157,19 +6158,19 @@ void calendar_select_font( GtkWidget *button, g_return_if_fail(GTK_IS_FONT_SELECTION_DIALOG(window)); calendar->font_dialog = window; - gtk_window_position (GTK_WINDOW (window), GTK_WIN_POS_MOUSE); + gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_MOUSE); - gtk_signal_connect (GTK_OBJECT (window), "destroy", - GTK_SIGNAL_FUNC (gtk_widget_destroyed), - &calendar->font_dialog); + g_signal_connect (GTK_OBJECT (window), "destroy", + GTK_SIGNAL_FUNC (gtk_widget_destroyed), + &calendar->font_dialog); - gtk_signal_connect (GTK_OBJECT (GTK_FONT_SELECTION_DIALOG (window)->ok_button), - "clicked", GTK_SIGNAL_FUNC(calendar_font_selection_ok), - calendar); - gtk_signal_connect_object (GTK_OBJECT (GTK_FONT_SELECTION_DIALOG (window)->cancel_button), - "clicked", - GTK_SIGNAL_FUNC (gtk_widget_destroy), - GTK_OBJECT (calendar->font_dialog)); + g_signal_connect (GTK_OBJECT (GTK_FONT_SELECTION_DIALOG (window)->ok_button), + "clicked", GTK_SIGNAL_FUNC(calendar_font_selection_ok), + calendar); + g_signal_connect_swapped (GTK_OBJECT (GTK_FONT_SELECTION_DIALOG (window)->cancel_button), + "clicked", + GTK_SIGNAL_FUNC (gtk_widget_destroy), + GTK_OBJECT (calendar->font_dialog)); } window=calendar->font_dialog; if (!GTK_WIDGET_VISIBLE (window)) @@ -6217,15 +6218,15 @@ void create_calendar() window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), "GtkCalendar Example"); - gtk_container_border_width (GTK_CONTAINER (window), 5); - gtk_signal_connect(GTK_OBJECT(window), "destroy", - GTK_SIGNAL_FUNC(gtk_main_quit), - NULL); - gtk_signal_connect(GTK_OBJECT(window), "delete-event", - GTK_SIGNAL_FUNC(gtk_false), - NULL); + gtk_container_set_border_width (GTK_CONTAINER (window), 5); + g_signal_connect(GTK_OBJECT(window), "destroy", + GTK_SIGNAL_FUNC(gtk_main_quit), + NULL); + g_signal_connect(GTK_OBJECT(window), "delete-event", + GTK_SIGNAL_FUNC(gtk_false), + NULL); - gtk_window_set_policy(GTK_WINDOW(window), FALSE, FALSE, TRUE); + gtk_window_set_resizable (GTK_WINDOW (window), FALSE); vbox = gtk_vbox_new(FALSE, DEF_PAD); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -6239,7 +6240,7 @@ void create_calendar() hbbox = gtk_hbutton_box_new(); gtk_box_pack_start(GTK_BOX(hbox), hbbox, FALSE, FALSE, DEF_PAD); gtk_button_box_set_layout(GTK_BUTTON_BOX(hbbox), GTK_BUTTONBOX_SPREAD); - gtk_button_box_set_spacing(GTK_BUTTON_BOX(hbbox), 5); + gtk_box_set_spacing (GTK_BOX (hbbox), 5); /* Calendar widget */ frame = gtk_frame_new("Calendar"); @@ -6249,27 +6250,27 @@ void create_calendar() calendar_set_flags(&calendar_data); gtk_calendar_mark_day ( GTK_CALENDAR(calendar), 19); gtk_container_add( GTK_CONTAINER( frame), calendar); - gtk_signal_connect (GTK_OBJECT (calendar), "month_changed", - GTK_SIGNAL_FUNC (calendar_month_changed), - &calendar_data); - gtk_signal_connect (GTK_OBJECT (calendar), "day_selected", - GTK_SIGNAL_FUNC (calendar_day_selected), - &calendar_data); - gtk_signal_connect (GTK_OBJECT (calendar), "day_selected_double_click", - GTK_SIGNAL_FUNC (calendar_day_selected_double_click), - &calendar_data); - gtk_signal_connect (GTK_OBJECT (calendar), "prev_month", - GTK_SIGNAL_FUNC (calendar_prev_month), - &calendar_data); - gtk_signal_connect (GTK_OBJECT (calendar), "next_month", - GTK_SIGNAL_FUNC (calendar_next_month), - &calendar_data); - gtk_signal_connect (GTK_OBJECT (calendar), "prev_year", - GTK_SIGNAL_FUNC (calendar_prev_year), - &calendar_data); - gtk_signal_connect (GTK_OBJECT (calendar), "next_year", - GTK_SIGNAL_FUNC (calendar_next_year), - &calendar_data); + g_signal_connect (GTK_OBJECT (calendar), "month_changed", + GTK_SIGNAL_FUNC (calendar_month_changed), + &calendar_data); + g_signal_connect (GTK_OBJECT (calendar), "day_selected", + GTK_SIGNAL_FUNC (calendar_day_selected), + &calendar_data); + g_signal_connect (GTK_OBJECT (calendar), "day_selected_double_click", + GTK_SIGNAL_FUNC (calendar_day_selected_double_click), + &calendar_data); + g_signal_connect (GTK_OBJECT (calendar), "prev_month", + GTK_SIGNAL_FUNC (calendar_prev_month), + &calendar_data); + g_signal_connect (GTK_OBJECT (calendar), "next_month", + GTK_SIGNAL_FUNC (calendar_next_month), + &calendar_data); + g_signal_connect (GTK_OBJECT (calendar), "prev_year", + GTK_SIGNAL_FUNC (calendar_prev_year), + &calendar_data); + g_signal_connect (GTK_OBJECT (calendar), "next_year", + GTK_SIGNAL_FUNC (calendar_next_year), + &calendar_data); separator = gtk_vseparator_new (); @@ -6288,7 +6289,7 @@ void create_calendar() for (i = 0; i < 5; i++) { toggle = gtk_check_button_new_with_label(flags[i].label); - gtk_signal_connect (GTK_OBJECT (toggle), + g_signal_connect (GTK_OBJECT (toggle), "toggled", GTK_SIGNAL_FUNC(calendar_toggle_flag), &calendar_data); @@ -6297,7 +6298,7 @@ void create_calendar() } /* Build the right font-button */ button = gtk_button_new_with_label("Font..."); - gtk_signal_connect (GTK_OBJECT (button), + g_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC(calendar_select_font), &calendar_data); @@ -6339,7 +6340,7 @@ void create_calendar() gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END); button = gtk_button_new_with_label ("Close"); - gtk_signal_connect (GTK_OBJECT (button), "clicked", + g_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (gtk_main_quit), NULL); gtk_container_add (GTK_CONTAINER (bbox), button); @@ -6353,14 +6354,13 @@ void create_calendar() int main(int argc, char *argv[] ) { - gtk_set_locale (); gtk_init (&argc, &argv); create_calendar(); gtk_main(); - return(0); + return 0; } <!-- example-end --> </programlisting> @@ -6596,11 +6596,11 @@ gint main( gint argc, drawingarea = gtk_drawing_area_new (); - gtk_drawing_area_size (GTK_DRAWING_AREA(drawingarea), 200, 200); + gtk_widget_set_size_request (GTK_WIDGET (drawingarea), 200, 200); gtk_widget_set_events (drawingarea, GDK_BUTTON_PRESS_MASK); - gtk_signal_connect (GTK_OBJECT(drawingarea), "event", + g_signal_connect (GTK_OBJECT (drawingarea), "event", (GtkSignalFunc)area_event, (gpointer)drawingarea); /* Add drawingarea to window, then show them both */ @@ -6702,16 +6702,16 @@ int main( int argc, /* Create a new file selection widget */ filew = gtk_file_selection_new ("File selection"); - gtk_signal_connect (GTK_OBJECT (filew), "destroy", - (GtkSignalFunc) destroy, &filew); + g_signal_connect (GTK_OBJECT (filew), "destroy", + GTK_SIGNAL_FUNC (destroy), &filew); /* Connect the ok_button to file_ok_sel function */ - gtk_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (filew)->ok_button), - "clicked", (GtkSignalFunc) file_ok_sel, filew ); + g_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (filew)->ok_button), + "clicked", GTK_SIGNAL_FUNC (file_ok_sel), filew ); /* Connect the cancel_button to destroy the widget */ - gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION + g_signal_connect_swapped (GTK_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button), - "clicked", (GtkSignalFunc) gtk_widget_destroy, + "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy), GTK_OBJECT (filew)); /* Lets set the filename, as if this were a save dialog, and we are giving @@ -6774,6 +6774,7 @@ window reveals varying amounts of the label.</para> <programlisting role="C"> <!-- example-start eventbox eventbox.c --> +#include <stdlib.h> #include <gtk/gtk.h> int main( int argc, @@ -6789,8 +6790,8 @@ int main( int argc, gtk_window_set_title (GTK_WINDOW (window), "Event Box"); - gtk_signal_connect (GTK_OBJECT (window), "destroy", - GTK_SIGNAL_FUNC (gtk_exit), NULL); + g_signal_connect (GTK_OBJECT (window), "destroy", + GTK_SIGNAL_FUNC (exit), NULL); gtk_container_set_border_width (GTK_CONTAINER (window), 10); @@ -6807,12 +6808,12 @@ int main( int argc, gtk_widget_show (label); /* Clip it short. */ - gtk_widget_set_usize (label, 110, 20); + gtk_widget_set_size_request (label, 110, 20); /* And bind an action to it */ gtk_widget_set_events (event_box, GDK_BUTTON_PRESS_MASK); - gtk_signal_connect (GTK_OBJECT(event_box), "button_press_event", - GTK_SIGNAL_FUNC (gtk_exit), NULL); + g_signal_connect (GTK_OBJECT(event_box), "button_press_event", + GTK_SIGNAL_FUNC (exit), NULL); /* Yet one more thing you need an X window for ... */ @@ -6823,7 +6824,7 @@ int main( int argc, gtk_main (); - return(0); + return 0; } <!-- example-end --> </programlisting> @@ -6948,7 +6949,7 @@ int main( int argc, gtk_window_set_title(GTK_WINDOW(window), "Fixed Container"); /* Here we connect the "destroy" event to a signal handler */ - gtk_signal_connect (GTK_OBJECT (window), "destroy", + g_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (gtk_main_quit), NULL); /* Sets the border width of the window. */ @@ -6966,7 +6967,7 @@ int main( int argc, /* When the button receives the "clicked" signal, it will call the * function move_button() passing it the Fixed Container as its * argument. */ - gtk_signal_connect (GTK_OBJECT (button), "clicked", + g_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (move_button), fixed); /* This packs the button into the fixed containers window. */ @@ -6982,7 +6983,7 @@ int main( int argc, /* Enter the event loop */ gtk_main (); - return(0); + return 0; } <!-- example-end --> </programlisting> @@ -7134,8 +7135,6 @@ int main( int argc, /* GtkWidget is the storage type for widgets */ GtkWidget *window; GtkWidget *frame; - GtkWidget *button; - gint i; /* Initialise GTK */ gtk_init(&argc, &argv); @@ -7145,10 +7144,10 @@ int main( int argc, gtk_window_set_title(GTK_WINDOW(window), "Frame Example"); /* Here we connect the "destroy" event to a signal handler */ - gtk_signal_connect (GTK_OBJECT (window), "destroy", + g_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (gtk_main_quit), NULL); - gtk_widget_set_usize(window, 300, 300); + gtk_widget_set_size_request (window, 300, 300); /* Sets the border width of the window. */ gtk_container_set_border_width (GTK_CONTAINER (window), 10); @@ -7173,7 +7172,7 @@ int main( int argc, /* Enter the event loop */ gtk_main (); - return(0); + return 0; } <!-- example-end --> </programlisting> @@ -7236,8 +7235,8 @@ int main( int argc, window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Aspect Frame"); - gtk_signal_connect (GTK_OBJECT (window), "destroy", - GTK_SIGNAL_FUNC (gtk_main_quit), NULL); + g_signal_connect (GTK_OBJECT (window), "destroy", + GTK_SIGNAL_FUNC (gtk_main_quit), NULL); gtk_container_set_border_width (GTK_CONTAINER (window), 10); /* Create an aspect_frame and add it to our toplevel window */ @@ -7257,7 +7256,7 @@ int main( int argc, /* Ask for a 200x200 window, but the AspectFrame will give us a 200x100 * window since we are forcing a 2x1 aspect ratio */ - gtk_widget_set_usize (drawing_area, 200, 200); + gtk_widget_set_size_request (drawing_area, 200, 200); gtk_container_add (GTK_CONTAINER(aspect_frame), drawing_area); gtk_widget_show (drawing_area); @@ -7318,7 +7317,6 @@ window.</para> <programlisting role="C"> <!-- example-start paned paned.c --> -#define GTK_ENABLE_BROKEN #include <stdio.h> #include <gtk/gtk.h> @@ -7433,7 +7431,7 @@ int main( int argc, gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (gtk_main_quit), NULL); gtk_container_set_border_width (GTK_CONTAINER (window), 10); - gtk_widget_set_usize (GTK_WIDGET(window), 450, 400); + gtk_widget_set_size_request (GTK_WIDGET (window), 450, 400); /* create a vpaned widget and add it to our toplevel window */ @@ -7592,11 +7590,11 @@ int main( int argc, /* Create a new dialog window for the scrolled window to be * packed into. */ window = gtk_dialog_new (); - gtk_signal_connect (GTK_OBJECT (window), "destroy", + g_signal_connect (GTK_OBJECT (window), "destroy", (GtkSignalFunc) destroy, NULL); gtk_window_set_title (GTK_WINDOW (window), "GtkScrolledWindow example"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - gtk_widget_set_usize(window, 300, 300); + gtk_widget_set_size_request (window, 300, 300); /* create a new scrolled window. */ scrolled_window = gtk_scrolled_window_new (NULL, NULL); @@ -7640,7 +7638,7 @@ int main( int argc, /* Add a "close" button to the bottom of the dialog */ button = gtk_button_new_with_label ("close"); - gtk_signal_connect_object (GTK_OBJECT (button), "clicked", + g_signal_connect_swapped (GTK_OBJECT (button), "clicked", (GtkSignalFunc) gtk_widget_destroy, GTK_OBJECT (window)); @@ -7658,13 +7656,13 @@ int main( int argc, gtk_main(); - return(0); + return 0; } <!-- example-end --> </programlisting> <para>Try playing with resizing the window. You'll notice how the scrollbars -react. You may also wish to use the gtk_widget_set_usize() call to set +react. You may also wish to use the gtk_widget_set_size_request() call to set the default size of the window or other widgets.</para> </sect1> @@ -7766,8 +7764,8 @@ GtkWidget *create_bbox( gint horizontal, /* Set the appearance of the Button Box */ gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), layout); - gtk_button_box_set_spacing (GTK_BUTTON_BOX (bbox), spacing); - gtk_button_box_set_child_size (GTK_BUTTON_BOX (bbox), child_w, child_h); + gtk_box_set_spacing (GTK_BOX (bbox), spacing); + /*gtk_button_box_set_child_size (GTK_BUTTON_BOX (bbox), child_w, child_h);*/ button = gtk_button_new_with_label ("OK"); gtk_container_add (GTK_CONTAINER (bbox), button); @@ -7797,9 +7795,9 @@ int main( int argc, window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Button Boxes"); - gtk_signal_connect (GTK_OBJECT (window), "destroy", - GTK_SIGNAL_FUNC(gtk_main_quit), - NULL); + g_signal_connect (GTK_OBJECT (window), "destroy", + GTK_SIGNAL_FUNC(gtk_main_quit), + NULL); gtk_container_set_border_width (GTK_CONTAINER (window), 10); @@ -8067,12 +8065,12 @@ int main (int argc, char *argv[]) /* create a new window with a given title, and nice size */ dialog = gtk_dialog_new (); gtk_window_set_title ( GTK_WINDOW ( dialog ) , "GTKToolbar Tutorial"); - gtk_widget_set_usize( GTK_WIDGET ( dialog ) , 600 , 300 ); + gtk_widget_set_size_request (GTK_WIDGET (dialog), 600, 300); GTK_WINDOW ( dialog ) ->allow_shrink = TRUE; /* typically we quit if someone tries to close us */ - gtk_signal_connect ( GTK_OBJECT ( dialog ), "delete_event", - GTK_SIGNAL_FUNC ( delete_event ), NULL); + g_signal_connect ( GTK_OBJECT ( dialog ), "delete_event", + GTK_SIGNAL_FUNC ( delete_event ), NULL); /* we need to realize the window because we use pixmaps for * items on the toolbar in the context of it */ @@ -8491,15 +8489,15 @@ void remove_book( GtkButton *button, gtk_notebook_remove_page (notebook, page); /* Need to refresh the widget -- This forces the widget to redraw itself. */ - gtk_widget_draw(GTK_WIDGET(notebook), NULL); + gtk_widget_queue_draw (GTK_WIDGET (notebook)); } gint delete( GtkWidget *widget, GtkWidget *event, gpointer data ) { - gtk_main_quit(); - return(FALSE); + gtk_main_quit (); + return FALSE; } int main( int argc, @@ -8520,7 +8518,7 @@ int main( int argc, window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_signal_connect (GTK_OBJECT (window), "delete_event", + g_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (delete), NULL); gtk_container_set_border_width (GTK_CONTAINER (window), 10); @@ -8541,7 +8539,7 @@ int main( int argc, frame = gtk_frame_new (bufferf); gtk_container_set_border_width (GTK_CONTAINER (frame), 10); - gtk_widget_set_usize (frame, 100, 75); + gtk_widget_set_size_request (frame, 100, 75); gtk_widget_show (frame); label = gtk_label_new (bufferf); @@ -8554,7 +8552,7 @@ int main( int argc, /* Now let's add a page to a specific spot */ checkbutton = gtk_check_button_new_with_label ("Check me please!"); - gtk_widget_set_usize(checkbutton, 100, 75); + gtk_widget_set_size_request (checkbutton, 100, 75); gtk_widget_show (checkbutton); label = gtk_label_new ("Add page"); @@ -8567,7 +8565,7 @@ int main( int argc, frame = gtk_frame_new (bufferf); gtk_container_set_border_width (GTK_CONTAINER (frame), 10); - gtk_widget_set_usize (frame, 100, 75); + gtk_widget_set_size_request (frame, 100, 75); gtk_widget_show (frame); label = gtk_label_new (bufferf); @@ -8579,46 +8577,46 @@ int main( int argc, } /* Set what page to start at (page 4) */ - gtk_notebook_set_page (GTK_NOTEBOOK(notebook), 3); + gtk_notebook_set_current_page (GTK_NOTEBOOK(notebook), 3); /* Create a bunch of buttons */ button = gtk_button_new_with_label ("close"); - gtk_signal_connect_object (GTK_OBJECT (button), "clicked", + g_signal_connect_swapped (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (delete), NULL); gtk_table_attach_defaults(GTK_TABLE(table), button, 0,1,1,2); gtk_widget_show(button); button = gtk_button_new_with_label ("next page"); - gtk_signal_connect_object (GTK_OBJECT (button), "clicked", - (GtkSignalFunc) gtk_notebook_next_page, + g_signal_connect_swapped (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (gtk_notebook_next_page), GTK_OBJECT (notebook)); gtk_table_attach_defaults(GTK_TABLE(table), button, 1,2,1,2); gtk_widget_show(button); button = gtk_button_new_with_label ("prev page"); - gtk_signal_connect_object (GTK_OBJECT (button), "clicked", - (GtkSignalFunc) gtk_notebook_prev_page, + g_signal_connect_swapped (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (gtk_notebook_prev_page), GTK_OBJECT (notebook)); gtk_table_attach_defaults(GTK_TABLE(table), button, 2,3,1,2); gtk_widget_show(button); button = gtk_button_new_with_label ("tab position"); - gtk_signal_connect (GTK_OBJECT (button), "clicked", - (GtkSignalFunc) rotate_book, + g_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (rotate_book), GTK_OBJECT(notebook)); gtk_table_attach_defaults(GTK_TABLE(table), button, 3,4,1,2); gtk_widget_show(button); button = gtk_button_new_with_label ("tabs/border on/off"); - gtk_signal_connect (GTK_OBJECT (button), "clicked", - (GtkSignalFunc) tabsborder_book, + g_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (tabsborder_book), GTK_OBJECT (notebook)); gtk_table_attach_defaults(GTK_TABLE(table), button, 4,5,1,2); gtk_widget_show(button); button = gtk_button_new_with_label ("remove page"); - gtk_signal_connect (GTK_OBJECT (button), "clicked", - (GtkSignalFunc) remove_book, + g_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (remove_book), GTK_OBJECT(notebook)); gtk_table_attach_defaults(GTK_TABLE(table), button, 5,6,1,2); gtk_widget_show(button); @@ -8628,7 +8626,7 @@ int main( int argc, gtk_main (); - return(0); + return 0; } <!-- example-end --> </programlisting> @@ -9306,7 +9304,7 @@ int main( int argc, gtk_init(&argc, &argv); window=gtk_window_new(GTK_WINDOW_TOPLEVEL); - gtk_widget_set_usize(GTK_WIDGET(window), 300, 150); + gtk_widget_set_size_request (GTK_WIDGET (window), 300, 150); gtk_window_set_title(GTK_WINDOW(window), "GtkCList Example"); gtk_signal_connect(GTK_OBJECT(window), @@ -9677,7 +9675,7 @@ GtkWidget *gtk_tree_new( void ); <para>Like the CList widget, a Tree will simply keep growing as more items are added to it, as well as when subtrees are expanded. For this reason, they are almost always packed into a -ScrolledWindow. You might want to use gtk_widget_set_usize() on the +ScrolledWindow. You might want to use gtk_widget_set_size_request() on the scrolled window to ensure that it is big enough to see the tree's items, as the default size for ScrolledWindow is quite small.</para> @@ -10382,7 +10380,7 @@ int main( int argc, gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - gtk_widget_set_usize (scrolled_win, 150, 200); + gtk_widget_set_size_request (scrolled_win, 150, 200); gtk_container_add (GTK_CONTAINER(window), scrolled_win); gtk_widget_show (scrolled_win); @@ -10758,9 +10756,9 @@ int main( int argc, /* create a new window */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_widget_set_usize (GTK_WIDGET (window), 200, 100); + gtk_widget_set_size_request (GTK_WIDGET (window), 200, 100); gtk_window_set_title (GTK_WINDOW (window), "GTK Menu Test"); - gtk_signal_connect (GTK_OBJECT (window), "delete_event", + g_signal_connect (GTK_OBJECT (window), "delete_event", (GtkSignalFunc) gtk_main_quit, NULL); /* Init the menu-widget, and remember -- never @@ -10784,10 +10782,10 @@ int main( int argc, menu_items = gtk_menu_item_new_with_label (buf); /* ...and add it to the menu. */ - gtk_menu_append (GTK_MENU (menu), menu_items); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); /* Do something interesting when the menuitem is selected */ - gtk_signal_connect_object (GTK_OBJECT (menu_items), "activate", + g_signal_connect_swapped (GTK_OBJECT (menu_items), "activate", GTK_SIGNAL_FUNC (menuitem_response), (gpointer) g_strdup (buf)); /* Show the widget */ @@ -10817,14 +10815,14 @@ int main( int argc, /* Create a button to which to attach menu as a popup */ button = gtk_button_new_with_label ("press me"); - gtk_signal_connect_object (GTK_OBJECT (button), "event", + g_signal_connect_swapped (GTK_OBJECT (button), "event", GTK_SIGNAL_FUNC (button_press), GTK_OBJECT (menu)); gtk_box_pack_end (GTK_BOX (vbox), button, TRUE, TRUE, 2); gtk_widget_show (button); /* And finally we append the menu-item to the menu-bar -- this is the * "root" menu-item I have been raving about =) */ - gtk_menu_bar_append (GTK_MENU_BAR (menu_bar), root_menu); + gtk_menu_shell_append (GTK_MENU_SHELL (menu_bar), root_menu); /* always display the window as the last step so it all splashes on * the screen at once. */ @@ -10832,7 +10830,7 @@ int main( int argc, gtk_main (); - return(0); + return 0; } /* Respond to a button-press by posting a menu passed in as widget. @@ -10982,14 +10980,14 @@ int main( int argc, gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_signal_connect (GTK_OBJECT (window), "destroy", + g_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (gtk_main_quit), "WM destroy"); gtk_window_set_title (GTK_WINDOW(window), "Item Factory"); - gtk_widget_set_usize (GTK_WIDGET(window), 300, 200); + gtk_widget_set_size_request (GTK_WIDGET (window), 300, 200); main_vbox = gtk_vbox_new (FALSE, 1); - gtk_container_border_width (GTK_CONTAINER (main_vbox), 1); + gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 1); gtk_container_add (GTK_CONTAINER (window), main_vbox); gtk_widget_show (main_vbox); @@ -11000,7 +10998,7 @@ int main( int argc, gtk_widget_show (window); gtk_main (); - return(0); + return 0; } <!-- example-end --> </programlisting> @@ -11334,7 +11332,7 @@ int main( int argc, gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_widget_set_usize (window, 600, 500); + gtk_widget_set_size_request (window, 600, 500); gtk_window_set_policy (GTK_WINDOW(window), TRUE, TRUE, FALSE); gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC(close_application), @@ -12036,9 +12034,9 @@ void gtk_widget_set_uposition( GtkWidget *widget, gint x, gint y ); -void gtk_widget_set_usize( GtkWidget *widget, - gint width, - gint height ); +void gtk_widget_set_size_request ( GtkWidget *widget, + gint width, + gint height ); void gtk_widget_grab_focus( GtkWidget *widget ); @@ -12464,6 +12462,7 @@ converted.</para> <programlisting role="C"> <!-- example-start selection gettargets.c --> +#include <stdlib.h> #include <gtk/gtk.h> void selection_received( GtkWidget *widget, @@ -12538,17 +12537,17 @@ int main( int argc, gtk_window_set_title (GTK_WINDOW (window), "Event Box"); gtk_container_set_border_width (GTK_CONTAINER (window), 10); - gtk_signal_connect (GTK_OBJECT (window), "destroy", - GTK_SIGNAL_FUNC (gtk_exit), NULL); + g_signal_connect (GTK_OBJECT (window), "destroy", + GTK_SIGNAL_FUNC (exit), NULL); /* Create a button the user can click to get targets */ button = gtk_button_new_with_label ("Get Targets"); gtk_container_add (GTK_CONTAINER (window), button); - gtk_signal_connect (GTK_OBJECT(button), "clicked", + g_signal_connect (GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC (get_targets), NULL); - gtk_signal_connect (GTK_OBJECT(button), "selection_received", + g_signal_connect (GTK_OBJECT(button), "selection_received", GTK_SIGNAL_FUNC (selection_received), NULL); gtk_widget_show (button); @@ -12633,6 +12632,7 @@ string representation of the time is returned.</para> <programlisting role="C"> <!-- example-start selection setselection.c --> +#include <stdlib.h> #include <gtk/gtk.h> #include <time.h> @@ -12710,8 +12710,8 @@ int main( int argc, gtk_window_set_title (GTK_WINDOW (window), "Event Box"); gtk_container_set_border_width (GTK_CONTAINER (window), 10); - gtk_signal_connect (GTK_OBJECT (window), "destroy", - GTK_SIGNAL_FUNC (gtk_exit), NULL); + g_signal_connect (GTK_OBJECT (window), "destroy", + GTK_SIGNAL_FUNC (exit), NULL); /* Create a toggle button to act as the selection */ @@ -12719,16 +12719,16 @@ int main( int argc, gtk_container_add (GTK_CONTAINER (window), selection_button); gtk_widget_show (selection_button); - gtk_signal_connect (GTK_OBJECT(selection_button), "toggled", + g_signal_connect (GTK_OBJECT(selection_button), "toggled", GTK_SIGNAL_FUNC (selection_toggled), &have_selection); - gtk_signal_connect (GTK_OBJECT(selection_button), "selection_clear_event", + g_signal_connect (GTK_OBJECT(selection_button), "selection_clear_event", GTK_SIGNAL_FUNC (selection_clear), &have_selection); gtk_selection_add_target (selection_button, GDK_SELECTION_PRIMARY, GDK_SELECTION_TYPE_STRING, 1); - gtk_signal_connect (GTK_OBJECT(selection_button), "selection_get", + g_signal_connect (GTK_OBJECT(selection_button), "selection_get", GTK_SIGNAL_FUNC (selection_handle), &have_selection); gtk_widget_show (selection_button); @@ -13940,7 +13940,7 @@ if an object is a Tictactoe widget respectively.</para> <para>Here is the complete header file:</para> <programlisting role="C"> -/* tictactoe.h */ +<!-- example-start tictactoe tictactoe.h --> #ifndef __TICTACTOE_H__ #define __TICTACTOE_H__ @@ -13974,7 +13974,7 @@ struct _TictactoeClass void (* tictactoe) (Tictactoe *ttt); }; -GtkType tictactoe_get_type (void); +GType tictactoe_get_type (void); GtkWidget* tictactoe_new (void); void tictactoe_clear (Tictactoe *ttt); @@ -13983,6 +13983,7 @@ void tictactoe_clear (Tictactoe *ttt); #endif /* __cplusplus */ #endif /* __TICTACTOE_H__ */ +<!-- example-end --> </programlisting> </sect2> @@ -14217,7 +14218,7 @@ tictactoe_init (Tictactoe *ttt) i, i+1, j, j+1); gtk_signal_connect (GTK_OBJECT (ttt->buttons[i][j]), "toggled", GTK_SIGNAL_FUNC (tictactoe_toggle), ttt); - gtk_widget_set_usize (ttt->buttons[i][j], 20, 20); + gtk_widget_set_size_request (ttt->buttons[i][j], 20, 20); gtk_widget_show (ttt->buttons[i][j]); } } @@ -15527,7 +15528,7 @@ void gtk_drawing_area_size (GtkDrawingArea *darea, </programlisting> <para>This default size can be overridden, as is true for all widgets, -by calling <literal>gtk_widget_set_usize()</literal>, and that, in turn, can +by calling <literal>gtk_widget_set_size_request()</literal>, and that, in turn, can be overridden if the user manually resizes the the window containing the drawing area.</para> @@ -17595,26 +17596,27 @@ static void tictactoe_toggle (GtkWidget *widget, Tictactoe *ttt); static gint tictactoe_signals[LAST_SIGNAL] = { 0 }; -GtkType +GType tictactoe_get_type () { - static GtkType ttt_type = 0; + static GType ttt_type = 0; if (!ttt_type) { - GtkTypeInfo ttt_info = + static const GTypeInfo ttt_info = { - "Tictactoe", - sizeof (Tictactoe), sizeof (TictactoeClass), - (GtkClassInitFunc) tictactoe_class_init, - (GtkObjectInitFunc) tictactoe_init, - /* reserved_1 */ NULL, - /* reserved_1 */ NULL, - (GtkClassInitFunc) NULL + NULL, + NULL, + (GClassInitFunc) tictactoe_class_init, + NULL, + NULL, + sizeof (Tictactoe), + 0, + (GInstanceInitFunc) tictactoe_init, }; - ttt_type = gtk_type_unique (gtk_vbox_get_type (), &ttt_info); + ttt_type = g_type_register_static (GTK_TYPE_VBOX, "Tictactoe", &ttt_info, 0); } return ttt_type; @@ -17627,13 +17629,14 @@ tictactoe_class_init (TictactoeClass *class) object_class = (GtkObjectClass*) class; - tictactoe_signals[TICTACTOE_SIGNAL] = gtk_signal_new ("tictactoe", - GTK_RUN_FIRST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (TictactoeClass, - tictactoe), - gtk_signal_default_marshaller, - GTK_TYPE_NONE, 0); + tictactoe_signals[TICTACTOE_SIGNAL] = g_signal_new ("tictactoe", + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_FIRST, + 0, + NULL, + NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0, NULL); class->tictactoe = NULL; @@ -17655,9 +17658,9 @@ tictactoe_init (Tictactoe *ttt) ttt->buttons[i][j] = gtk_toggle_button_new (); gtk_table_attach_defaults (GTK_TABLE(table), ttt->buttons[i][j], i, i+1, j, j+1); - gtk_signal_connect (GTK_OBJECT (ttt->buttons[i][j]), "toggled", + g_signal_connect (GTK_OBJECT (ttt->buttons[i][j]), "toggled", GTK_SIGNAL_FUNC (tictactoe_toggle), ttt); - gtk_widget_set_usize (ttt->buttons[i][j], 20, 20); + gtk_widget_set_size_request (ttt->buttons[i][j], 20, 20); gtk_widget_show (ttt->buttons[i][j]); } } @@ -17665,7 +17668,7 @@ tictactoe_init (Tictactoe *ttt) GtkWidget* tictactoe_new () { - return GTK_WIDGET ( gtk_type_new (tictactoe_get_type ())); + return GTK_WIDGET (g_object_new (tictactoe_get_type (), NULL)); } void @@ -17676,10 +17679,10 @@ tictactoe_clear (Tictactoe *ttt) for (i=0;i<3;i++) for (j=0;j<3;j++) { - gtk_signal_handler_block_by_data (GTK_OBJECT(ttt->buttons[i][j]), ttt); + g_signal_handlers_block_by_func (GTK_OBJECT(ttt->buttons[i][j]), NULL, ttt); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ttt->buttons[i][j]), FALSE); - gtk_signal_handler_unblock_by_data (GTK_OBJECT(ttt->buttons[i][j]), ttt); + g_signal_handlers_unblock_by_func (GTK_OBJECT(ttt->buttons[i][j]), NULL, ttt); } } @@ -17712,8 +17715,8 @@ tictactoe_toggle (GtkWidget *widget, Tictactoe *ttt) if (success && found) { - gtk_signal_emit (GTK_OBJECT (ttt), - tictactoe_signals[TICTACTOE_SIGNAL]); + g_signal_emit (GTK_OBJECT (ttt), + tictactoe_signals[TICTACTOE_SIGNAL], 0); break; } } @@ -17731,6 +17734,7 @@ tictactoe_toggle (GtkWidget *widget, Tictactoe *ttt) <programlisting role="C"> <!-- example-start tictactoe ttt_test.c --> +#include <stdlib.h> #include <gtk/gtk.h> #include "tictactoe.h" @@ -17753,8 +17757,8 @@ int main( int argc, gtk_window_set_title (GTK_WINDOW (window), "Aspect Frame"); - gtk_signal_connect (GTK_OBJECT (window), "destroy", - GTK_SIGNAL_FUNC (gtk_exit), NULL); + g_signal_connect (GTK_OBJECT (window), "destroy", + GTK_SIGNAL_FUNC (exit), NULL); gtk_container_set_border_width (GTK_CONTAINER (window), 10); @@ -17763,7 +17767,7 @@ int main( int argc, gtk_container_add (GTK_CONTAINER (window), ttt); gtk_widget_show (ttt); - gtk_signal_connect (GTK_OBJECT (ttt), "tictactoe", + g_signal_connect (GTK_OBJECT (ttt), "tictactoe", GTK_SIGNAL_FUNC (win), NULL); gtk_widget_show (window); @@ -17951,26 +17955,27 @@ static void gtk_dial_adjustment_value_changed (GtkAdjustment *adjustment, static GtkWidgetClass *parent_class = NULL; -GtkType +GType gtk_dial_get_type () { - static GtkType dial_type = 0; + static GType dial_type = 0; if (!dial_type) { - GtkTypeInfo dial_info = + static const GTypeInfo dial_info = { - "GtkDial", - sizeof (GtkDial), sizeof (GtkDialClass), - (GtkClassInitFunc) gtk_dial_class_init, - (GtkObjectInitFunc) gtk_dial_init, - /* reserved_1 */ NULL, - /* reserved_1 */ NULL, - (GtkClassInitFunc) NULL + NULL, + NULL, + (GClassInitFunc) gtk_dial_class_init, + NULL, + NULL, + sizeof (GtkDial), + 0, + (GInstanceInitFunc) gtk_dial_init, }; - dial_type = gtk_type_unique (GTK_TYPE_WIDGET, &dial_info); + dial_type = g_type_register_static (GTK_TYPE_WIDGET, "GtkDial", &dial_info, 0); } return dial_type; @@ -18018,7 +18023,7 @@ gtk_dial_new (GtkAdjustment *adjustment) { GtkDial *dial; - dial = gtk_type_new (gtk_dial_get_type ()); + dial = g_object_new (gtk_dial_get_type (), NULL); if (!adjustment) adjustment = (GtkAdjustment*) gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0); @@ -18039,7 +18044,7 @@ gtk_dial_destroy (GtkObject *object) dial = GTK_DIAL (object); if (dial->adjustment) - gtk_object_unref (GTK_OBJECT (dial->adjustment)); + g_object_unref (GTK_OBJECT (dial->adjustment)); if (GTK_OBJECT_CLASS (parent_class)->destroy) (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); @@ -18073,18 +18078,18 @@ gtk_dial_set_adjustment (GtkDial *dial, if (dial->adjustment) { - gtk_signal_disconnect_by_data (GTK_OBJECT (dial->adjustment), (gpointer) dial); - gtk_object_unref (GTK_OBJECT (dial->adjustment)); + g_signal_handlers_disconnect_by_func (GTK_OBJECT (dial->adjustment), NULL, (gpointer) dial); + g_object_unref (GTK_OBJECT (dial->adjustment)); } dial->adjustment = adjustment; - gtk_object_ref (GTK_OBJECT (dial->adjustment)); + g_object_ref (GTK_OBJECT (dial->adjustment)); - gtk_signal_connect (GTK_OBJECT (adjustment), "changed", - (GtkSignalFunc) gtk_dial_adjustment_changed, + g_signal_connect (GTK_OBJECT (adjustment), "changed", + GTK_SIGNAL_FUNC (gtk_dial_adjustment_changed), (gpointer) dial); - gtk_signal_connect (GTK_OBJECT (adjustment), "value_changed", - (GtkSignalFunc) gtk_dial_adjustment_value_changed, + g_signal_connect (GTK_OBJECT (adjustment), "value_changed", + GTK_SIGNAL_FUNC (gtk_dial_adjustment_value_changed), (gpointer) dial); dial->old_value = adjustment->value; @@ -18224,20 +18229,23 @@ gtk_dial_expose (GtkWidget *widget, blankstyle->black_gc = widget->style->bg_gc[GTK_STATE_NORMAL]; - gtk_draw_polygon (blankstyle, + gtk_paint_polygon (blankstyle, widget->window, GTK_STATE_NORMAL, GTK_SHADOW_OUT, + NULL, + widget, + NULL, points, 5, FALSE); - gtk_style_unref(blankstyle); + g_object_unref(blankstyle); /* Draw ticks */ if ((upper - lower) == 0) - return; + return FALSE; increment = (100*M_PI)/(dial->radius*dial->radius); @@ -18286,10 +18294,13 @@ gtk_dial_expose (GtkWidget *widget, points[4].y = points[0].y; - gtk_draw_polygon (widget->style, + gtk_paint_polygon (widget->style, widget->window, GTK_STATE_NORMAL, GTK_SHADOW_OUT, + NULL, + widget, + NULL, points, 5, TRUE); @@ -18363,7 +18374,7 @@ gtk_dial_button_release (GtkWidget *widget, if ((dial->policy != GTK_UPDATE_CONTINUOUS) && (dial->old_value != dial->adjustment->value)) - gtk_signal_emit_by_name (GTK_OBJECT (dial->adjustment), "value_changed"); + g_signal_emit_by_name (GTK_OBJECT (dial->adjustment), "value_changed"); } return FALSE; @@ -18421,7 +18432,7 @@ gtk_dial_timer (GtkDial *dial) g_return_val_if_fail (GTK_IS_DIAL (dial), FALSE); if (dial->policy == GTK_UPDATE_DELAYED) - gtk_signal_emit_by_name (GTK_OBJECT (dial->adjustment), "value_changed"); + g_signal_emit_by_name (GTK_OBJECT (dial->adjustment), "value_changed"); return FALSE; } @@ -18457,11 +18468,11 @@ gtk_dial_update_mouse (GtkDial *dial, gint x, gint y) { if (dial->policy == GTK_UPDATE_CONTINUOUS) { - gtk_signal_emit_by_name (GTK_OBJECT (dial->adjustment), "value_changed"); + g_signal_emit_by_name (GTK_OBJECT (dial->adjustment), "value_changed"); } else { - gtk_widget_draw (GTK_WIDGET(dial), NULL); + gtk_widget_queue_draw (GTK_WIDGET (dial)); if (dial->policy == GTK_UPDATE_DELAYED) { @@ -18495,13 +18506,13 @@ gtk_dial_update (GtkDial *dial) if (new_value != dial->adjustment->value) { dial->adjustment->value = new_value; - gtk_signal_emit_by_name (GTK_OBJECT (dial->adjustment), "value_changed"); + g_signal_emit_by_name (GTK_OBJECT (dial->adjustment), "value_changed"); } dial->angle = 7.*M_PI/6. - (new_value - dial->adjustment->lower) * 4.*M_PI/3. / (dial->adjustment->upper - dial->adjustment->lower); - gtk_widget_draw (GTK_WIDGET(dial), NULL); + gtk_widget_queue_draw (GTK_WIDGET (dial)); } static void @@ -18555,7 +18566,9 @@ gtk_dial_adjustment_value_changed (GtkAdjustment *adjustment, <title>dial_test.c</title> <programlisting role="C"> +<!-- example-start gtkdial dial_test.c --> #include <stdio.h> +#include <stdlib.h> #include <gtk/gtk.h> #include "gtkdial.h" @@ -18565,7 +18578,7 @@ void value_changed( GtkAdjustment *adjustment, char buffer[16]; sprintf(buffer,"%4.2f",adjustment->value); - gtk_label_set (GTK_LABEL (label), buffer); + gtk_label_set_text (GTK_LABEL (label), buffer); } int main( int argc, @@ -18584,10 +18597,10 @@ int main( int argc, gtk_window_set_title (GTK_WINDOW (window), "Dial"); - gtk_signal_connect (GTK_OBJECT (window), "destroy", - GTK_SIGNAL_FUNC (gtk_exit), NULL); + g_signal_connect (GTK_OBJECT (window), "destroy", + GTK_SIGNAL_FUNC (exit), NULL); - gtk_container_border_width (GTK_CONTAINER (window), 10); + gtk_container_set_border_width (GTK_CONTAINER (window), 10); vbox = gtk_vbox_new (FALSE, 5); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -18602,7 +18615,7 @@ int main( int argc, dial = gtk_dial_new(adjustment); gtk_dial_set_update_policy (GTK_DIAL(dial), GTK_UPDATE_DELAYED); - /* gtk_widget_set_usize (dial, 100, 100); */ + /* gtk_widget_set_size_request (dial, 100, 100); */ gtk_container_add (GTK_CONTAINER (frame), dial); gtk_widget_show (dial); @@ -18611,7 +18624,7 @@ int main( int argc, gtk_box_pack_end (GTK_BOX(vbox), label, 0, 0, 0); gtk_widget_show (label); - gtk_signal_connect (GTK_OBJECT(adjustment), "value_changed", + g_signal_connect (GTK_OBJECT(adjustment), "value_changed", GTK_SIGNAL_FUNC (value_changed), label); gtk_widget_show (window); @@ -18620,6 +18633,7 @@ int main( int argc, return 0; } +<!-- example-end --> </programlisting> </sect2> @@ -18665,7 +18679,7 @@ static gint configure_event( GtkWidget *widget, GdkEventConfigure *event ) { if (pixmap) - gdk_pixmap_unref(pixmap); + g_object_unref(pixmap); pixmap = gdk_pixmap_new(widget->window, widget->allocation.width, @@ -18685,7 +18699,7 @@ static gint configure_event( GtkWidget *widget, static gint expose_event( GtkWidget *widget, GdkEventExpose *event ) { - gdk_draw_pixmap(widget->window, + gdk_draw_drawable(widget->window, widget->style->fg_gc[GTK_WIDGET_STATE (widget)], pixmap, event->area.x, event->area.y, @@ -18711,7 +18725,9 @@ static void draw_brush( GtkWidget *widget, TRUE, update_rect.x, update_rect.y, update_rect.width, update_rect.height); - gtk_widget_draw (widget, &update_rect); + gtk_widget_queue_draw_area (widget, + update_rect.x, update_rect.y, + update_rect.width, update_rect.height); } static gint button_press_event( GtkWidget *widget, @@ -18746,7 +18762,7 @@ static gint motion_notify_event( GtkWidget *widget, void quit () { - gtk_exit (0); + exit (0); } int main( int argc, @@ -18767,29 +18783,29 @@ int main( int argc, gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (vbox); - gtk_signal_connect (GTK_OBJECT (window), "destroy", + g_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (quit), NULL); /* Create the drawing area */ drawing_area = gtk_drawing_area_new (); - gtk_drawing_area_size (GTK_DRAWING_AREA (drawing_area), 200, 200); + gtk_widget_set_size_request (GTK_WIDGET (drawing_area), 200, 200); gtk_box_pack_start (GTK_BOX (vbox), drawing_area, TRUE, TRUE, 0); gtk_widget_show (drawing_area); /* Signals used to handle backing pixmap */ - gtk_signal_connect (GTK_OBJECT (drawing_area), "expose_event", + g_signal_connect (GTK_OBJECT (drawing_area), "expose_event", (GtkSignalFunc) expose_event, NULL); - gtk_signal_connect (GTK_OBJECT(drawing_area),"configure_event", + g_signal_connect (GTK_OBJECT(drawing_area),"configure_event", (GtkSignalFunc) configure_event, NULL); /* Event signals */ - gtk_signal_connect (GTK_OBJECT (drawing_area), "motion_notify_event", + g_signal_connect (GTK_OBJECT (drawing_area), "motion_notify_event", (GtkSignalFunc) motion_notify_event, NULL); - gtk_signal_connect (GTK_OBJECT (drawing_area), "button_press_event", + g_signal_connect (GTK_OBJECT (drawing_area), "button_press_event", (GtkSignalFunc) button_press_event, NULL); gtk_widget_set_events (drawing_area, GDK_EXPOSURE_MASK @@ -18802,7 +18818,7 @@ int main( int argc, button = gtk_button_new_with_label ("Quit"); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); - gtk_signal_connect_object (GTK_OBJECT (button), "clicked", + g_signal_connect_swapped (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy), GTK_OBJECT (window)); gtk_widget_show (button); @@ -18854,7 +18870,7 @@ static gint configure_event (GtkWidget *widget, GdkEventConfigure *event) { if (pixmap) - gdk_pixmap_unref(pixmap); + g_object_unref(pixmap); pixmap = gdk_pixmap_new(widget->window, widget->allocation.width, @@ -18874,7 +18890,7 @@ configure_event (GtkWidget *widget, GdkEventConfigure *event) static gint expose_event (GtkWidget *widget, GdkEventExpose *event) { - gdk_draw_pixmap(widget->window, + gdk_draw_drawable(widget->window, widget->style->fg_gc[GTK_WIDGET_STATE (widget)], pixmap, event->area.x, event->area.y, @@ -18915,7 +18931,9 @@ draw_brush (GtkWidget *widget, GdkInputSource source, gdk_draw_rectangle (pixmap, gc, TRUE, update_rect.x, update_rect.y, update_rect.width, update_rect.height); - gtk_widget_draw (widget, &update_rect); + gtk_widget_queue_draw_area (widget, + update_rect.x, update_rect.y, + update_rect.width, update_rect.height); } static void @@ -18981,9 +18999,9 @@ create_input_dialog () { inputd = gtk_input_dialog_new(); - gtk_signal_connect (GTK_OBJECT(inputd), "destroy", + g_signal_connect (GTK_OBJECT(inputd), "destroy", (GtkSignalFunc)input_dialog_destroy, &inputd); - gtk_signal_connect_object (GTK_OBJECT(GTK_INPUT_DIALOG(inputd)->close_button), + g_signal_connect_swapped (GTK_OBJECT(GTK_INPUT_DIALOG(inputd)->close_button), "clicked", (GtkSignalFunc)gtk_widget_hide, GTK_OBJECT(inputd)); @@ -19003,7 +19021,7 @@ create_input_dialog () void quit () { - gtk_exit (0); + exit (0); } int @@ -19024,29 +19042,29 @@ main (int argc, char *argv[]) gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (vbox); - gtk_signal_connect (GTK_OBJECT (window), "destroy", + g_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (quit), NULL); /* Create the drawing area */ drawing_area = gtk_drawing_area_new (); - gtk_drawing_area_size (GTK_DRAWING_AREA (drawing_area), 200, 200); + gtk_widget_set_size_request (GTK_WIDGET (drawing_area), 200, 200); gtk_box_pack_start (GTK_BOX (vbox), drawing_area, TRUE, TRUE, 0); gtk_widget_show (drawing_area); /* Signals used to handle backing pixmap */ - gtk_signal_connect (GTK_OBJECT (drawing_area), "expose_event", + g_signal_connect (GTK_OBJECT (drawing_area), "expose_event", (GtkSignalFunc) expose_event, NULL); - gtk_signal_connect (GTK_OBJECT(drawing_area),"configure_event", + g_signal_connect (GTK_OBJECT(drawing_area),"configure_event", (GtkSignalFunc) configure_event, NULL); /* Event signals */ - gtk_signal_connect (GTK_OBJECT (drawing_area), "motion_notify_event", + g_signal_connect (GTK_OBJECT (drawing_area), "motion_notify_event", (GtkSignalFunc) motion_notify_event, NULL); - gtk_signal_connect (GTK_OBJECT (drawing_area), "button_press_event", + g_signal_connect (GTK_OBJECT (drawing_area), "button_press_event", (GtkSignalFunc) button_press_event, NULL); gtk_widget_set_events (drawing_area, GDK_EXPOSURE_MASK @@ -19063,14 +19081,14 @@ main (int argc, char *argv[]) button = gtk_button_new_with_label ("Input Dialog"); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); - gtk_signal_connect (GTK_OBJECT (button), "clicked", + g_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (create_input_dialog), NULL); gtk_widget_show (button); button = gtk_button_new_with_label ("Quit"); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); - gtk_signal_connect_object (GTK_OBJECT (button), "clicked", + g_signal_connect_swapped (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy), GTK_OBJECT (window)); gtk_widget_show (button); @@ -19387,7 +19405,7 @@ gint main( int argc, */ window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), "GtkList Example"); - gtk_signal_connect(GTK_OBJECT(window), + g_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(gtk_main_quit), NULL); @@ -19396,13 +19414,13 @@ gint main( int argc, /* Inside the window we need a box to arrange the widgets * vertically */ vbox=gtk_vbox_new(FALSE, 5); - gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); + gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); gtk_container_add(GTK_CONTAINER(window), vbox); gtk_widget_show(vbox); /* This is the scrolled window to put the List widget inside */ scrolled_window=gtk_scrolled_window_new(NULL, NULL); - gtk_widget_set_usize(scrolled_window, 250, 150); + gtk_widget_set_size_request (scrolled_window, 250, 150); gtk_container_add(GTK_CONTAINER(vbox), scrolled_window); gtk_widget_show(scrolled_window); @@ -19422,8 +19440,8 @@ gint main( int argc, /* We create a "Prison" to put a list item in ;) */ frame=gtk_frame_new("Prison"); - gtk_widget_set_usize(frame, 200, 50); - gtk_container_set_border_width(GTK_CONTAINER(frame), 5); + gtk_widget_set_size_request (frame, 200, 50); + gtk_container_set_border_width (GTK_CONTAINER (frame), 5); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_OUT); gtk_container_add(GTK_CONTAINER(vbox), frame); gtk_widget_show(frame); @@ -19602,7 +19620,7 @@ void sigh_print_selection( GtkWidget *gtklist, gchar *item_data_string; list_item=GTK_OBJECT(dlist->data); - item_data_string=gtk_object_get_data(list_item, + item_data_string=g_object_get_data(G_OBJECT (list_item), list_item_data_key); g_print("%s ", item_data_string); |