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__MENU_H
14 #define FC__MENU_H
15 
16 #include <X11/Intrinsic.h>
17 
18 #include "menu_g.h"
19 
20 /* Indices for the menus. */
21 enum MenuIndex {
22   MENU_GAME,
23   MENU_GOVERNMENT,
24   MENU_VIEW,
25   MENU_ORDER,
26   MENU_REPORT,
27   MENU_EDITOR,
28   MENU_HELP,
29 
30   MENU_LAST
31 };
32 
33 /* IDs for menu items */
34 enum MenuID {
35   MENU_END_OF_LIST=0,
36 
37   MENU_GAME_OPTIONS,
38   MENU_GAME_MSG_OPTIONS,
39   MENU_GAME_SAVE_SETTINGS,
40   MENU_GAME_SERVER_OPTIONS,
41   MENU_GAME_OUTPUT_LOG,
42   MENU_GAME_CLEAR_OUTPUT,
43   MENU_GAME_DISCONNECT,
44   MENU_GAME_QUIT,
45 
46   MENU_GOVERNMENT_RATES,
47   MENU_GOVERNMENT_FIND_CITY,
48   MENU_GOVERNMENT_WORKLISTS,
49   MENU_GOVERNMENT_REVOLUTION,
50   /* MENU_GOVERNMENT_CHANGE is handled separately. */
51 
52   MENU_VIEW_SHOW_MAP_GRID,
53   MENU_VIEW_SHOW_NATIONAL_BORDERS,
54   MENU_VIEW_SHOW_CITY_NAMES,
55   MENU_VIEW_SHOW_CITY_GROWTH,
56   MENU_VIEW_SHOW_CITY_PRODUCTIONS,
57   MENU_VIEW_SHOW_TERRAIN,
58   MENU_VIEW_SHOW_COASTLINE,
59   MENU_VIEW_SHOW_PATHS,
60   MENU_VIEW_SHOW_IRRIGATION,
61   MENU_VIEW_SHOW_MINES,
62   MENU_VIEW_SHOW_BASES,
63   MENU_VIEW_SHOW_RESOURCES,
64   MENU_VIEW_SHOW_HUTS,
65   MENU_VIEW_SHOW_POLLUTION,
66   MENU_VIEW_SHOW_CITIES,
67   MENU_VIEW_SHOW_UNITS,
68   MENU_VIEW_SHOW_FOCUS_UNIT,
69   MENU_VIEW_SHOW_FOG_OF_WAR,
70   MENU_VIEW_CENTER_VIEW,
71 
72   MENU_ORDER_BUILD_CITY,
73   MENU_ORDER_ROAD,
74   MENU_ORDER_IRRIGATE,
75   MENU_ORDER_MINE,
76   MENU_ORDER_TRANSFORM,
77   MENU_ORDER_FORTRESS,
78   MENU_ORDER_AIRBASE,
79   MENU_ORDER_POLLUTION,
80   MENU_ORDER_FALLOUT,
81   MENU_ORDER_FORTIFY,
82   MENU_ORDER_SENTRY,
83   MENU_ORDER_PILLAGE,
84   MENU_ORDER_HOMECITY,
85   MENU_ORDER_UNLOAD_TRANSPORTER,
86   MENU_ORDER_LOAD,
87   MENU_ORDER_UNLOAD,
88   MENU_ORDER_WAKEUP_OTHERS,
89   MENU_ORDER_AUTO_SETTLER,
90   MENU_ORDER_AUTO_ATTACK,
91   MENU_ORDER_AUTO_EXPLORE,
92   MENU_ORDER_CONNECT_ROAD,
93   MENU_ORDER_CONNECT_RAIL,
94   MENU_ORDER_CONNECT_IRRIGATE,
95   MENU_ORDER_PATROL,
96   MENU_ORDER_GOTO,
97   MENU_ORDER_GOTO_CITY,
98   MENU_ORDER_RETURN,
99   MENU_ORDER_CONVERT,
100   MENU_ORDER_DISBAND,
101   MENU_ORDER_BUILD_WONDER,
102   MENU_ORDER_TRADE_ROUTE,
103   MENU_ORDER_DIPLOMAT_DLG,
104   MENU_ORDER_NUKE,
105   MENU_ORDER_SELECT_SAME_TYPE,
106   MENU_ORDER_WAIT,
107   MENU_ORDER_DONE,
108 
109   MENU_REPORT_CITIES,
110   MENU_REPORT_UNITS,
111   MENU_REPORT_PLAYERS,
112   MENU_REPORT_ECONOMY,
113   MENU_REPORT_SCIENCE,
114   MENU_REPORT_WOW,
115   MENU_REPORT_TOP_CITIES,
116   MENU_REPORT_MESSAGES,
117   MENU_REPORT_DEMOGRAPHIC,
118   MENU_REPORT_SPACESHIP,
119   MENU_REPORT_ACHIEVEMENTS,
120 
121   MENU_EDITOR_TOGGLE,
122   MENU_EDITOR_TOOLS,
123 
124   MENU_HELP_LANGUAGES,
125   MENU_HELP_CONNECTING,
126   MENU_HELP_CONTROLS,
127   MENU_HELP_CMA,
128   MENU_HELP_CHATLINE,
129   MENU_HELP_WORKLIST_EDITOR,
130   MENU_HELP_OVERVIEW,
131   MENU_HELP_PLAYING,
132   MENU_HELP_ECONOMY,
133   MENU_HELP_CITIES,
134   MENU_HELP_IMPROVEMENTS,
135   MENU_HELP_UNITS,
136   MENU_HELP_COMBAT,
137   MENU_HELP_ZOC,
138   MENU_HELP_TECH,
139   MENU_HELP_TERRAIN,
140   MENU_HELP_WONDERS,
141   MENU_HELP_GOVERNMENT,
142   MENU_HELP_DIPLOMACY,
143   MENU_HELP_SPACE_RACE,
144   MENU_HELP_RULESET,
145   MENU_HELP_NATIONS,
146   MENU_HELP_COPYING,
147   MENU_HELP_ABOUT,
148 
149   MENU_SEPARATOR_LINE
150 };
151 /* Shared menu IDs */
152 #define MENU_ORDER_PARADROP MENU_ORDER_POLLUTION
153 
154 /* Initialize menus. */
155 void setup_menus(Widget parent_form);
156 
157 /* Determine whether menu item is active or not. */
158 int is_menu_item_active(enum MenuIndex menu, enum MenuID id);
159 
160 #endif  /* FC__MENU_H */
161