/* * DO NOT EDIT THIS FILE - it is generated by Glade. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #include #include #include "callbacks.h" #include "interface.h" #include "support.h" #define GLADE_HOOKUP_OBJECT(component,widget,name) \ g_object_set_data_full (G_OBJECT (component), name, \ gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref) #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \ g_object_set_data (G_OBJECT (component), name, widget) GtkWidget* create_bfl_launcher_dialog (void) { GtkWidget *bfl_launcher_dialog; GtkWidget *dialog_vbox1; GtkWidget *vbox1; GtkWidget *levelsettings_frame; GtkWidget *alignment1; GtkWidget *hbox1; GtkWidget *settings_col1_table; GtkWidget *walls_label; GtkWidget *invulnerabilities_label; GtkWidget *powerups_label; GtkWidget *warps_label; GtkObject *walls_spinner_adj; GtkWidget *walls_spinner; GtkObject *warps_spinner_adj; GtkWidget *warps_spinner; GtkObject *powerups_spinner_adj; GtkWidget *powerups_spinner; GtkObject *invulnerabilities_spinner_adj; GtkWidget *invulnerabilities_spinner; GtkWidget *vseparator1; GtkWidget *settings_col2_table; GtkWidget *bomns_label; GtkWidget *powdowns_label; GtkWidget *health_label; GtkWidget *seed_label; GtkObject *powdowns_spinner_adj; GtkWidget *powdowns_spinner; GtkObject *bomns_spinner_adj; GtkWidget *bomns_spinner; GtkObject *health_spinner_adj; GtkWidget *health_spinner; GtkObject *seed_spinner_adj; GtkWidget *seed_spinner; GtkWidget *levelsettings_frame_label; GtkWidget *hbox2; GtkWidget *matchsettings_frame; GtkWidget *alignment2; GtkWidget *hbox3; GtkWidget *p1bomns_label; GtkObject *p1bomns_spinner_adj; GtkWidget *p1bomns_spinner; GtkWidget *p2bomns_label; GtkObject *p2bomns_spinner_adj; GtkWidget *p2bomns_spinner; GtkWidget *matchtime_label; GtkObject *matchtime_spinner_adj; GtkWidget *matchtime_spinner; GtkWidget *matchsettings_frame_label; GtkWidget *gamesettings_frame; GtkWidget *alignment3; GtkWidget *game_settings_vbox; GtkWidget *checkbox_hbox; GtkWidget *fullscreen_checkbutton; GtkWidget *sound_checkbutton; GtkWidget *showfps_checkbutton; GtkWidget *load_level_hbox; GtkWidget *uselevelfile_label; GtkWidget *levelfile_textentry; GtkWidget *load_button; GtkWidget *radio_hbox; GtkWidget *generate_level_radio; GSList *generate_level_radio_group = NULL; GtkWidget *load_from_file_radio; GtkWidget *gamesettings_frame_label; GtkWidget *dialog_action_area1; GtkWidget *play_button; GtkWidget *editor_button; GtkWidget *defaults_button; GtkWidget *quit_button; GtkTooltips *tooltips; tooltips = gtk_tooltips_new (); bfl_launcher_dialog = gtk_dialog_new (); gtk_window_set_title (GTK_WINDOW (bfl_launcher_dialog), "Bomns for Linux Launcher"); gtk_window_set_position (GTK_WINDOW (bfl_launcher_dialog), GTK_WIN_POS_CENTER); gtk_window_set_resizable (GTK_WINDOW (bfl_launcher_dialog), FALSE); gtk_window_set_type_hint (GTK_WINDOW (bfl_launcher_dialog), GDK_WINDOW_TYPE_HINT_DIALOG); dialog_vbox1 = GTK_DIALOG (bfl_launcher_dialog)->vbox; gtk_widget_show (dialog_vbox1); vbox1 = gtk_vbox_new (FALSE, 1); gtk_widget_show (vbox1); gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox1, TRUE, TRUE, 0); levelsettings_frame = gtk_frame_new (NULL); gtk_widget_show (levelsettings_frame); gtk_box_pack_start (GTK_BOX (vbox1), levelsettings_frame, TRUE, TRUE, 0); alignment1 = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_widget_show (alignment1); gtk_container_add (GTK_CONTAINER (levelsettings_frame), alignment1); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment1), 0, 4, 12, 0); hbox1 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox1); gtk_container_add (GTK_CONTAINER (alignment1), hbox1); gtk_container_set_border_width (GTK_CONTAINER (hbox1), 3); settings_col1_table = gtk_table_new (4, 2, FALSE); gtk_widget_show (settings_col1_table); gtk_box_pack_start (GTK_BOX (hbox1), settings_col1_table, TRUE, TRUE, 0); gtk_table_set_row_spacings (GTK_TABLE (settings_col1_table), 3); gtk_table_set_col_spacings (GTK_TABLE (settings_col1_table), 5); walls_label = gtk_label_new ("Walls"); gtk_widget_show (walls_label); gtk_table_attach (GTK_TABLE (settings_col1_table), walls_label, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (walls_label), 0, 0.5); invulnerabilities_label = gtk_label_new ("Invulnerabilities"); gtk_widget_show (invulnerabilities_label); gtk_table_attach (GTK_TABLE (settings_col1_table), invulnerabilities_label, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (invulnerabilities_label), 0, 0.5); powerups_label = gtk_label_new ("Powerups"); gtk_widget_show (powerups_label); gtk_table_attach (GTK_TABLE (settings_col1_table), powerups_label, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (powerups_label), 0, 0.5); warps_label = gtk_label_new ("Warps"); gtk_widget_show (warps_label); gtk_table_attach (GTK_TABLE (settings_col1_table), warps_label, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (warps_label), 0, 0.5); walls_spinner_adj = gtk_adjustment_new (900, 0, 2.14748e+09, 1, 10, 10); walls_spinner = gtk_spin_button_new (GTK_ADJUSTMENT (walls_spinner_adj), 1, 0); gtk_widget_show (walls_spinner); gtk_table_attach (GTK_TABLE (settings_col1_table), walls_spinner, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, walls_spinner, "Number of walls initially in the level", NULL); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (walls_spinner), TRUE); warps_spinner_adj = gtk_adjustment_new (2, 0, 2.14748e+09, 1, 10, 10); warps_spinner = gtk_spin_button_new (GTK_ADJUSTMENT (warps_spinner_adj), 1, 0); gtk_widget_show (warps_spinner); gtk_table_attach (GTK_TABLE (settings_col1_table), warps_spinner, 1, 2, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, warps_spinner, "Number of warps initially in the level", NULL); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (warps_spinner), TRUE); powerups_spinner_adj = gtk_adjustment_new (50, 0, 2.14748e+09, 1, 10, 10); powerups_spinner = gtk_spin_button_new (GTK_ADJUSTMENT (powerups_spinner_adj), 1, 0); gtk_widget_show (powerups_spinner); gtk_table_attach (GTK_TABLE (settings_col1_table), powerups_spinner, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, powerups_spinner, "Number of powerups initially in the level", NULL); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (powerups_spinner), TRUE); invulnerabilities_spinner_adj = gtk_adjustment_new (10, 0, 2.14748e+09, 1, 10, 10); invulnerabilities_spinner = gtk_spin_button_new (GTK_ADJUSTMENT (invulnerabilities_spinner_adj), 1, 0); gtk_widget_show (invulnerabilities_spinner); gtk_table_attach (GTK_TABLE (settings_col1_table), invulnerabilities_spinner, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, invulnerabilities_spinner, "Number of invulnerabilities initially in the level", NULL); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (invulnerabilities_spinner), TRUE); vseparator1 = gtk_vseparator_new (); gtk_widget_show (vseparator1); gtk_box_pack_start (GTK_BOX (hbox1), vseparator1, TRUE, TRUE, 6); settings_col2_table = gtk_table_new (4, 2, FALSE); gtk_widget_show (settings_col2_table); gtk_box_pack_start (GTK_BOX (hbox1), settings_col2_table, TRUE, TRUE, 0); gtk_table_set_row_spacings (GTK_TABLE (settings_col2_table), 3); gtk_table_set_col_spacings (GTK_TABLE (settings_col2_table), 5); bomns_label = gtk_label_new ("Bomns"); gtk_widget_show (bomns_label); gtk_table_attach (GTK_TABLE (settings_col2_table), bomns_label, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (bomns_label), 0, 0.5); powdowns_label = gtk_label_new ("Powerdowns"); gtk_widget_show (powdowns_label); gtk_table_attach (GTK_TABLE (settings_col2_table), powdowns_label, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (powdowns_label), 0, 0.5); health_label = gtk_label_new ("Health"); gtk_widget_show (health_label); gtk_table_attach (GTK_TABLE (settings_col2_table), health_label, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (health_label), 0, 0.5); seed_label = gtk_label_new ("Seed"); gtk_widget_show (seed_label); gtk_table_attach (GTK_TABLE (settings_col2_table), seed_label, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (seed_label), 0, 0.5); powdowns_spinner_adj = gtk_adjustment_new (10, 0, 2.14748e+09, 1, 10, 10); powdowns_spinner = gtk_spin_button_new (GTK_ADJUSTMENT (powdowns_spinner_adj), 1, 0); gtk_widget_show (powdowns_spinner); gtk_table_attach (GTK_TABLE (settings_col2_table), powdowns_spinner, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, powdowns_spinner, "Number of powerdowns initially in the level", NULL); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (powdowns_spinner), TRUE); bomns_spinner_adj = gtk_adjustment_new (20, 0, 2.14748e+09, 1, 10, 10); bomns_spinner = gtk_spin_button_new (GTK_ADJUSTMENT (bomns_spinner_adj), 1, 0); gtk_widget_show (bomns_spinner); gtk_table_attach (GTK_TABLE (settings_col2_table), bomns_spinner, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, bomns_spinner, "Number of bomns initially in the level", NULL); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (bomns_spinner), TRUE); health_spinner_adj = gtk_adjustment_new (10, 0, 2.14748e+09, 1, 10, 10); health_spinner = gtk_spin_button_new (GTK_ADJUSTMENT (health_spinner_adj), 1, 0); gtk_widget_show (health_spinner); gtk_table_attach (GTK_TABLE (settings_col2_table), health_spinner, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, health_spinner, "Number of health powerups initially in the level", NULL); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (health_spinner), TRUE); seed_spinner_adj = gtk_adjustment_new (0, 0, 2.14748e+09, 1, 10, 10); seed_spinner = gtk_spin_button_new (GTK_ADJUSTMENT (seed_spinner_adj), 1, 0); gtk_widget_show (seed_spinner); gtk_table_attach (GTK_TABLE (settings_col2_table), seed_spinner, 1, 2, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, seed_spinner, "Level seed (0 is random)", NULL); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (seed_spinner), TRUE); levelsettings_frame_label = gtk_label_new ("Level Settings"); gtk_widget_show (levelsettings_frame_label); gtk_frame_set_label_widget (GTK_FRAME (levelsettings_frame), levelsettings_frame_label); gtk_label_set_use_markup (GTK_LABEL (levelsettings_frame_label), TRUE); gtk_misc_set_alignment (GTK_MISC (levelsettings_frame_label), 0.5, 0.49); hbox2 = gtk_hbox_new (FALSE, 58); gtk_widget_show (hbox2); gtk_box_pack_start (GTK_BOX (vbox1), hbox2, FALSE, TRUE, 0); matchsettings_frame = gtk_frame_new (NULL); gtk_widget_show (matchsettings_frame); gtk_box_pack_start (GTK_BOX (hbox2), matchsettings_frame, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (matchsettings_frame), 2); alignment2 = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_widget_show (alignment2); gtk_container_add (GTK_CONTAINER (matchsettings_frame), alignment2); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment2), 2, 4, 12, 3); hbox3 = gtk_hbox_new (FALSE, 5); gtk_widget_show (hbox3); gtk_container_add (GTK_CONTAINER (alignment2), hbox3); p1bomns_label = gtk_label_new ("P1 Bomns"); gtk_widget_show (p1bomns_label); gtk_box_pack_start (GTK_BOX (hbox3), p1bomns_label, FALSE, FALSE, 0); p1bomns_spinner_adj = gtk_adjustment_new (10, 0, 99, 1, 10, 10); p1bomns_spinner = gtk_spin_button_new (GTK_ADJUSTMENT (p1bomns_spinner_adj), 1, 0); gtk_widget_show (p1bomns_spinner); gtk_box_pack_start (GTK_BOX (hbox3), p1bomns_spinner, TRUE, TRUE, 0); gtk_tooltips_set_tip (tooltips, p1bomns_spinner, "Number of bomns Player 1 starts the match with", NULL); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (p1bomns_spinner), TRUE); p2bomns_label = gtk_label_new ("P2 Bomns"); gtk_widget_show (p2bomns_label); gtk_box_pack_start (GTK_BOX (hbox3), p2bomns_label, FALSE, FALSE, 0); p2bomns_spinner_adj = gtk_adjustment_new (10, 0, 99, 1, 10, 10); p2bomns_spinner = gtk_spin_button_new (GTK_ADJUSTMENT (p2bomns_spinner_adj), 1, 0); gtk_widget_show (p2bomns_spinner); gtk_box_pack_start (GTK_BOX (hbox3), p2bomns_spinner, TRUE, TRUE, 0); gtk_tooltips_set_tip (tooltips, p2bomns_spinner, "Number of bomns Player 2 starts the match with", NULL); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (p2bomns_spinner), TRUE); matchtime_label = gtk_label_new ("Match Time"); gtk_widget_show (matchtime_label); gtk_box_pack_start (GTK_BOX (hbox3), matchtime_label, FALSE, FALSE, 0); matchtime_spinner_adj = gtk_adjustment_new (100, 0, 999, 1, 10, 10); matchtime_spinner = gtk_spin_button_new (GTK_ADJUSTMENT (matchtime_spinner_adj), 1, 0); gtk_widget_show (matchtime_spinner); gtk_box_pack_start (GTK_BOX (hbox3), matchtime_spinner, TRUE, TRUE, 0); gtk_tooltips_set_tip (tooltips, matchtime_spinner, "Time for the match (in seconds). Enter 0 for unlimited time.", NULL); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (matchtime_spinner), TRUE); matchsettings_frame_label = gtk_label_new ("Match Settings"); gtk_widget_show (matchsettings_frame_label); gtk_frame_set_label_widget (GTK_FRAME (matchsettings_frame), matchsettings_frame_label); gtk_label_set_use_markup (GTK_LABEL (matchsettings_frame_label), TRUE); gamesettings_frame = gtk_frame_new (NULL); gtk_widget_show (gamesettings_frame); gtk_box_pack_start (GTK_BOX (vbox1), gamesettings_frame, TRUE, TRUE, 0); alignment3 = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_widget_show (alignment3); gtk_container_add (GTK_CONTAINER (gamesettings_frame), alignment3); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment3), 0, 3, 12, 0); game_settings_vbox = gtk_vbox_new (FALSE, 2); gtk_widget_show (game_settings_vbox); gtk_container_add (GTK_CONTAINER (alignment3), game_settings_vbox); checkbox_hbox = gtk_hbox_new (TRUE, 0); gtk_widget_show (checkbox_hbox); gtk_box_pack_start (GTK_BOX (game_settings_vbox), checkbox_hbox, TRUE, TRUE, 0); fullscreen_checkbutton = gtk_check_button_new_with_mnemonic ("Fullscreen"); gtk_widget_show (fullscreen_checkbutton); gtk_box_pack_start (GTK_BOX (checkbox_hbox), fullscreen_checkbutton, FALSE, FALSE, 0); gtk_tooltips_set_tip (tooltips, fullscreen_checkbutton, "Play in fullscreen mode?", NULL); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fullscreen_checkbutton), TRUE); sound_checkbutton = gtk_check_button_new_with_mnemonic ("Sound"); gtk_widget_show (sound_checkbutton); gtk_box_pack_start (GTK_BOX (checkbox_hbox), sound_checkbutton, FALSE, FALSE, 0); gtk_tooltips_set_tip (tooltips, sound_checkbutton, "Play sounds?", NULL); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sound_checkbutton), TRUE); showfps_checkbutton = gtk_check_button_new_with_mnemonic ("Show FPS"); gtk_widget_show (showfps_checkbutton); gtk_box_pack_start (GTK_BOX (checkbox_hbox), showfps_checkbutton, FALSE, FALSE, 0); gtk_tooltips_set_tip (tooltips, showfps_checkbutton, "Show a framerate counter?", NULL); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (showfps_checkbutton), TRUE); load_level_hbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (load_level_hbox); gtk_box_pack_start (GTK_BOX (game_settings_vbox), load_level_hbox, TRUE, TRUE, 0); uselevelfile_label = gtk_label_new ("Use Level File "); gtk_widget_show (uselevelfile_label); gtk_box_pack_start (GTK_BOX (load_level_hbox), uselevelfile_label, FALSE, FALSE, 0); levelfile_textentry = gtk_entry_new (); gtk_widget_show (levelfile_textentry); gtk_box_pack_start (GTK_BOX (load_level_hbox), levelfile_textentry, TRUE, TRUE, 0); gtk_tooltips_set_tip (tooltips, levelfile_textentry, "Which level file to load. This will also be the level the editor will load if you click the \"Editor\" button.", NULL); load_button = gtk_button_new_with_mnemonic ("Load"); gtk_widget_show (load_button); gtk_box_pack_start (GTK_BOX (load_level_hbox), load_button, FALSE, FALSE, 5); gtk_tooltips_set_tip (tooltips, load_button, "Open a file selection dialog", NULL); radio_hbox = gtk_hbox_new (TRUE, 0); gtk_widget_show (radio_hbox); gtk_box_pack_start (GTK_BOX (game_settings_vbox), radio_hbox, TRUE, TRUE, 0); generate_level_radio = gtk_radio_button_new_with_mnemonic (NULL, "Generate Random Level"); gtk_widget_show (generate_level_radio); gtk_box_pack_start (GTK_BOX (radio_hbox), generate_level_radio, FALSE, FALSE, 0); gtk_tooltips_set_tip (tooltips, generate_level_radio, "Generate a random level based on the above settings", NULL); gtk_radio_button_set_group (GTK_RADIO_BUTTON (generate_level_radio), generate_level_radio_group); generate_level_radio_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (generate_level_radio)); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (generate_level_radio), TRUE); load_from_file_radio = gtk_radio_button_new_with_mnemonic (NULL, "Load Level From File"); gtk_widget_show (load_from_file_radio); gtk_box_pack_start (GTK_BOX (radio_hbox), load_from_file_radio, FALSE, FALSE, 0); gtk_tooltips_set_tip (tooltips, load_from_file_radio, "Play a level from a file, ignoring the above level settings (match and game settings are still respected)", NULL); gtk_radio_button_set_group (GTK_RADIO_BUTTON (load_from_file_radio), generate_level_radio_group); generate_level_radio_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (load_from_file_radio)); gamesettings_frame_label = gtk_label_new ("Game Settings"); gtk_widget_show (gamesettings_frame_label); gtk_frame_set_label_widget (GTK_FRAME (gamesettings_frame), gamesettings_frame_label); gtk_label_set_use_markup (GTK_LABEL (gamesettings_frame_label), TRUE); dialog_action_area1 = GTK_DIALOG (bfl_launcher_dialog)->action_area; gtk_widget_show (dialog_action_area1); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_SPREAD); play_button = gtk_button_new_with_mnemonic ("Play"); gtk_widget_show (play_button); gtk_dialog_add_action_widget (GTK_DIALOG (bfl_launcher_dialog), play_button, 0); GTK_WIDGET_SET_FLAGS (play_button, GTK_CAN_DEFAULT); gtk_tooltips_set_tip (tooltips, play_button, "Play the game!", NULL); editor_button = gtk_button_new_with_mnemonic ("Editor"); gtk_widget_show (editor_button); gtk_dialog_add_action_widget (GTK_DIALOG (bfl_launcher_dialog), editor_button, 0); GTK_WIDGET_SET_FLAGS (editor_button, GTK_CAN_DEFAULT); gtk_tooltips_set_tip (tooltips, editor_button, "Start the Bomns Level Editor", NULL); defaults_button = gtk_button_new_with_mnemonic ("Defaults"); gtk_widget_show (defaults_button); gtk_dialog_add_action_widget (GTK_DIALOG (bfl_launcher_dialog), defaults_button, 0); GTK_WIDGET_SET_FLAGS (defaults_button, GTK_CAN_DEFAULT); gtk_tooltips_set_tip (tooltips, defaults_button, "Reset default settings", NULL); quit_button = gtk_button_new_with_mnemonic ("Quit"); gtk_widget_show (quit_button); gtk_dialog_add_action_widget (GTK_DIALOG (bfl_launcher_dialog), quit_button, 0); GTK_WIDGET_SET_FLAGS (quit_button, GTK_CAN_DEFAULT); gtk_tooltips_set_tip (tooltips, quit_button, "Get off your ass and do something", NULL); g_signal_connect ((gpointer) bfl_launcher_dialog, "close", G_CALLBACK (gtk_main_quit), NULL); g_signal_connect ((gpointer) bfl_launcher_dialog, "destroy", G_CALLBACK (gtk_main_quit), NULL); g_signal_connect ((gpointer) load_button, "clicked", G_CALLBACK (on_load_button_clicked), NULL); g_signal_connect ((gpointer) play_button, "clicked", G_CALLBACK (on_play_button_clicked), NULL); g_signal_connect ((gpointer) editor_button, "clicked", G_CALLBACK (on_editor_button_clicked), NULL); g_signal_connect ((gpointer) defaults_button, "clicked", G_CALLBACK (on_defaults_button_clicked), NULL); g_signal_connect ((gpointer) quit_button, "clicked", G_CALLBACK (gtk_main_quit), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (bfl_launcher_dialog, bfl_launcher_dialog, "bfl_launcher_dialog"); GLADE_HOOKUP_OBJECT_NO_REF (bfl_launcher_dialog, dialog_vbox1, "dialog_vbox1"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, vbox1, "vbox1"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, levelsettings_frame, "levelsettings_frame"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, alignment1, "alignment1"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, hbox1, "hbox1"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, settings_col1_table, "settings_col1_table"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, walls_label, "walls_label"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, invulnerabilities_label, "invulnerabilities_label"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, powerups_label, "powerups_label"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, warps_label, "warps_label"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, walls_spinner, "walls_spinner"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, warps_spinner, "warps_spinner"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, powerups_spinner, "powerups_spinner"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, invulnerabilities_spinner, "invulnerabilities_spinner"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, vseparator1, "vseparator1"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, settings_col2_table, "settings_col2_table"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, bomns_label, "bomns_label"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, powdowns_label, "powdowns_label"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, health_label, "health_label"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, seed_label, "seed_label"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, powdowns_spinner, "powdowns_spinner"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, bomns_spinner, "bomns_spinner"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, health_spinner, "health_spinner"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, seed_spinner, "seed_spinner"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, levelsettings_frame_label, "levelsettings_frame_label"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, hbox2, "hbox2"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, matchsettings_frame, "matchsettings_frame"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, alignment2, "alignment2"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, hbox3, "hbox3"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, p1bomns_label, "p1bomns_label"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, p1bomns_spinner, "p1bomns_spinner"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, p2bomns_label, "p2bomns_label"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, p2bomns_spinner, "p2bomns_spinner"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, matchtime_label, "matchtime_label"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, matchtime_spinner, "matchtime_spinner"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, matchsettings_frame_label, "matchsettings_frame_label"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, gamesettings_frame, "gamesettings_frame"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, alignment3, "alignment3"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, game_settings_vbox, "game_settings_vbox"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, checkbox_hbox, "checkbox_hbox"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, fullscreen_checkbutton, "fullscreen_checkbutton"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, sound_checkbutton, "sound_checkbutton"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, showfps_checkbutton, "showfps_checkbutton"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, load_level_hbox, "load_level_hbox"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, uselevelfile_label, "uselevelfile_label"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, levelfile_textentry, "levelfile_textentry"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, load_button, "load_button"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, radio_hbox, "radio_hbox"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, generate_level_radio, "generate_level_radio"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, load_from_file_radio, "load_from_file_radio"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, gamesettings_frame_label, "gamesettings_frame_label"); GLADE_HOOKUP_OBJECT_NO_REF (bfl_launcher_dialog, dialog_action_area1, "dialog_action_area1"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, play_button, "play_button"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, editor_button, "editor_button"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, defaults_button, "defaults_button"); GLADE_HOOKUP_OBJECT (bfl_launcher_dialog, quit_button, "quit_button"); GLADE_HOOKUP_OBJECT_NO_REF (bfl_launcher_dialog, tooltips, "tooltips"); gtk_widget_grab_focus (play_button); gtk_widget_grab_default (play_button); return bfl_launcher_dialog; } GtkWidget* create_level_select_dialog (void) { GtkWidget *level_select_dialog; GtkWidget *dialog_vbox2; GtkWidget *dialog_action_area2; GtkWidget *cancel_button; GtkWidget *open_button; level_select_dialog = gtk_file_chooser_dialog_new ("Select a Level to Load", NULL, GTK_FILE_CHOOSER_ACTION_OPEN, NULL); gtk_window_set_modal (GTK_WINDOW (level_select_dialog), TRUE); gtk_window_set_destroy_with_parent (GTK_WINDOW (level_select_dialog), TRUE); gtk_window_set_type_hint (GTK_WINDOW (level_select_dialog), GDK_WINDOW_TYPE_HINT_DIALOG); dialog_vbox2 = GTK_DIALOG (level_select_dialog)->vbox; gtk_widget_show (dialog_vbox2); dialog_action_area2 = GTK_DIALOG (level_select_dialog)->action_area; gtk_widget_show (dialog_action_area2); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area2), GTK_BUTTONBOX_END); cancel_button = gtk_button_new_from_stock ("gtk-cancel"); gtk_widget_show (cancel_button); gtk_dialog_add_action_widget (GTK_DIALOG (level_select_dialog), cancel_button, GTK_RESPONSE_CANCEL); GTK_WIDGET_SET_FLAGS (cancel_button, GTK_CAN_DEFAULT); open_button = gtk_button_new_from_stock ("gtk-open"); gtk_widget_show (open_button); gtk_dialog_add_action_widget (GTK_DIALOG (level_select_dialog), open_button, GTK_RESPONSE_OK); GTK_WIDGET_SET_FLAGS (open_button, GTK_CAN_DEFAULT); g_signal_connect ((gpointer) cancel_button, "clicked", G_CALLBACK (on_cancel_button_clicked), NULL); g_signal_connect ((gpointer) open_button, "clicked", G_CALLBACK (on_open_button_clicked), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (level_select_dialog, level_select_dialog, "level_select_dialog"); GLADE_HOOKUP_OBJECT_NO_REF (level_select_dialog, dialog_vbox2, "dialog_vbox2"); GLADE_HOOKUP_OBJECT_NO_REF (level_select_dialog, dialog_action_area2, "dialog_action_area2"); GLADE_HOOKUP_OBJECT (level_select_dialog, cancel_button, "cancel_button"); GLADE_HOOKUP_OBJECT (level_select_dialog, open_button, "open_button"); gtk_widget_grab_default (open_button); return level_select_dialog; }