1 /**********************************************************************
2  Freeciv - Copyright (C) 1996 - A Kjeldberg, L Gregersen, P Unold
3    This program is free software; you can redistribute it and/or modify
4    it under the terms of the GNU General Public License as published by
5    the Free Software Foundation; either version 2, or (at your option)
6    any later version.
7 
8    This program is distributed in the hope that it will be useful,
9    but WITHOUT ANY WARRANTY; without even the implied warranty of
10    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11    GNU General Public License for more details.
12 ***********************************************************************/
13 #ifndef FC__GUI_MAIN_H
14 #define FC__GUI_MAIN_H
15 
16 #include <gtk/gtk.h>
17 
18 #include "gtkpixcomm.h"
19 #include "gui_main_g.h"
20 
21 /* network string charset conversion */
22 gchar *ntoh_str(const gchar *netstr);
23 
24 extern GtkStyle *city_names_style;
25 extern GtkStyle *city_productions_style;
26 extern GtkStyle *reqtree_text_style;
27 
28 extern GdkGC *          civ_gc;
29 extern GdkGC *          mask_fg_gc;
30 extern GdkGC *          mask_bg_gc;
31 extern GdkGC *          fill_bg_gc;
32 extern GdkGC *          fill_tile_gc;
33 extern GdkGC *          thin_line_gc;
34 extern GdkGC *          thick_line_gc;
35 extern GdkGC *          border_line_gc;
36 extern GdkGC *          selection_gc;
37 extern GdkPixmap *      gray50;
38 extern GdkPixmap *      gray25;
39 extern GdkPixmap *      black50;
40 extern GdkPixmap *      mask_bitmap;
41 #define single_tile_pixmap (mapview.single_tile->pixmap)
42 extern GtkTextView *	main_message_area;
43 extern GtkWidget *      text_scrollbar;
44 extern GtkWidget *      toplevel;
45 extern GtkWidget *      top_vbox;
46 extern GtkWidget *      main_frame_civ_name;
47 extern GtkWidget *      main_label_info;
48 extern GtkWidget *      econ_label[10];
49 extern GtkWidget *      bulb_label;
50 extern GtkWidget *      sun_label;
51 extern GtkWidget *      flake_label;
52 extern GtkWidget *      government_label;
53 extern GtkWidget *	econ_ebox;
54 extern GtkWidget *	bulb_ebox;
55 extern GtkWidget *	sun_ebox;
56 extern GtkWidget *	flake_ebox;
57 extern GtkWidget *	government_ebox;
58 extern GtkWidget *      map_canvas;             /* GtkDrawingArea */
59 extern GtkWidget *      overview_canvas;        /* GtkDrawingArea */
60 extern GtkWidget *      overview_scrolled_window;        /* GtkScrolledWindow */
61 extern GtkWidget *      timeout_label;
62 extern GtkWidget *      turn_done_button;
63 extern GtkWidget *      unit_info_box;
64 extern GtkWidget *      unit_info_label;
65 extern GtkWidget *      unit_info_frame;
66 extern GtkWidget *      map_horizontal_scrollbar;
67 extern GtkWidget *      map_vertical_scrollbar;
68 extern GdkWindow *      root_window;
69 
70 extern GtkWidget *	toplevel_tabs;
71 extern GtkWidget *	top_notebook;
72 extern GtkWidget *      map_widget;
73 extern GtkWidget *	bottom_notebook;
74 extern GtkWidget *	right_notebook;
75 extern GtkTextBuffer *	message_buffer;
76 
77 extern int overview_canvas_store_width;
78 extern int overview_canvas_store_height;
79 
80 
81 void enable_menus(bool enable);
82 
83 gboolean map_canvas_focus(void);
84 
85 void reset_unit_table(void);
86 void popup_quit_dialog(void);
87 void quit_gtk_main(void);
88 void refresh_chat_buttons(void);
89 
90 bool is_gui_up(void);
91 
92 #endif  /* FC__GUI_MAIN_H */
93