/************************************************************************** This function is called when the tileset is changed. **************************************************************************/ void tileset_changed(void) { /* PORTME */ /* Here you should do any necessary redraws (for instance, the city * dialogs usually need to be resized). */ reset_econ_label_pixmaps(); update_info_label(); reset_unit_below_pixmaps(); }
static void epp_mode_changed (GtkComboBox *dropdown, GtkWidget *info_label) { epp_mode = gtk_combo_box_get_active (dropdown); if (epp_mode > 2) epp_mode = 0; g_settings_set_string (epp_settings, "mode", epp_options[epp_mode].key); update_info_label (info_label, epp_mode); }
/************************************************************************** Sets the "page" that the client should show. See documentation in pages_g.h. **************************************************************************/ void real_set_client_page(enum client_pages page) { switch (old_page) { case PAGE_MAIN: popdown_start_menu(); break; case PAGE_LOAD: popdown_load_game_dialog(); break; case PAGE_NETWORK: close_connection_dialog(); break; case PAGE_START: popdown_conn_list_dialog(); break; case PAGE_GAME: close_game_page(); break; default: break; } switch (page) { case PAGE_MAIN: show_main_page(); break; case PAGE_LOAD: client_start_server(); break; case PAGE_NETWORK: popup_join_game_dialog(); break; case PAGE_START: conn_list_dialog_update(); break; case PAGE_GAME: show_game_page(); enable_main_widgets(); update_info_label(); unit_focus_update(); update_unit_info_label(get_units_in_focus()); update_turn_done_button_state(); refresh_overview(); menus_update(); break; default: break; } old_page = page; }
/************************************************************************** ... **************************************************************************/ void handle_player_info(struct packet_player_info *pinfo) { int i; struct player *pplayer=&game.players[pinfo->playerno]; strcpy(pplayer->name, pinfo->name); pplayer->race=pinfo->race; pplayer->economic.gold=pinfo->gold; pplayer->economic.tax=pinfo->tax; pplayer->economic.science=pinfo->science; pplayer->economic.luxury=pinfo->luxury; pplayer->goverment=pinfo->goverment; pplayer->embassy=pinfo->embassy; for(i=0; i<A_LAST; i++) pplayer->research.inventions[i]=pinfo->inventions[i]-'0'; if(pplayer->research.researching!=pinfo->researching && client_state==CLIENT_GAME_RUNNING_STATE && pplayer==game.player_ptr) { popup_science_dialog(1); did_advance_tech_this_turn=game.year; } pplayer->research.researched=pinfo->researched; pplayer->research.researchpoints=pinfo->researchpoints; pplayer->research.researching=pinfo->researching; pplayer->turn_done=pinfo->turn_done; pplayer->nturns_idle=pinfo->nturns_idle; pplayer->is_alive=pinfo->is_alive; pplayer->is_connected=pinfo->is_connected; strcpy(pplayer->addr, pinfo->addr); pplayer->revolution=pinfo->revolution; if(pplayer==game.player_ptr && pplayer->revolution==0 && pplayer->goverment==G_ANARCHY) popup_goverment_dialog(); update_players_dialog(); if(pplayer==game.player_ptr) { update_info_label(); } }
/************************************************************************** ... **************************************************************************/ void handle_new_year(struct packet_new_year *ppacket) { update_turn_done_button(1); enable_turn_done_button(); game.year=ppacket->year; update_info_label(); player_set_unit_focus_status(game.player_ptr); update_unit_focus(); update_unit_info_label(get_unit_in_focus()); seconds_to_turndone=game.timeout; update_report_dialogs(); }
/**************************************************************************** Really resize the main window. ****************************************************************************/ static void real_resize_window_callback(void *data) { struct widget *widget; Uint32 flags = Main.screen->flags; if (gui_sdl_fullscreen) { flags |= SDL_FULLSCREEN; } else { flags &= ~SDL_FULLSCREEN; } set_video_mode(gui_sdl_screen.width, gui_sdl_screen.height, flags); if (C_S_RUNNING == client_state()) { /* Move units window to botton-right corner. */ set_new_unitinfo_window_pos(); /* Move minimap window to botton-left corner. */ set_new_minimap_window_pos(); /* Move cooling/warming icons to botton-right corner. */ widget = get_widget_pointer_form_main_list(ID_WARMING_ICON); widget_set_position(widget, (Main.screen->w - adj_size(10) - (widget->size.w * 2)), widget->size.y); widget = get_widget_pointer_form_main_list(ID_COOLING_ICON); widget_set_position(widget, (Main.screen->w - adj_size(10) - widget->size.w), widget->size.y); map_canvas_resized(Main.screen->w, Main.screen->h); update_info_label(); update_unit_info_label(get_units_in_focus()); center_on_something(); /* With redrawing full map. */ update_order_widgets(); } else { draw_intro_gfx(); dirty_all(); } flush_all(); }
GtkWidget * prefer_plain_page_factory (EPlugin *epl, struct _EConfigHookItemFactoryData *data) { GtkComboBox *dropdown; GtkCellRenderer *cell; GtkListStore *store; GtkWidget *dropdown_label, *info, *check; guint i; GtkTreeIter iter; if (data->old) return data->old; check = gtk_check_button_new_with_mnemonic (_("Show s_uppressed HTML parts as attachments")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), epp_show_suppressed); gtk_widget_show (check); g_signal_connect ( check, "toggled", G_CALLBACK (epp_show_suppressed_toggled), NULL); dropdown = (GtkComboBox *) gtk_combo_box_new (); cell = gtk_cell_renderer_text_new (); store = gtk_list_store_new (1, G_TYPE_STRING); for (i = 0; i < G_N_ELEMENTS (epp_options); i++) { gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, _(epp_options[i].label), -1); } gtk_cell_layout_pack_start ((GtkCellLayout *) dropdown, cell, TRUE); gtk_cell_layout_set_attributes ((GtkCellLayout *) dropdown, cell, "text", 0, NULL); gtk_combo_box_set_model (dropdown, (GtkTreeModel *) store); /*gtk_combo_box_set_active(dropdown, -1);*/ gtk_combo_box_set_active (dropdown, epp_mode); gtk_widget_show ((GtkWidget *) dropdown); dropdown_label = gtk_label_new_with_mnemonic (_("HTML _Mode")); gtk_widget_show (dropdown_label); gtk_label_set_mnemonic_widget (GTK_LABEL (dropdown_label), (GtkWidget *) dropdown); info = gtk_label_new (NULL); gtk_misc_set_alignment (GTK_MISC (info), 0.0, 0.5); gtk_label_set_line_wrap (GTK_LABEL (info), TRUE); gtk_widget_show (info); update_info_label (info, epp_mode); g_signal_connect ( dropdown, "changed", G_CALLBACK (epp_mode_changed), info); g_object_get (data->parent, "n-rows", &i, NULL); gtk_table_attach ((GtkTable *) data->parent, check, 0, 2, i, i + 1, GTK_FILL | GTK_EXPAND, 0, 0, 0); gtk_table_attach ((GtkTable *) data->parent, dropdown_label, 0, 1, i + 1, i + 2, 0, 0, 0, 0); gtk_table_attach ((GtkTable *) data->parent, (GtkWidget *) dropdown, 1, 2, i + 1, i + 2, GTK_FILL | GTK_EXPAND, 0, 0, 0); gtk_table_attach ((GtkTable *) data->parent, info, 1, 2, i + 2, i + 3, GTK_FILL | GTK_EXPAND, 0, 0, 0); /* since this isnt dynamic, we don't need to track each item */ return (GtkWidget *) dropdown; }