Freeciv-3.2
|
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
#include "fc_cmdline.h"
#include "fciconv.h"
#include "fcintl.h"
#include "log.h"
#include "mem.h"
#include "support.h"
#include "dataio.h"
#include "featured_text.h"
#include "game.h"
#include "government.h"
#include "map.h"
#include "unitlist.h"
#include "version.h"
#include "audio.h"
#include "client_main.h"
#include "climisc.h"
#include "clinet.h"
#include "colors.h"
#include "connectdlg_common.h"
#include "control.h"
#include "editor.h"
#include "options.h"
#include "text.h"
#include "tilespec.h"
#include "zoom.h"
#include "chatline.h"
#include "citizensinfo.h"
#include "connectdlg.h"
#include "cma_fe.h"
#include "dialogs.h"
#include "diplodlg.h"
#include "editgui.h"
#include "gotodlg.h"
#include "graphics.h"
#include "gui_stuff.h"
#include "happiness.h"
#include "helpdlg.h"
#include "inteldlg.h"
#include "mapctrl.h"
#include "mapview.h"
#include "menu.h"
#include "messagewin.h"
#include "optiondlg.h"
#include "pages.h"
#include "plrdlg.h"
#include "luaconsole.h"
#include "spaceshipdlg.h"
#include "repodlgs.h"
#include "voteinfo_bar.h"
#include "gui_main.h"
Go to the source code of this file.
Data Structures | |
struct | callback |
#define MIGRATE_OPTION | ( | opt | ) | gui_options.gui_gtk3_##opt = gui_options.gui_gtk2_##opt; |
#define MIGRATE_OPTION | ( | opt | ) | gui_options.gui_gtk3_22_##opt = gui_options.gui_gtk3_##opt; |
#define MIGRATE_OPTION | ( | opt | ) | GUI_GTK_OPTION(opt) = gui_options.gui_gtk3_22_##opt; |
#define OVERVIEW_CANVAS_STORE_HEIGHT (2 * OVERVIEW_CANVAS_STORE_HEIGHT_NETBOOK) |
Definition at line 120 of file gui_main.c.
#define OVERVIEW_CANVAS_STORE_HEIGHT_NETBOOK (2 * 46) |
Definition at line 117 of file gui_main.c.
#define OVERVIEW_CANVAS_STORE_WIDTH (2 * OVERVIEW_CANVAS_STORE_WIDTH_NETBOOK) |
Definition at line 118 of file gui_main.c.
#define OVERVIEW_CANVAS_STORE_WIDTH_NETBOOK (2 * 64) |
Definition at line 116 of file gui_main.c.
|
static |
Enqueue a callback to be called during an idle moment. The 'callback' function should be called sometimes soon, and passed the 'data' pointer as its data.
Definition at line 2416 of file gui_main.c.
This function is called after the client has successfully connected to the server
Definition at line 2306 of file gui_main.c.
Make dynamic adjustments to first-launch default options.
Definition at line 2648 of file gui_main.c.
|
static |
Handle a toggle of the "Allies Only" chat button.
Definition at line 2553 of file gui_main.c.
Option callback for the 'allied_chat_only' gtk-gui option. This updates the state of the associated toggle button.
Definition at line 2440 of file gui_main.c.
Add idle callback for updating animations.
Definition at line 2428 of file gui_main.c.
Referenced by animation_idle_cb(), and real_set_client_page().
Change the city names font.
Definition at line 2467 of file gui_main.c.
Change the city productions font.
Definition at line 2478 of file gui_main.c.
Change the city productions font.
Definition at line 2489 of file gui_main.c.
Creates the toggle button necessary to detach and reattach the widget and returns a vbox in which you fill your goodies.
Definition at line 838 of file gui_main.c.
Create the container for the widget that's able to be detached.
Definition at line 827 of file gui_main.c.
User clicked "Turn Done" button
Definition at line 2261 of file gui_main.c.
gboolean fc_gained_focus | ( | GtkEventControllerFocus * | controller, |
gpointer | data | ||
) |
Freeciv window has gained focus
Definition at line 753 of file gui_main.c.
gboolean fc_lost_focus | ( | GtkEventControllerFocus * | controller, |
gpointer | data | ||
) |
Freeciv window has lost focus
Definition at line 742 of file gui_main.c.
Free unit image table.
Definition at line 976 of file gui_main.c.
Option callback for the 'fullscreen' gtk-gui option.
Definition at line 2455 of file gui_main.c.
|
static |
g_log callback to log with freelog
Definition at line 1641 of file gui_main.c.
|
static |
g_log callback to log with freelog
Definition at line 1669 of file gui_main.c.
Return our GUI type
Definition at line 2096 of file gui_main.c.
|
static |
Read input from server socket
Definition at line 2270 of file gui_main.c.
GtkApplication * gui_app | ( | void | ) |
Return the client GtkApplication
Definition at line 2674 of file gui_main.c.
Referenced by create_toggle_menu_item(), enable_menus(), menus_disable_unit_commands(), real_menus_update(), and view_menu_item_toggle().
A wrapper for the callback called through add_idle_callback().
Definition at line 2401 of file gui_main.c.
On close of the info popup
Definition at line 2231 of file gui_main.c.
Referenced by show_info_popup().
Insert build information to help
Definition at line 2562 of file gui_main.c.
Return whether gui is currently running.
Definition at line 2077 of file gui_main.c.
|
static |
Handle keypress events when map canvas is in focus
Definition at line 392 of file gui_main.c.
Callback for freelog
Definition at line 234 of file gui_main.c.
Entry point for whole freeciv client program.
Definition at line 1725 of file gui_main.c.
When the chatline text view is resized, scroll it to the bottom. This prevents users from accidentally missing messages when the chatline gets scrolled up a small amount and stops scrolling down automatically.
Definition at line 359 of file gui_main.c.
Referenced by main_message_area_resize(), and real_set_client_page().
Focus on map canvas
Definition at line 380 of file gui_main.c.
Migrate gtk3 client specific options from gtk2 client options.
Definition at line 1733 of file gui_main.c.
Migrate gtk3.22 client specific options from gtk3 client options.
Definition at line 1788 of file gui_main.c.
Migrate gtk4 client specific options from gtk3.22 client options.
Definition at line 1847 of file gui_main.c.
Referenced by activate_gui().
|
static |
Return dimensions of primary monitor, if any (in 'application pixels')
Definition at line 2576 of file gui_main.c.
|
static |
Mouse/touchpad scrolling over the mapview
Definition at line 662 of file gui_main.c.
|
static |
Move widget from parent to parent
Definition at line 709 of file gui_main.c.
Referenced by tearoff_callback(), and tearoff_reattach().
Extra initializers for client options. Here we make set the callback for the specific gui-gtk-4.0 options.
Definition at line 2501 of file gui_main.c.
Search for gui-specific command line options.
Definition at line 290 of file gui_main.c.
Called to build the unit_below pixmap table. This is the table on the left of the screen that shows all of the inactive units in the current tile.
It may be called again if the tileset changes.
Definition at line 881 of file gui_main.c.
Referenced by reset_unit_table().
Popups the dialog with the message: Are you sure you want to quit?
Definition at line 2362 of file gui_main.c.
Print extra usage information, including one line help on each option, to stderr.
Definition at line 269 of file gui_main.c.
Popups the quit dialog.
Definition at line 2386 of file gui_main.c.
This is the response callback for the dialog with the message: Are you sure you want to quit?
Definition at line 2335 of file gui_main.c.
Exit gtk main loop.
Definition at line 2350 of file gui_main.c.
Called when the set of units in focus (get_units_in_focus()) changes. Standard updates like update_unit_info_label() are handled in the platform- independent code; we use this to keep the goto/airlift dialog up to date, if it's visible.
Definition at line 2175 of file gui_main.c.
Set the chatline buttons to reflect the state of the game and current client options. This function should be called on game start.
Definition at line 2532 of file gui_main.c.
This function is called if the client disconnects from the server
Definition at line 2324 of file gui_main.c.
Called when the tileset is changed to reset the unit pixmap table.
Definition at line 1000 of file gui_main.c.
struct video_mode * resolution_request_get | ( | void | ) |
Give resolution requested by user, if any.
Definition at line 2636 of file gui_main.c.
Return height of the primary monitor
Definition at line 2618 of file gui_main.c.
Return width of the primary monitor
Definition at line 2600 of file gui_main.c.
|
static |
Callback for clicking a unit icon underneath unit info box. these are the units on the same tile as the focus unit.
Definition at line 2216 of file gui_main.c.
Referenced by populate_unit_pic_table().
|
static |
Callback for clicking a unit icon underneath unit info box. these are the units on the same tile as the focus unit.
Definition at line 2184 of file gui_main.c.
Referenced by populate_unit_pic_table().
Set up g_log callback for a single domain.
Definition at line 1685 of file gui_main.c.
Set up g_log callbacks.
Definition at line 1697 of file gui_main.c.
Set one of the unit icons in information area based on punit. Use punit == NULL to clear icon. Index 'idx' is -1 for "active unit", or 0 to (num_units_below - 1) for units below. Also updates unit_ids[idx] for idx >= 0.
Definition at line 2115 of file gui_main.c.
Set the "more arrow" for the unit icons to on(1) or off(0). Maintains a static record of current state to avoid unnecessary redraws. Note initial state should match initial gui setup (off).
Definition at line 2152 of file gui_main.c.
|
static |
Set socket writability state
Definition at line 2281 of file gui_main.c.
Do the heavy lifting for the widget setup.
Definition at line 1070 of file gui_main.c.
|
static |
Popup info box
Definition at line 2239 of file gui_main.c.
Obvious...
Definition at line 2104 of file gui_main.c.
Callback for the toggle button in the detachable widget: causes the widget to detach or reattach.
Definition at line 790 of file gui_main.c.
User requested close of the detach window.
Definition at line 781 of file gui_main.c.
Referenced by tearoff_callback().
Reattach tearoff to its normal parent and destroy the detach window.
Definition at line 764 of file gui_main.c.
Referenced by tearoff_callback(), and tearoff_close().
gboolean terminate_signal_processing | ( | GtkEventControllerFocus * | controller, |
gpointer | data | ||
) |
Override background color for canvases Callback that just returns TRUE.
Definition at line 1042 of file gui_main.c.
Referenced by create_network_page().
Called while in gtk_main() (which is all of the time) TIMER_INTERVAL is now set by real_timer_callback()
Definition at line 246 of file gui_main.c.
|
static |
Focus on widget. Returns whether focus was really changed.
Definition at line 332 of file gui_main.c.
|
static |
Handle a keyboard key press made in the client's toplevel window.
Definition at line 575 of file gui_main.c.
Do any necessary UI-specific cleanup
Definition at line 2085 of file gui_main.c.
Called from main().
Definition at line 1713 of file gui_main.c.
Called from client_main(), is what it's named.
Definition at line 1898 of file gui_main.c.
Update tooltip of the Turn Done button
Definition at line 1051 of file gui_main.c.
GtkWidget * ahbox |
Definition at line 139 of file gui_main.c.
|
static |
Definition at line 171 of file gui_main.c.
Definition at line 180 of file gui_main.c.
GtkWidget* avbox |
Definition at line 139 of file gui_main.c.
|
static |
Definition at line 130 of file gui_main.c.
GtkWidget * bottom_notebook |
Definition at line 128 of file gui_main.c.
GtkWidget* bulb_label |
Definition at line 143 of file gui_main.c.
PangoFontDescription* city_names_style = NULL |
Definition at line 132 of file gui_main.c.
PangoFontDescription* city_productions_style = NULL |
Definition at line 133 of file gui_main.c.
Definition at line 181 of file gui_main.c.
const char* client_string = GUI_NAME_FULL |
Definition at line 105 of file gui_main.c.
GtkWidget * conn_box |
Definition at line 139 of file gui_main.c.
gint cur_x |
Definition at line 176 of file gui_main.c.
Referenced by move_mapcanvas(), and move_mapcanvas().
gint cur_y |
Definition at line 176 of file gui_main.c.
GtkWidget* econ_label[10] |
Definition at line 142 of file gui_main.c.
GtkWidget* econ_widget |
Definition at line 154 of file gui_main.c.
Referenced by setup_widgets(), and update_info_label().
|
static |
Definition at line 159 of file gui_main.c.
Referenced by set_unit_icon(), and ui_main().
|
static |
Definition at line 183 of file gui_main.c.
Referenced by enable_menus(), gui_app(), quit_gtk_main(), real_menus_update(), setup_app_actions(), and ui_main().
GtkWidget* flake_label |
Definition at line 145 of file gui_main.c.
GtkWidget* government_label |
Definition at line 146 of file gui_main.c.
Definition at line 156 of file gui_main.c.
Definition at line 178 of file gui_main.c.
Definition at line 157 of file gui_main.c.
GtkWidget* main_frame_civ_name |
Definition at line 136 of file gui_main.c.
GtkWidget* main_label_info |
Definition at line 137 of file gui_main.c.
GtkTextView* main_message_area |
Definition at line 169 of file gui_main.c.
GtkWidget* map_canvas |
Definition at line 107 of file gui_main.c.
GtkWidget* map_horizontal_scrollbar |
Definition at line 108 of file gui_main.c.
GtkWidget* map_vertical_scrollbar |
Definition at line 109 of file gui_main.c.
GtkWidget* map_widget |
Definition at line 129 of file gui_main.c.
GtkTextBuffer* message_buffer = NULL |
Definition at line 170 of file gui_main.c.
|
static |
Definition at line 163 of file gui_main.c.
Referenced by free_unit_table(), populate_unit_pic_table(), reset_unit_table(), and set_unit_icons_more_arrow().
|
static |
Definition at line 164 of file gui_main.c.
Referenced by free_unit_table(), and populate_unit_pic_table().
GtkWidget* overview_canvas |
Definition at line 111 of file gui_main.c.
int overview_canvas_store_height = OVERVIEW_CANVAS_STORE_HEIGHT |
Definition at line 123 of file gui_main.c.
int overview_canvas_store_width = OVERVIEW_CANVAS_STORE_WIDTH |
Definition at line 122 of file gui_main.c.
GtkWidget* overview_scrolled_window |
Definition at line 112 of file gui_main.c.
PangoFontDescription* reqtree_text_style = NULL |
Definition at line 134 of file gui_main.c.
GtkWidget * right_notebook |
Definition at line 128 of file gui_main.c.
GtkWidget* scroll_panel |
Definition at line 140 of file gui_main.c.
|
static |
Definition at line 174 of file gui_main.c.
|
static |
Definition at line 175 of file gui_main.c.
GtkWidget* sun_label |
Definition at line 144 of file gui_main.c.
GtkWidget* timeout_label |
Definition at line 147 of file gui_main.c.
|
static |
Definition at line 173 of file gui_main.c.
GtkWidget* top_notebook |
Definition at line 128 of file gui_main.c.
GtkWidget* top_vbox |
Definition at line 127 of file gui_main.c.
GtkWidget* toplevel |
Definition at line 125 of file gui_main.c.
GtkWidget* toplevel_tabs |
Definition at line 126 of file gui_main.c.
GtkWidget* turn_done_button |
Definition at line 148 of file gui_main.c.
|
static |
Definition at line 162 of file gui_main.c.
Referenced by free_unit_table(), populate_unit_pic_table(), and set_unit_icon().
|
static |
Definition at line 166 of file gui_main.c.
|
static |
Definition at line 167 of file gui_main.c.
GtkWidget* unit_info_box |
Definition at line 151 of file gui_main.c.
GtkWidget* unit_info_frame |
Definition at line 152 of file gui_main.c.
GtkWidget* unit_info_label |
Definition at line 150 of file gui_main.c.
|
static |
Definition at line 161 of file gui_main.c.
Referenced by free_unit_table(), populate_unit_pic_table(), and set_unit_icon().
|
static |
Definition at line 160 of file gui_main.c.
Referenced by free_unit_table(), populate_unit_pic_table(), and setup_widgets().
|
static |
Definition at line 185 of file gui_main.c.
|
static |
Definition at line 227 of file gui_main.c.
Referenced by ui_init().