Freeciv-3.3
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 "counters.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 "update_queue.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 , COUNTERS_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 citydlg_keyboard_handler (GtkEventControllerKey *controller, guint keyval, guint keycode, GdkModifierType state, gpointer data)
 
static GtkWidgetcreate_city_info_table (struct city_dialog *pdialog, 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_counters (struct city_dialog *pdialog)
 
static void city_dialog_update_information (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 (GtkGestureClick *gesture, int n_press, double x, double y, gpointer data)
 
static gboolean present_unit_callback (GtkGestureClick *gesture, int n_press, double x, double y, gpointer data)
 
static gboolean middle_supported_unit_release (GtkGestureClick *gesture, int n_press, double x, double y, gpointer data)
 
static gboolean middle_present_unit_release (GtkGestureClick *gesture, int n_press, double x, double y, gpointer data)
 
static gboolean right_unit_release (GtkGestureClick *gesture, int n_press, double x, double y, gpointer data)
 
static void close_citydlg_unit_popover (struct city_dialog *pdialog)
 
static void unit_center_callback (GSimpleAction *action, GVariant *parameter, gpointer data)
 
static void unit_activate_callback (GSimpleAction *action, GVariant *parameter, gpointer data)
 
static void supported_unit_activate_close_callback (GSimpleAction *action, GVariant *parameter, gpointer data)
 
static void present_unit_activate_close_callback (GSimpleAction *action, GVariant *parameter, gpointer data)
 
static void unit_load_callback (GSimpleAction *action, GVariant *parameter, gpointer data)
 
static void unit_unload_callback (GSimpleAction *action, GVariant *parameter, gpointer data)
 
static void unit_sentry_callback (GSimpleAction *action, GVariant *parameter, gpointer data)
 
static void unit_fortify_callback (GSimpleAction *action, GVariant *parameter, gpointer data)
 
static void unit_disband_callback (GSimpleAction *action, GVariant *parameter, gpointer data)
 
static void unit_homecity_callback (GSimpleAction *action, GVariant *parameter, gpointer data)
 
static void unit_upgrade_callback (GSimpleAction *action, GVariant *parameter, gpointer data)
 
static gboolean citizens_callback (GtkGestureClick *gesture, int n_press, double x, double y, gpointer data)
 
static gboolean left_button_down_citymap (GtkGestureClick *gesture, int n_press, double x, double y, gpointer data)
 
static gboolean right_button_down_citymap (GtkGestureClick *gesture, int n_press, double x, double y, 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 void canvas_draw_cb (GtkDrawingArea *w, cairo_t *cr, int width, int height, 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_popup (GtkGestureClick *gesture, int n_press, double x, double y, gpointer data)
 
static void create_citydlg_main_map (struct city_dialog *pdialog, GtkWidget *grid, int col, int row)
 
static GtkWidgetcreate_citydlg_improvement_list (struct city_dialog *pdialog)
 
static gboolean target_drag_data_received (GtkDropTarget *target, const GValue *value, double x, double y, gpointer data)
 
static int create_production_header (struct city_dialog *pdialog, GtkWidget *grid, int row)
 
static void create_and_append_counters_page (struct city_dialog *pdialog)
 
static bool create_unit_menu (struct city_dialog *pdialog, struct unit *punit, GtkWidget *wdg, bool supported)
 
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)
 
void refresh_all_city_worklists (void)
 

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 131 of file citydlg.c.

◆ CITY_MAP_MIN_SIZE_Y

#define CITY_MAP_MIN_SIZE_Y   150

Definition at line 132 of file citydlg.c.

◆ CITYMAP_HEIGHT

#define CITYMAP_HEIGHT   (CITYMAP_WIDTH * canvas_height / canvas_width)

Definition at line 75 of file citydlg.c.

◆ CITYMAP_SCALE

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

Definition at line 76 of file citydlg.c.

◆ CITYMAP_WIDTH

#define CITYMAP_WIDTH   MIN(512, canvas_width)

Definition at line 74 of file citydlg.c.

◆ dialog_list_iterate

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

Definition at line 91 of file citydlg.c.

◆ dialog_list_iterate_end

#define dialog_list_iterate_end   LIST_ITERATE_END

Definition at line 93 of file citydlg.c.

◆ NUM_CITIZENS_SHOWN

#define NUM_CITIZENS_SHOWN   30

Definition at line 113 of file citydlg.c.

◆ SPECLIST_TAG

#define SPECLIST_TAG   dialog

Definition at line 87 of file citydlg.c.

◆ SPECLIST_TYPE

#define SPECLIST_TYPE   struct city_dialog

Definition at line 88 of file citydlg.c.

◆ SPECVEC_TAG

#define SPECVEC_TAG   unit_node

Definition at line 105 of file citydlg.c.

◆ SPECVEC_TYPE

#define SPECVEC_TYPE   struct unit_node

Definition at line 106 of file citydlg.c.

◆ TINYSCREEN_MAX_HEIGHT

#define TINYSCREEN_MAX_HEIGHT   (500 - 1)

Definition at line 78 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 109 of file citydlg.c.

◆ unit_node_vector_iterate_end

#define unit_node_vector_iterate_end   VECTOR_ITERATE_END

Definition at line 111 of file citydlg.c.

Enumeration Type Documentation

◆ anonymous enum

Enumerator
OVERVIEW_PAGE 
WORKLIST_PAGE 
HAPPINESS_PAGE 
COUNTERS_PAGE 
CMA_PAGE 
SETTINGS_PAGE 
STICKY_PAGE 
NUM_PAGES 

Definition at line 115 of file citydlg.c.

◆ 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 121 of file citydlg.c.

◆ citydlg_response

Enumerator
CDLGR_UNITS 
CDLGR_PREV 
CDLGR_NEXT 

Definition at line 82 of file citydlg.c.

Function Documentation

◆ buy_callback()

static void buy_callback ( GtkWidget w,
gpointer  data 
)
static

User has clicked buy-button

Definition at line 3307 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 3293 of file citydlg.c.

◆ canvas_draw_cb()

static void canvas_draw_cb ( GtkDrawingArea w,
cairo_t cr,
int  width,
int  height,
gpointer  data 
)
static

Redraw map canvas.

Definition at line 420 of file citydlg.c.

Referenced by city_dialog_map_create().

◆ change_production_callback()

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

Callback for the dropdown production menu.

Definition at line 3357 of file citydlg.c.

◆ citizens_callback()

static gboolean citizens_callback ( GtkGestureClick gesture,
int  n_press,
double  x,
double  y,
gpointer  data 
)
static

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

Definition at line 3052 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 3576 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 601 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 437 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 478 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 2056 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 1785 of file citydlg.c.

◆ city_dialog_update_counters()

static void city_dialog_update_counters ( struct city_dialog pdialog)
static

Update counters tab in city dialog

Definition at line 1852 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 2183 of file citydlg.c.

◆ city_dialog_update_information()

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

Update textual info fields in city dialog

Definition at line 1920 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 2034 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 2366 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 2492 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 2240 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 1746 of file citydlg.c.

◆ citydlg_keyboard_handler()

static gboolean citydlg_keyboard_handler ( GtkEventControllerKey controller,
guint  keyval,
guint  keycode,
GdkModifierType  state,
gpointer  data 
)
static

Keyboard handler for city dialog

Definition at line 638 of file citydlg.c.

Referenced by create_city_dialog().

◆ citydlg_response_callback()

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

User clicked button from action area.

Definition at line 2528 of file citydlg.c.

◆ cityopt_callback()

static void cityopt_callback ( GtkWidget w,
gpointer  data 
)
static

City options callbacks

Definition at line 3507 of file citydlg.c.

◆ close_callback()

static void close_callback ( GtkWidget w,
gpointer  data 
)
static

User has clicked rename city-button

Definition at line 3568 of file citydlg.c.

◆ close_city_dialog()

static void close_city_dialog ( struct city_dialog pdialog)
static

Close city dialog

Definition at line 3628 of file citydlg.c.

◆ close_citydlg_unit_popover()

static void close_citydlg_unit_popover ( struct city_dialog pdialog)
static

◆ 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 1201 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 1384 of file citydlg.c.

◆ create_and_append_counters_page()

static void create_and_append_counters_page ( struct city_dialog pdialog)
static

Counters Page **** Creates counters page

Definition at line 1364 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 1288 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 1111 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 941 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 1404 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 1237 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 1557 of file citydlg.c.

◆ create_city_info_table()

static GtkWidget * create_city_info_table ( struct city_dialog pdialog,
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 739 of file citydlg.c.

◆ create_citydlg_improvement_list()

static GtkWidget * create_citydlg_improvement_list ( struct city_dialog pdialog)
static

Create improvements list

Definition at line 883 of file citydlg.c.

◆ create_citydlg_main_map()

static void create_citydlg_main_map ( struct city_dialog pdialog,
GtkWidget grid,
int  col,
int  row 
)
static

Create main citydlg map

Map frame will be placed to top left (col, row) position of the grid.

Definition at line 866 of file citydlg.c.

◆ create_production_header()

static int create_production_header ( struct city_dialog pdialog,
GtkWidget grid,
int  row 
)
static

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

Definition at line 1163 of file citydlg.c.

◆ create_unit_menu()

static bool create_unit_menu ( struct city_dialog pdialog,
struct unit punit,
GtkWidget wdg,
bool  supported 
)
static

Create menu for the unit in citydlg

Parameters
pdialogDialog to create menu to
punitUnit to create menu for
wdgWidget to attach menu to
supportedIs this supported units menu (not present units)
Returns
whether menu was really created

Definition at line 2561 of file citydlg.c.

Referenced by present_unit_callback(), and supported_unit_callback().

◆ draw_map_canvas()

static void draw_map_canvas ( struct city_dialog pdialog)
static

Set map canvas to be drawn

Definition at line 3280 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 402 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 3429 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 347 of file citydlg.c.

◆ initialize_city_dialogs()

static void initialize_city_dialogs ( void  )
static

Initialize stuff needed for city dialogs

Definition at line 356 of file citydlg.c.

◆ left_button_down_citymap()

static gboolean left_button_down_citymap ( GtkGestureClick gesture,
int  n_press,
double  x,
double  y,
gpointer  data 
)
static

User has pressed left button on citymap

Definition at line 3221 of file citydlg.c.

Referenced by city_dialog_map_create().

◆ middle_present_unit_release()

static gboolean middle_present_unit_release ( GtkGestureClick gesture,
int  n_press,
double  x,
double  y,
gpointer  data 
)
static

If user middle-clicked on a unit, activate it and close dialog. Dialog to close is that of city where unit currently is.

Definition at line 2760 of file citydlg.c.

Referenced by city_dialog_update_present_units().

◆ middle_supported_unit_release()

static gboolean middle_supported_unit_release ( GtkGestureClick gesture,
int  n_press,
double  x,
double  y,
gpointer  data 
)
static

If user middle-clicked on a unit, activate it and close dialog. Dialog to close is that of unit's home city.

Definition at line 2784 of file citydlg.c.

Referenced by city_dialog_update_supported_units().

◆ 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 3499 of file citydlg.c.

◆ popdown_all_city_dialogs()

void popdown_all_city_dialogs ( void  )

Popdown all dialogs

Definition at line 621 of file citydlg.c.

◆ popdown_city_dialog()

void popdown_city_dialog ( struct city pcity)

Popdown the dialog

Definition at line 609 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 3143 of file citydlg.c.

◆ present_unit_activate_close_callback()

static void present_unit_activate_close_callback ( GSimpleAction action,
GVariant parameter,
gpointer  data 
)
static

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

Definition at line 2898 of file citydlg.c.

◆ present_unit_callback()

static gboolean present_unit_callback ( GtkGestureClick gesture,
int  n_press,
double  x,
double  y,
gpointer  data 
)
static

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

Definition at line 2736 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 580 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 503 of file citydlg.c.

◆ refresh_all_city_worklists()

void refresh_all_city_worklists ( void  )

Refresh worklist editor for all city dialogs.

Definition at line 3735 of file citydlg.c.

Referenced by cell_edited(), cell_edited(), and update_worklist_report_dialog().

◆ 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 560 of file citydlg.c.

◆ rename_callback()

static void rename_callback ( GtkWidget w,
gpointer  data 
)
static

Called when Rename button pressed

Definition at line 3465 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 3482 of file citydlg.c.

◆ reset_city_dialogs()

void reset_city_dialogs ( void  )

Called when the tileset changes.

Definition at line 380 of file citydlg.c.

◆ right_button_down_citymap()

static gboolean right_button_down_citymap ( GtkGestureClick gesture,
int  n_press,
double  x,
double  y,
gpointer  data 
)
static

User has pressed right button on citymap

Definition at line 3250 of file citydlg.c.

Referenced by city_dialog_map_create().

◆ right_unit_release()

static gboolean right_unit_release ( GtkGestureClick gesture,
int  n_press,
double  x,
double  y,
gpointer  data 
)
static

If user right-clicked on a unit, activate it

Definition at line 2806 of file citydlg.c.

Referenced by city_dialog_update_present_units(), and city_dialog_update_supported_units().

◆ sell_callback()

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

User has clicked sell-button

Definition at line 3376 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 3414 of file citydlg.c.

◆ set_city_workertask()

static void set_city_workertask ( GtkWidget w,
gpointer  data 
)
static

Set requested workertask

Definition at line 3080 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 3541 of file citydlg.c.

◆ show_info_popup()

static gboolean show_info_popup ( GtkGestureClick gesture,
int  n_press,
double  x,
double  y,
gpointer  data 
)
static

Popup info dialog

Definition at line 667 of file citydlg.c.

◆ show_units_response()

static void show_units_response ( void data)
static

User has clicked show units

Definition at line 2541 of file citydlg.c.

◆ supported_unit_activate_close_callback()

static void supported_unit_activate_close_callback ( GSimpleAction action,
GVariant parameter,
gpointer  data 
)
static

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

Definition at line 2870 of file citydlg.c.

◆ supported_unit_callback()

static gboolean supported_unit_callback ( GtkGestureClick gesture,
int  n_press,
double  x,
double  y,
gpointer  data 
)
static

Pop-up menu to change attributes of supported units

Definition at line 2713 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 3637 of file citydlg.c.

◆ target_drag_data_received()

static gboolean target_drag_data_received ( GtkDropTarget target,
const GValue value,
double  x,
double  y,
gpointer  data 
)
static

Something dragged to worklist dialog.

Definition at line 1138 of file citydlg.c.

◆ unit_activate_callback()

static void unit_activate_callback ( GSimpleAction action,
GVariant parameter,
gpointer  data 
)
static

User has requested unit activation

Definition at line 2853 of file citydlg.c.

◆ unit_center_callback()

static void unit_center_callback ( GSimpleAction action,
GVariant parameter,
gpointer  data 
)
static

User has requested centering to unit

Definition at line 2837 of file citydlg.c.

◆ unit_disband_callback()

static void unit_disband_callback ( GSimpleAction action,
GVariant parameter,
gpointer  data 
)
static

User has requested unit to be disbanded

Definition at line 2988 of file citydlg.c.

◆ unit_fortify_callback()

static void unit_fortify_callback ( GSimpleAction action,
GVariant parameter,
gpointer  data 
)
static

User has requested unit to be fortified

Definition at line 2972 of file citydlg.c.

◆ unit_homecity_callback()

static void unit_homecity_callback ( GSimpleAction action,
GVariant parameter,
gpointer  data 
)
static

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

Definition at line 3011 of file citydlg.c.

◆ unit_load_callback()

static void unit_load_callback ( GSimpleAction action,
GVariant parameter,
gpointer  data 
)
static

User has requested unit to be loaded to transport

Definition at line 2924 of file citydlg.c.

◆ unit_sentry_callback()

static void unit_sentry_callback ( GSimpleAction action,
GVariant parameter,
gpointer  data 
)
static

User has requested unit to be sentried

Definition at line 2956 of file citydlg.c.

◆ unit_unload_callback()

static void unit_unload_callback ( GSimpleAction action,
GVariant parameter,
gpointer  data 
)
static

User has requested unit to be unloaded from transport

Definition at line 2940 of file citydlg.c.

◆ unit_upgrade_callback()

static void unit_upgrade_callback ( GSimpleAction action,
GVariant parameter,
gpointer  data 
)
static

User has requested unit to be upgraded

Definition at line 3027 of file citydlg.c.

◆ workertask_dlg_destroy()

static void workertask_dlg_destroy ( GtkWidget w,
gpointer  data 
)
static

Destroy workertask dlg

Definition at line 3135 of file citydlg.c.

Variable Documentation

◆ canvas_height

int canvas_height
static

Definition at line 218 of file citydlg.c.

◆ canvas_width

int canvas_width
static

Definition at line 218 of file citydlg.c.

◆ city_dialogs_have_been_initialised

bool city_dialogs_have_been_initialised = FALSE
static

Definition at line 217 of file citydlg.c.

◆ dialog_list

struct dialog_list* dialog_list
static

Definition at line 216 of file citydlg.c.

◆ is_showing_workertask_dialog

bool is_showing_workertask_dialog = FALSE
static

Definition at line 222 of file citydlg.c.

◆ last_page

int last_page = OVERVIEW_PAGE
static

Definition at line 220 of file citydlg.c.

◆ loc

struct tile* loc

Definition at line 227 of file citydlg.c.

◆ low_citydlg

bool low_citydlg
static

Definition at line 230 of file citydlg.c.

◆ new_dialog_def_page

int new_dialog_def_page = OVERVIEW_PAGE
static

Definition at line 219 of file citydlg.c.

◆ owner

struct city* owner

Definition at line 226 of file citydlg.c.

◆ [struct]

struct { ... } workertask_req