Freeciv-3.1
Loading...
Searching...
No Matches
Data Structures | Macros | Enumerations | Functions | Variables
citydlg.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
#include "bitvector.h"
#include "fcintl.h"
#include "log.h"
#include "mem.h"
#include "shared.h"
#include "support.h"
#include "city.h"
#include "game.h"
#include "map.h"
#include "movement.h"
#include "packets.h"
#include "player.h"
#include "unitlist.h"
#include "chatline_common.h"
#include "client_main.h"
#include "colors.h"
#include "control.h"
#include "climap.h"
#include "options.h"
#include "text.h"
#include "tilespec.h"
#include "cma_fec.h"
#include "choice_dialog.h"
#include "citizensinfo.h"
#include "cityrep.h"
#include "cma_fe.h"
#include "dialogs.h"
#include "graphics.h"
#include "gui_main.h"
#include "gui_stuff.h"
#include "happiness.h"
#include "helpdlg.h"
#include "inputdlg.h"
#include "mapview.h"
#include "repodlgs.h"
#include "wldlg.h"
#include "citydlg.h"
#include "speclist.h"
#include "specvec.h"

Go to the source code of this file.

Data Structures

struct  unit_node
 
struct  city_map_canvas
 
struct  city_dialog
 

Macros

#define CITYMAP_WIDTH   MIN(512, canvas_width)
 
#define CITYMAP_HEIGHT   (CITYMAP_WIDTH * canvas_height / canvas_width)
 
#define CITYMAP_SCALE   ((double)CITYMAP_WIDTH / (double)canvas_width)
 
#define TINYSCREEN_MAX_HEIGHT   (500 - 1)
 
#define SPECLIST_TAG   dialog
 
#define SPECLIST_TYPE   struct city_dialog
 
#define dialog_list_iterate(dialoglist, pdialog)    TYPED_LIST_ITERATE(struct city_dialog, dialoglist, pdialog)
 
#define dialog_list_iterate_end   LIST_ITERATE_END
 
#define SPECVEC_TAG   unit_node
 
#define SPECVEC_TYPE   struct unit_node
 
#define unit_node_vector_iterate(list, elt)    TYPED_VECTOR_ITERATE(struct unit_node, list, elt)
 
#define unit_node_vector_iterate_end   VECTOR_ITERATE_END
 
#define NUM_CITIZENS_SHOWN   30
 
#define CITY_MAP_MIN_SIZE_X   200
 
#define CITY_MAP_MIN_SIZE_Y   150
 

Enumerations

enum  citydlg_response { CDLGR_UNITS , CDLGR_PREV , CDLGR_NEXT }
 
enum  {
  OVERVIEW_PAGE , WORKLIST_PAGE , HAPPINESS_PAGE , CMA_PAGE ,
  SETTINGS_PAGE , STICKY_PAGE , NUM_PAGES
}
 
enum  {
  INFO_SIZE , INFO_FOOD , INFO_SHIELD , INFO_TRADE ,
  INFO_GOLD , INFO_LUXURY , INFO_SCIENCE , INFO_GRANARY ,
  INFO_GROWTH , INFO_CORRUPTION , INFO_WASTE , INFO_CULTURE ,
  INFO_POLLUTION , INFO_ILLNESS , INFO_STEAL , INFO_AIRLIFT ,
  NUM_INFO_FIELDS
}
 

Functions

static void initialize_city_dialogs (void)
 
static void city_dialog_map_create (struct city_dialog *pdialog, struct city_map_canvas *cmap_canvas)
 
static void city_dialog_map_recenter (GtkWidget *map_canvas_sw)
 
static struct city_dialogget_city_dialog (struct city *pcity)
 
static gboolean keyboard_handler (GtkWidget *widget, GdkEventKey *event, struct city_dialog *pdialog)
 
static GtkWidget * create_city_info_table (struct city_dialog *pdialog, GtkWidget **info_ebox, GtkWidget **info_label)
 
static void create_and_append_overview_page (struct city_dialog *pdialog)
 
static void create_and_append_map_page (struct city_dialog *pdialog)
 
static void create_and_append_buildings_page (struct city_dialog *pdialog)
 
static void create_and_append_worklist_page (struct city_dialog *pdialog)
 
static void create_and_append_happiness_page (struct city_dialog *pdialog)
 
static void create_and_append_cma_page (struct city_dialog *pdialog)
 
static void create_and_append_settings_page (struct city_dialog *pdialog)
 
static struct city_dialogcreate_city_dialog (struct city *pcity)
 
static void city_dialog_update_title (struct city_dialog *pdialog)
 
static void city_dialog_update_citizens (struct city_dialog *pdialog)
 
static void city_dialog_update_information (GtkWidget **info_ebox, GtkWidget **info_label, struct city_dialog *pdialog)
 
static void city_dialog_update_map (struct city_dialog *pdialog)
 
static void city_dialog_update_building (struct city_dialog *pdialog)
 
static void city_dialog_update_improvement_list (struct city_dialog *pdialog)
 
static void city_dialog_update_supported_units (struct city_dialog *pdialog)
 
static void city_dialog_update_present_units (struct city_dialog *pdialog)
 
static void city_dialog_update_prev_next (void)
 
static void show_units_response (void *data)
 
static gboolean supported_unit_callback (GtkWidget *w, GdkEventButton *ev, gpointer data)
 
static gboolean present_unit_callback (GtkWidget *w, GdkEventButton *ev, gpointer data)
 
static gboolean supported_unit_middle_callback (GtkWidget *w, GdkEventButton *ev, gpointer data)
 
static gboolean present_unit_middle_callback (GtkWidget *w, GdkEventButton *ev, gpointer data)
 
static void unit_center_callback (GtkWidget *w, gpointer data)
 
static void unit_activate_callback (GtkWidget *w, gpointer data)
 
static void supported_unit_activate_close_callback (GtkWidget *w, gpointer data)
 
static void present_unit_activate_close_callback (GtkWidget *w, gpointer data)
 
static void unit_load_callback (GtkWidget *w, gpointer data)
 
static void unit_unload_callback (GtkWidget *w, gpointer data)
 
static void unit_sentry_callback (GtkWidget *w, gpointer data)
 
static void unit_fortify_callback (GtkWidget *w, gpointer data)
 
static void unit_disband_callback (GtkWidget *w, gpointer data)
 
static void unit_homecity_callback (GtkWidget *w, gpointer data)
 
static void unit_upgrade_callback (GtkWidget *w, gpointer data)
 
static gboolean citizens_callback (GtkWidget *w, GdkEventButton *ev, gpointer data)
 
static gboolean button_down_citymap (GtkWidget *w, GdkEventButton *ev, gpointer data)
 
static void draw_map_canvas (struct city_dialog *pdialog)
 
static void buy_callback (GtkWidget *w, gpointer data)
 
static void change_production_callback (GtkComboBox *combo, struct city_dialog *pdialog)
 
static void sell_callback (struct impr_type *pimprove, gpointer data)
 
static void sell_callback_response (GtkWidget *w, gint response, gpointer data)
 
static void impr_callback (GtkTreeView *view, GtkTreePath *path, GtkTreeViewColumn *col, gpointer data)
 
static void rename_callback (GtkWidget *w, gpointer data)
 
static void rename_popup_callback (gpointer data, gint response, const char *input)
 
static void set_cityopt_values (struct city_dialog *pdialog)
 
static void cityopt_callback (GtkWidget *w, gpointer data)
 
static void misc_whichtab_callback (GtkWidget *w, gpointer data)
 
static void city_destroy_callback (GtkWidget *w, gpointer data)
 
static void close_city_dialog (struct city_dialog *pdialog)
 
static void citydlg_response_callback (GtkDialog *dlg, gint response, void *data)
 
static void close_callback (GtkWidget *w, gpointer data)
 
static void switch_city_callback (GtkWidget *w, gpointer data)
 
static void init_citydlg_dimensions (void)
 
void reset_city_dialogs (void)
 
static gboolean canvas_exposed_cb (GtkWidget *w, cairo_t *cr, gpointer data)
 
void real_city_dialog_refresh (struct city *pcity)
 
void refresh_unit_city_dialogs (struct unit *punit)
 
void real_city_dialog_popup (struct city *pcity)
 
bool city_dialog_is_open (struct city *pcity)
 
void popdown_city_dialog (struct city *pcity)
 
void popdown_all_city_dialogs (void)
 
static gboolean show_info_button_release (GtkWidget *w, GdkEventButton *ev, gpointer data)
 
static gboolean show_info_popup (GtkWidget *w, GdkEventButton *ev, gpointer data)
 
static void create_citydlg_main_map (struct city_dialog *pdialog, GtkWidget *container)
 
static GtkWidget * create_citydlg_improvement_list (struct city_dialog *pdialog, GtkWidget *vbox)
 
static void target_drag_data_received (GtkWidget *w, GdkDragContext *context, gint x, gint y, GtkSelectionData *data, guint info, guint time, gpointer user_data)
 
static void create_production_header (struct city_dialog *pdialog, GtkContainer *contain)
 
static void destroy_func (GtkWidget *w, gpointer data)
 
static void set_city_workertask (GtkWidget *w, gpointer data)
 
static void workertask_dlg_destroy (GtkWidget *w, gpointer data)
 
static void popup_workertask_dlg (struct city *pcity, struct tile *ptile)
 
static void buy_callback_response (GtkWidget *w, gint response, gpointer data)
 

Variables

static struct dialog_list * dialog_list
 
static bool city_dialogs_have_been_initialised = FALSE
 
static int canvas_width
 
static int canvas_height
 
static int new_dialog_def_page = OVERVIEW_PAGE
 
static int last_page = OVERVIEW_PAGE
 
static bool is_showing_workertask_dialog = FALSE
 
struct { 
 
   struct city *   owner 
 
   struct tile *   loc 
 
workertask_req 
 
static bool low_citydlg
 

Macro Definition Documentation

◆ CITY_MAP_MIN_SIZE_X

#define CITY_MAP_MIN_SIZE_X   200

Definition at line 127 of file citydlg.c.

◆ CITY_MAP_MIN_SIZE_Y

#define CITY_MAP_MIN_SIZE_Y   150

Definition at line 128 of file citydlg.c.

◆ CITYMAP_HEIGHT

#define CITYMAP_HEIGHT   (CITYMAP_WIDTH * canvas_height / canvas_width)

Definition at line 74 of file citydlg.c.

◆ CITYMAP_SCALE

#define CITYMAP_SCALE   ((double)CITYMAP_WIDTH / (double)canvas_width)

Definition at line 75 of file citydlg.c.

◆ CITYMAP_WIDTH

#define CITYMAP_WIDTH   MIN(512, canvas_width)

Definition at line 73 of file citydlg.c.

◆ dialog_list_iterate

#define dialog_list_iterate (   dialoglist,
  pdialog 
)     TYPED_LIST_ITERATE(struct city_dialog, dialoglist, pdialog)

Definition at line 90 of file citydlg.c.

◆ dialog_list_iterate_end

#define dialog_list_iterate_end   LIST_ITERATE_END

Definition at line 92 of file citydlg.c.

◆ NUM_CITIZENS_SHOWN

#define NUM_CITIZENS_SHOWN   30

Definition at line 109 of file citydlg.c.

◆ SPECLIST_TAG

#define SPECLIST_TAG   dialog

Definition at line 86 of file citydlg.c.

◆ SPECLIST_TYPE

#define SPECLIST_TYPE   struct city_dialog

Definition at line 87 of file citydlg.c.

◆ SPECVEC_TAG

#define SPECVEC_TAG   unit_node

Definition at line 101 of file citydlg.c.

◆ SPECVEC_TYPE

#define SPECVEC_TYPE   struct unit_node

Definition at line 102 of file citydlg.c.

◆ TINYSCREEN_MAX_HEIGHT

#define TINYSCREEN_MAX_HEIGHT   (500 - 1)

Definition at line 77 of file citydlg.c.

◆ unit_node_vector_iterate

#define unit_node_vector_iterate (   list,
  elt 
)     TYPED_VECTOR_ITERATE(struct unit_node, list, elt)

Definition at line 105 of file citydlg.c.

◆ unit_node_vector_iterate_end

#define unit_node_vector_iterate_end   VECTOR_ITERATE_END

Definition at line 107 of file citydlg.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
OVERVIEW_PAGE 
WORKLIST_PAGE 
HAPPINESS_PAGE 
CMA_PAGE 
SETTINGS_PAGE 
STICKY_PAGE 
NUM_PAGES 

Definition at line 111 of file citydlg.c.

◆ anonymous enum

anonymous enum
Enumerator
INFO_SIZE 
INFO_FOOD 
INFO_SHIELD 
INFO_TRADE 
INFO_GOLD 
INFO_LUXURY 
INFO_SCIENCE 
INFO_GRANARY 
INFO_GROWTH 
INFO_CORRUPTION 
INFO_WASTE 
INFO_CULTURE 
INFO_POLLUTION 
INFO_ILLNESS 
INFO_STEAL 
INFO_AIRLIFT 
NUM_INFO_FIELDS 

Definition at line 117 of file citydlg.c.

◆ citydlg_response

Enumerator
CDLGR_UNITS 
CDLGR_PREV 
CDLGR_NEXT 

Definition at line 81 of file citydlg.c.

Function Documentation

◆ button_down_citymap()

static gboolean button_down_citymap ( GtkWidget *  w,
GdkEventButton *  ev,
gpointer  data 
)
static

User has pressed button on citymap

Definition at line 3029 of file citydlg.c.

◆ buy_callback()

static void buy_callback ( GtkWidget *  w,
gpointer  data 
)
static

User has clicked buy-button

Definition at line 3092 of file citydlg.c.

◆ buy_callback_response()

static void buy_callback_response ( GtkWidget *  w,
gint  response,
gpointer  data 
)
static

User has answered buy cost dialog

Definition at line 3079 of file citydlg.c.

◆ canvas_exposed_cb()

static gboolean canvas_exposed_cb ( GtkWidget *  w,
cairo_t *  cr,
gpointer  data 
)
static

Redraw map canvas on expose.

Definition at line 397 of file citydlg.c.

◆ change_production_callback()

static void change_production_callback ( GtkComboBox *  combo,
struct city_dialog pdialog 
)
static

Callback for the dropdown production menu.

Definition at line 3142 of file citydlg.c.

◆ citizens_callback()

static gboolean citizens_callback ( GtkWidget *  w,
GdkEventButton *  ev,
gpointer  data 
)
static

Somebody clicked our list of citizens. If they clicked a specialist then change its type, else do nothing.

Definition at line 2854 of file citydlg.c.

◆ city_destroy_callback()

static void city_destroy_callback ( GtkWidget *  w,
gpointer  data 
)
static

User has closed rename city dialog

Definition at line 3363 of file citydlg.c.

◆ city_dialog_is_open()

bool city_dialog_is_open ( struct city pcity)

Return whether city dialog for given city is open

Definition at line 579 of file citydlg.c.

◆ city_dialog_map_create()

static void city_dialog_map_create ( struct city_dialog pdialog,
struct city_map_canvas cmap_canvas 
)
static

Create a city map widget; used in the overview and in the happiness page.

Definition at line 416 of file citydlg.c.

◆ city_dialog_map_recenter()

static void city_dialog_map_recenter ( GtkWidget *  map_canvas_sw)
static

Center city dialog map.

Definition at line 455 of file citydlg.c.

◆ city_dialog_update_building()

static void city_dialog_update_building ( struct city_dialog pdialog)
static

Update what city is building and buy cost in city dialog

Definition at line 1968 of file citydlg.c.

◆ city_dialog_update_citizens()

static void city_dialog_update_citizens ( struct city_dialog pdialog)
static

Update citizens in city dialog

Definition at line 1768 of file citydlg.c.

◆ city_dialog_update_improvement_list()

static void city_dialog_update_improvement_list ( struct city_dialog pdialog)
static

Update list of improvements in city dialog

Definition at line 2090 of file citydlg.c.

◆ city_dialog_update_information()

static void city_dialog_update_information ( GtkWidget **  info_ebox,
GtkWidget **  info_label,
struct city_dialog pdialog 
)
static

Update textual info fields in city dialog

Definition at line 1831 of file citydlg.c.

◆ city_dialog_update_map()

static void city_dialog_update_map ( struct city_dialog pdialog)
static

Update map display of city dialog

Definition at line 1946 of file citydlg.c.

◆ city_dialog_update_present_units()

static void city_dialog_update_present_units ( struct city_dialog pdialog)
static

Update list of present units in city dialog

Definition at line 2254 of file citydlg.c.

◆ city_dialog_update_prev_next()

static void city_dialog_update_prev_next ( void  )
static

Updates the sensitivity of the prev and next buttons. this does not need pdialog as a parameter, since it iterates over all the open dialogs. note: we still need the sensitivity code in create_city_dialog() for the spied dialogs.

Definition at line 2361 of file citydlg.c.

◆ city_dialog_update_supported_units()

static void city_dialog_update_supported_units ( struct city_dialog pdialog)
static

Update list of supported units in city dialog

Definition at line 2147 of file citydlg.c.

◆ city_dialog_update_title()

static void city_dialog_update_title ( struct city_dialog pdialog)
static

Update title of city dialog.

Definition at line 1729 of file citydlg.c.

◆ citydlg_response_callback()

static void citydlg_response_callback ( GtkDialog *  dlg,
gint  response,
void *  data 
)
static

User clicked button from action area.

Definition at line 2400 of file citydlg.c.

◆ cityopt_callback()

static void cityopt_callback ( GtkWidget *  w,
gpointer  data 
)
static

City options callbacks

Definition at line 3296 of file citydlg.c.

◆ close_callback()

static void close_callback ( GtkWidget *  w,
gpointer  data 
)
static

User has clicked rename city-button

Definition at line 3355 of file citydlg.c.

◆ close_city_dialog()

static void close_city_dialog ( struct city_dialog pdialog)
static

Close city dialog

Definition at line 3418 of file citydlg.c.

◆ create_and_append_buildings_page()

static void create_and_append_buildings_page ( struct city_dialog pdialog)
static

Create buildings list page for small screens

Definition at line 1230 of file citydlg.c.

◆ create_and_append_cma_page()

static void create_and_append_cma_page ( struct city_dialog pdialog)
static

Citizen Management Agent (CMA) Page ****

Definition at line 1381 of file citydlg.c.

◆ create_and_append_happiness_page()

static void create_and_append_happiness_page ( struct city_dialog pdialog)
static
                     Happiness Page ****

+- GtkWidget *page -------—+----------------------------------------—+ | +- GtkWidget *left ---—+ | +- GtkWidget *right -----------------—+ | | | Info | | | City map | | | +- GtkWidget *citizens –+ | +- GtkWidget pdialog->happiness.widget -+ | | | Citizens data | | | Happiness | | | +---------------------—+ | +------------------------------------—+ | +-------------------------—+----------------------------------------—+

Definition at line 1308 of file citydlg.c.

◆ create_and_append_map_page()

static void create_and_append_map_page ( struct city_dialog pdialog)
static

Create map page for small screens

Definition at line 1136 of file citydlg.c.

◆ create_and_append_overview_page()

static void create_and_append_overview_page ( struct city_dialog pdialog)
static
                  Overview page ****

+- GtkWidget *page ---------------------------------------—+ | +- GtkWidget *middle --------—+---------------------—+ | | | City map | Production | | | +----------------------------—+---------------------—+ | +---------------------------------------------------------—+ | +- GtkWidget *bottom ----—+-------------------------—+ | | | Info | +- GtkWidget *right --—+ | | | | | | supported units | | | | | | +---------------------—+ | | | | | | present units | | | | | | +---------------------—+ | | | +------------------------—+-------------------------—+ | +---------------------------------------------------------—+

Definition at line 948 of file citydlg.c.

◆ create_and_append_settings_page()

static void create_and_append_settings_page ( struct city_dialog pdialog)
static

Misc. Settings Page ****

Definition at line 1401 of file citydlg.c.

◆ create_and_append_worklist_page()

static void create_and_append_worklist_page ( struct city_dialog pdialog)
static

Production Page ****

Definition at line 1264 of file citydlg.c.

◆ create_city_dialog()

static struct city_dialog * create_city_dialog ( struct city pcity)
static
                     Main City Dialog ****

+-------------------------—+----------------------------—+ | GtkWidget *top: Citizens | city name | +-------------------------—+----------------------------—+ | [notebook tab] | +---------------------------------------------------------—+

Definition at line 1543 of file citydlg.c.

◆ create_city_info_table()

static GtkWidget * create_city_info_table ( struct city_dialog pdialog,
GtkWidget **  info_ebox,
GtkWidget **  info_label 
)
static

Used once in the overview page and once in the happiness page info_label points to the info_label in the respective struct

Definition at line 737 of file citydlg.c.

◆ create_citydlg_improvement_list()

static GtkWidget * create_citydlg_improvement_list ( struct city_dialog pdialog,
GtkWidget *  vbox 
)
static

Create improvements list

Definition at line 889 of file citydlg.c.

◆ create_citydlg_main_map()

static void create_citydlg_main_map ( struct city_dialog pdialog,
GtkWidget *  container 
)
static

Create main citydlg map

Definition at line 872 of file citydlg.c.

◆ create_production_header()

static void create_production_header ( struct city_dialog pdialog,
GtkContainer *  contain 
)
static

Create production page header - what tab this actually is, depends on screen size and layout.

Definition at line 1197 of file citydlg.c.

◆ destroy_func()

static void destroy_func ( GtkWidget *  w,
gpointer  data 
)
static

Destroy widget -callback

Definition at line 2426 of file citydlg.c.

◆ draw_map_canvas()

static void draw_map_canvas ( struct city_dialog pdialog)
static

Set map canvas to be drawn

Definition at line 3067 of file citydlg.c.

◆ get_city_dialog()

static struct city_dialog * get_city_dialog ( struct city pcity)
static

Return city dialog of the given city, or NULL is it doesn't already exist

Definition at line 380 of file citydlg.c.

◆ impr_callback()

static void impr_callback ( GtkTreeView *  view,
GtkTreePath *  path,
GtkTreeViewColumn *  col,
gpointer  data 
)
static

This is here because it's closely related to the sell stuff

Definition at line 3215 of file citydlg.c.

◆ init_citydlg_dimensions()

static void init_citydlg_dimensions ( void  )
static

Called to set the dimensions of the city dialog, both on startup and if the tileset is changed.

Definition at line 325 of file citydlg.c.

◆ initialize_city_dialogs()

static void initialize_city_dialogs ( void  )
static

Initialize stuff needed for city dialogs

Definition at line 334 of file citydlg.c.

◆ keyboard_handler()

static gboolean keyboard_handler ( GtkWidget *  widget,
GdkEventKey *  event,
struct city_dialog pdialog 
)
static

Keyboard handler for city dialog

Definition at line 616 of file citydlg.c.

◆ misc_whichtab_callback()

static void misc_whichtab_callback ( GtkWidget *  w,
gpointer  data 
)
static

Sets which page will be set on reopen of dialog

Definition at line 3288 of file citydlg.c.

◆ popdown_all_city_dialogs()

void popdown_all_city_dialogs ( void  )

Popdown all dialogs

Definition at line 599 of file citydlg.c.

◆ popdown_city_dialog()

void popdown_city_dialog ( struct city pcity)

Popdown the dialog

Definition at line 587 of file citydlg.c.

◆ popup_workertask_dlg()

static void popup_workertask_dlg ( struct city pcity,
struct tile ptile 
)
static

Open dialog for setting worker task

Definition at line 2945 of file citydlg.c.

◆ present_unit_activate_close_callback()

static void present_unit_activate_close_callback ( GtkWidget *  w,
gpointer  data 
)
static

User has requested some present unit to be activated and city dialog to be closed

Definition at line 2725 of file citydlg.c.

◆ present_unit_callback()

static gboolean present_unit_callback ( GtkWidget *  w,
GdkEventButton *  ev,
gpointer  data 
)
static

Pop-up menu to change attributes of units, ex. change homecity.

Definition at line 2496 of file citydlg.c.

◆ present_unit_middle_callback()

static gboolean present_unit_middle_callback ( GtkWidget *  w,
GdkEventButton *  ev,
gpointer  data 
)
static

If user middle-clicked on a unit, activate it and close dialog

Definition at line 2617 of file citydlg.c.

◆ real_city_dialog_popup()

void real_city_dialog_popup ( struct city pcity)

Popup the dialog 10% inside the main-window

Definition at line 558 of file citydlg.c.

◆ real_city_dialog_refresh()

void real_city_dialog_refresh ( struct city pcity)

Refresh city dialog of the given city

Definition at line 480 of file citydlg.c.

◆ refresh_unit_city_dialogs()

void refresh_unit_city_dialogs ( struct unit punit)

Refresh city dialogs of unit's homecity and city where unit currently is.

Definition at line 538 of file citydlg.c.

◆ rename_callback()

static void rename_callback ( GtkWidget *  w,
gpointer  data 
)
static

Called when Rename button pressed

Definition at line 3254 of file citydlg.c.

◆ rename_popup_callback()

static void rename_popup_callback ( gpointer  data,
gint  response,
const char *  input 
)
static

Called when user has finished with "Rename City" popup

Definition at line 3271 of file citydlg.c.

◆ reset_city_dialogs()

void reset_city_dialogs ( void  )

Called when the tileset changes.

Definition at line 358 of file citydlg.c.

◆ sell_callback()

static void sell_callback ( struct impr_type pimprove,
gpointer  data 
)
static

User has clicked sell-button

Definition at line 3161 of file citydlg.c.

◆ sell_callback_response()

static void sell_callback_response ( GtkWidget *  w,
gint  response,
gpointer  data 
)
static

User has responded to sell price dialog

Definition at line 3200 of file citydlg.c.

◆ set_city_workertask()

static void set_city_workertask ( GtkWidget *  w,
gpointer  data 
)
static

Set requested workertask

Definition at line 2881 of file citydlg.c.

◆ set_cityopt_values()

static void set_cityopt_values ( struct city_dialog pdialog)
static

Refresh the city options (auto_[land, air, sea, helicopter] and disband-is-size-1) in the misc page.

Definition at line 3329 of file citydlg.c.

◆ show_info_button_release()

static gboolean show_info_button_release ( GtkWidget *  w,
GdkEventButton *  ev,
gpointer  data 
)
static

Destroy info popup dialog when button released

Definition at line 640 of file citydlg.c.

◆ show_info_popup()

static gboolean show_info_popup ( GtkWidget *  w,
GdkEventButton *  ev,
gpointer  data 
)
static

Popup info dialog

Definition at line 653 of file citydlg.c.

◆ show_units_response()

static void show_units_response ( void *  data)
static

User has clicked show units

Definition at line 2413 of file citydlg.c.

◆ supported_unit_activate_close_callback()

static void supported_unit_activate_close_callback ( GtkWidget *  w,
gpointer  data 
)
static

User has requested some supported unit to be activated and city dialog to be closed

Definition at line 2700 of file citydlg.c.

◆ supported_unit_callback()

static gboolean supported_unit_callback ( GtkWidget *  w,
GdkEventButton *  ev,
gpointer  data 
)
static

Pop-up menu to change attributes of supported units

Definition at line 2434 of file citydlg.c.

◆ supported_unit_middle_callback()

static gboolean supported_unit_middle_callback ( GtkWidget *  w,
GdkEventButton *  ev,
gpointer  data 
)
static

If user middle-clicked on a unit, activate it and close dialog

Definition at line 2645 of file citydlg.c.

◆ switch_city_callback()

static void switch_city_callback ( GtkWidget *  w,
gpointer  data 
)
static

Callback for the prev/next buttons. Switches to the previous/next city.

Definition at line 3427 of file citydlg.c.

◆ target_drag_data_received()

static void target_drag_data_received ( GtkWidget *  w,
GdkDragContext *  context,
gint  x,
gint  y,
GtkSelectionData *  data,
guint  info,
guint  time,
gpointer  user_data 
)
static

Something dragged to worklist dialog.

Definition at line 1159 of file citydlg.c.

◆ unit_activate_callback()

static void unit_activate_callback ( GtkWidget *  w,
gpointer  data 
)
static

User has requested unit activation

Definition at line 2686 of file citydlg.c.

◆ unit_center_callback()

static void unit_center_callback ( GtkWidget *  w,
gpointer  data 
)
static

User has requested centering to unit

Definition at line 2673 of file citydlg.c.

◆ unit_disband_callback()

static void unit_disband_callback ( GtkWidget *  w,
gpointer  data 
)
static

User has requested unit to be disbanded

Definition at line 2800 of file citydlg.c.

◆ unit_fortify_callback()

static void unit_fortify_callback ( GtkWidget *  w,
gpointer  data 
)
static

User has requested unit to be fortified

Definition at line 2787 of file citydlg.c.

◆ unit_homecity_callback()

static void unit_homecity_callback ( GtkWidget *  w,
gpointer  data 
)
static

User has requested unit to change homecity to city where it currently is

Definition at line 2820 of file citydlg.c.

◆ unit_load_callback()

static void unit_load_callback ( GtkWidget *  w,
gpointer  data 
)
static

User has requested unit to be loaded to transport

Definition at line 2748 of file citydlg.c.

◆ unit_sentry_callback()

static void unit_sentry_callback ( GtkWidget *  w,
gpointer  data 
)
static

User has requested unit to be sentried

Definition at line 2774 of file citydlg.c.

◆ unit_unload_callback()

static void unit_unload_callback ( GtkWidget *  w,
gpointer  data 
)
static

User has requested unit to be unloaded from transport

Definition at line 2761 of file citydlg.c.

◆ unit_upgrade_callback()

static void unit_upgrade_callback ( GtkWidget *  w,
gpointer  data 
)
static

User has requested unit to be upgraded

Definition at line 2833 of file citydlg.c.

◆ workertask_dlg_destroy()

static void workertask_dlg_destroy ( GtkWidget *  w,
gpointer  data 
)
static

Destroy workertask dlg

Definition at line 2937 of file citydlg.c.

Variable Documentation

◆ canvas_height

int canvas_height
static

Definition at line 212 of file citydlg.c.

◆ canvas_width

int canvas_width
static

Definition at line 212 of file citydlg.c.

◆ city_dialogs_have_been_initialised

bool city_dialogs_have_been_initialised = FALSE
static

Definition at line 211 of file citydlg.c.

◆ dialog_list

struct dialog_list* dialog_list
static

Definition at line 210 of file citydlg.c.

◆ is_showing_workertask_dialog

bool is_showing_workertask_dialog = FALSE
static

Definition at line 216 of file citydlg.c.

◆ last_page

int last_page = OVERVIEW_PAGE
static

Definition at line 214 of file citydlg.c.

◆ loc

struct tile* loc

Definition at line 221 of file citydlg.c.

◆ low_citydlg

bool low_citydlg
static

Definition at line 224 of file citydlg.c.

◆ new_dialog_def_page

int new_dialog_def_page = OVERVIEW_PAGE
static

Definition at line 213 of file citydlg.c.

◆ owner

struct city* owner

Definition at line 220 of file citydlg.c.

◆ [struct]

struct { ... } workertask_req