summaryrefslogtreecommitdiff
path: root/src/widgets
diff options
context:
space:
mode:
authortruebrain <truebrain@openttd.org>2011-12-15 22:22:55 +0000
committertruebrain <truebrain@openttd.org>2011-12-15 22:22:55 +0000
commit2aa774e831ad1cb7849c998759449ef777c5c664 (patch)
tree37293298be999cb3446fe4af7f11e107bfa17c3d /src/widgets
parentfd559171b4ab5ce09b67aa8c4e9f2d0482a09558 (diff)
downloadopenttd-2aa774e831ad1cb7849c998759449ef777c5c664.tar.xz
(svn r23528) -Codechange: move widget enums to widgets/NNN_type.h
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/ai_widget.h65
-rw-r--r--src/widgets/airport_widget.h37
-rw-r--r--src/widgets/autoreplace_widget.h40
-rw-r--r--src/widgets/bootstrap_widget.h22
-rw-r--r--src/widgets/bridge_widget.h24
-rw-r--r--src/widgets/build_vehicle_widget.h30
-rw-r--r--src/widgets/cheat_widget.h20
-rw-r--r--src/widgets/company_widget.h191
-rw-r--r--src/widgets/console_widget.h20
-rw-r--r--src/widgets/date_widget.h23
-rw-r--r--src/widgets/depot_widget.h37
-rw-r--r--src/widgets/dock_widget.h29
-rw-r--r--src/widgets/dropdown.cpp9
-rw-r--r--src/widgets/dropdown_widget.h22
-rw-r--r--src/widgets/engine_widget.h22
-rw-r--r--src/widgets/error_widget.h22
-rw-r--r--src/widgets/fios_widget.h36
-rw-r--r--src/widgets/genworld_widget.h93
-rw-r--r--src/widgets/graph_widget.h66
-rw-r--r--src/widgets/group_widget.h37
-rw-r--r--src/widgets/highscore_widget.h20
-rw-r--r--src/widgets/industry_widget.h50
-rw-r--r--src/widgets/intro_widget.h38
-rw-r--r--src/widgets/main_widget.h20
-rw-r--r--src/widgets/misc_widget.h48
-rw-r--r--src/widgets/music_widget.h53
-rw-r--r--src/widgets/network_chat_widget.h25
-rw-r--r--src/widgets/network_content_widget.h47
-rw-r--r--src/widgets/network_widget.h128
-rw-r--r--src/widgets/newgrf_debug_widget.h40
-rw-r--r--src/widgets/newgrf_widget.h73
-rw-r--r--src/widgets/news_widget.h70
-rw-r--r--src/widgets/object_widget.h29
-rw-r--r--src/widgets/order_widget.h44
-rw-r--r--src/widgets/osk_widget.h43
-rw-r--r--src/widgets/rail_widget.h112
-rw-r--r--src/widgets/road_widget.h54
-rw-r--r--src/widgets/settings_widget.h73
-rw-r--r--src/widgets/sign_widget.h36
-rw-r--r--src/widgets/smallmap_widget.h37
-rw-r--r--src/widgets/station_widget.h62
-rw-r--r--src/widgets/statusbar_widget.h22
-rw-r--r--src/widgets/subsidy_widget.h21
-rw-r--r--src/widgets/terraform_widget.h49
-rw-r--r--src/widgets/timetable_widget.h34
-rw-r--r--src/widgets/toolbar_widget.h72
-rw-r--r--src/widgets/town_widget.h70
-rw-r--r--src/widgets/transparency_widget.h34
-rw-r--r--src/widgets/tree_widget.h33
-rw-r--r--src/widgets/vehicle_widget.h77
-rw-r--r--src/widgets/viewport_widget.h25
-rw-r--r--src/widgets/waypoint_widget.h24
52 files changed, 2401 insertions, 7 deletions
diff --git a/src/widgets/ai_widget.h b/src/widgets/ai_widget.h
new file mode 100644
index 000000000..51cab3f30
--- /dev/null
+++ b/src/widgets/ai_widget.h
@@ -0,0 +1,65 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file ai_widget.h Types related to the ai widgets. */
+
+#ifndef WIDGETS_AI_WIDGET_H
+#define WIDGETS_AI_WIDGET_H
+
+/** Widgets of the WC_AI_LIST. */
+enum AIListWindowWidgets {
+ AIL_WIDGET_LIST, ///< The matrix with all available AIs
+ AIL_WIDGET_SCROLLBAR, ///< Scrollbar next to the AI list
+ AIL_WIDGET_INFO_BG, ///< Panel to draw some AI information on
+ AIL_WIDGET_ACCEPT, ///< Accept button
+ AIL_WIDGET_CANCEL, ///< Cancel button
+};
+
+/** Widgets of the WC_AI_SETTINGS. */
+enum AISettingsWindowWidgets {
+ AIS_WIDGET_BACKGROUND, ///< Panel to draw the settings on
+ AIS_WIDGET_SCROLLBAR, ///< Scrollbar to scroll through all settings
+ AIS_WIDGET_ACCEPT, ///< Accept button
+ AIS_WIDGET_RESET, ///< Reset button
+};
+
+/** Widgets of the WC_GAME_OPTIONS (WC_GAME_OPTIONS is also used in others). */
+enum AIConfigWindowWidgets {
+ AIC_WIDGET_BACKGROUND, ///< Window background
+ AIC_WIDGET_DECREASE, ///< Decrease the number of AIs
+ AIC_WIDGET_INCREASE, ///< Increase the number of AIs
+ AIC_WIDGET_NUMBER, ///< Number of AIs
+ AIC_WIDGET_LIST, ///< List with currently selected AIs
+ AIC_WIDGET_SCROLLBAR, ///< Scrollbar to scroll through the selected AIs
+ AIC_WIDGET_MOVE_UP, ///< Move up button
+ AIC_WIDGET_MOVE_DOWN, ///< Move down button
+ AIC_WIDGET_CHANGE, ///< Select another AI button
+ AIC_WIDGET_CONFIGURE, ///< Change AI settings button
+ AIC_WIDGET_CLOSE, ///< Close window button
+ AIC_WIDGET_CONTENT_DOWNLOAD, ///< Download content button
+};
+
+/** Widgets of the WC_AI_DEBUG. */
+enum AIDebugWindowWidgets {
+ AID_WIDGET_VIEW,
+ AID_WIDGET_NAME_TEXT,
+ AID_WIDGET_SETTINGS,
+ AID_WIDGET_RELOAD_TOGGLE,
+ AID_WIDGET_LOG_PANEL,
+ AID_WIDGET_SCROLLBAR,
+ AID_WIDGET_COMPANY_BUTTON_START,
+ AID_WIDGET_COMPANY_BUTTON_END = AID_WIDGET_COMPANY_BUTTON_START + MAX_COMPANIES - 1,
+ AID_BREAK_STRING_WIDGETS,
+ AID_WIDGET_BREAK_STR_ON_OFF_BTN,
+ AID_WIDGET_BREAK_STR_EDIT_BOX,
+ AID_WIDGET_MATCH_CASE_BTN,
+ AID_WIDGET_CONTINUE_BTN,
+};
+
+#endif /* WIDGETS_AI_WIDGET_H */
diff --git a/src/widgets/airport_widget.h b/src/widgets/airport_widget.h
new file mode 100644
index 000000000..35df2e1a4
--- /dev/null
+++ b/src/widgets/airport_widget.h
@@ -0,0 +1,37 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file airport_widget.h Types related to the airport widgets. */
+
+#ifndef WIDGETS_AIRPORT_WIDGET_H
+#define WIDGETS_AIRPORT_WIDGET_H
+
+/** Widgets of the WC_BUILD_TOOLBAR (WC_BUILD_TOOLBAR is also used in others). */
+enum AirportToolbarWidgets {
+ ATW_AIRPORT,
+ ATW_DEMOLISH,
+};
+
+/** Widgets of the WC_BUILD_STATION (WC_BUILD_STATION is also used in others). */
+enum AirportPickerWidgets {
+ BAIRW_CLASS_DROPDOWN,
+ BAIRW_AIRPORT_LIST,
+ BAIRW_SCROLLBAR,
+ BAIRW_LAYOUT_NUM,
+ BAIRW_LAYOUT_DECREASE,
+ BAIRW_LAYOUT_INCREASE,
+ BAIRW_AIRPORT_SPRITE,
+ BAIRW_EXTRA_TEXT,
+ BAIRW_BOTTOMPANEL,
+ BAIRW_COVERAGE_LABEL,
+ BAIRW_BTN_DONTHILIGHT,
+ BAIRW_BTN_DOHILIGHT,
+};
+
+#endif /* WIDGETS_AIRPORT_WIDGET_H */
diff --git a/src/widgets/autoreplace_widget.h b/src/widgets/autoreplace_widget.h
new file mode 100644
index 000000000..51205a269
--- /dev/null
+++ b/src/widgets/autoreplace_widget.h
@@ -0,0 +1,40 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file autoreplace_widget.h Types related to the autoreplace widgets. */
+
+#ifndef WIDGETS_AUTOREPLACE_WIDGET_H
+#define WIDGETS_AUTOREPLACE_WIDGET_H
+
+/** Widgets of the WC_REPLACE_VEHICLE. */
+enum ReplaceVehicleWindowWidgets {
+ RVW_WIDGET_CAPTION,
+
+ /* Left and right matrix + details. */
+ RVW_WIDGET_LEFT_MATRIX,
+ RVW_WIDGET_LEFT_SCROLLBAR,
+ RVW_WIDGET_RIGHT_MATRIX,
+ RVW_WIDGET_RIGHT_SCROLLBAR,
+ RVW_WIDGET_LEFT_DETAILS,
+ RVW_WIDGET_RIGHT_DETAILS,
+
+ /* Button row. */
+ RVW_WIDGET_START_REPLACE,
+ RVW_WIDGET_INFO_TAB,
+ RVW_WIDGET_STOP_REPLACE,
+
+ /* Train only widgets. */
+ RVW_WIDGET_TRAIN_ENGINEWAGON_TOGGLE,
+ RVW_WIDGET_TRAIN_FLUFF_LEFT,
+ RVW_WIDGET_TRAIN_RAILTYPE_DROPDOWN,
+ RVW_WIDGET_TRAIN_FLUFF_RIGHT,
+ RVW_WIDGET_TRAIN_WAGONREMOVE_TOGGLE,
+};
+
+#endif /* WIDGETS_AUTOREPLACE_WIDGET_H */
diff --git a/src/widgets/bootstrap_widget.h b/src/widgets/bootstrap_widget.h
new file mode 100644
index 000000000..9fd25d90e
--- /dev/null
+++ b/src/widgets/bootstrap_widget.h
@@ -0,0 +1,22 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file bootstrap_widget.h Types related to the bootstrap widgets. */
+
+#ifndef WIDGETS_BOOTSTRAP_WIDGET_H
+#define WIDGETS_BOOTSTRAP_WIDGET_H
+
+/** Widgets of the WC_CONFIRM_POPUP_QUERY (WC_CONFIRM_POPUP_QUERY is also used in QueryWidgets). */
+enum BootstrapAskForDownloadWidgets {
+ BAFDW_QUESTION, ///< The question whether to download.
+ BAFDW_YES, ///< An affirmative answer to the question.
+ BAFDW_NO, ///< An negative answer to the question.
+};
+
+#endif /* WIDGETS_BOOTSTRAP_WIDGET_H */
diff --git a/src/widgets/bridge_widget.h b/src/widgets/bridge_widget.h
new file mode 100644
index 000000000..aa4a7cd4c
--- /dev/null
+++ b/src/widgets/bridge_widget.h
@@ -0,0 +1,24 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file bridge_widget.h Types related to the bridge widgets. */
+
+#ifndef WIDGETS_BRIDGE_WIDGET_H
+#define WIDGETS_BRIDGE_WIDGET_H
+
+/** Widgets of the WC_BUILD_BRIDGE. */
+enum BuildBridgeSelectionWidgets {
+ BBSW_CAPTION,
+ BBSW_DROPDOWN_ORDER,
+ BBSW_DROPDOWN_CRITERIA,
+ BBSW_BRIDGE_LIST,
+ BBSW_SCROLLBAR,
+};
+
+#endif /* WIDGETS_BRIDGE_WIDGET_H */
diff --git a/src/widgets/build_vehicle_widget.h b/src/widgets/build_vehicle_widget.h
new file mode 100644
index 000000000..715f47d5c
--- /dev/null
+++ b/src/widgets/build_vehicle_widget.h
@@ -0,0 +1,30 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file build_vehicle_widget.h Types related to the build_vehicle widgets. */
+
+#ifndef WIDGETS_BUILD_VEHICLE_WIDGET_H
+#define WIDGETS_BUILD_VEHICLE_WIDGET_H
+
+/** Widgets of the WC_BUILD_VEHICLE. */
+enum BuildVehicleWidgets {
+ BUILD_VEHICLE_WIDGET_CAPTION,
+ BUILD_VEHICLE_WIDGET_SORT_ASSENDING_DESCENDING,
+ BUILD_VEHICLE_WIDGET_SORT_DROPDOWN,
+ BUILD_VEHICLE_WIDGET_CARGO_FILTER_DROPDOWN,
+ BUILD_VEHICLE_WIDGET_LIST,
+ BUILD_VEHICLE_WIDGET_SCROLLBAR,
+ BUILD_VEHICLE_WIDGET_PANEL,
+ BUILD_VEHICLE_WIDGET_BUILD,
+ BUILD_VEHICLE_WIDGET_BUILD_SEL,
+ BUILD_VEHICLE_WIDGET_RENAME,
+ BUILD_VEHICLE_WIDGET_END
+};
+
+#endif /* WIDGETS_BUILD_VEHICLE_WIDGET_H */
diff --git a/src/widgets/cheat_widget.h b/src/widgets/cheat_widget.h
new file mode 100644
index 000000000..64ebc588d
--- /dev/null
+++ b/src/widgets/cheat_widget.h
@@ -0,0 +1,20 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file cheat_widget.h Types related to the cheat widgets. */
+
+#ifndef WIDGETS_CHEAT_WIDGET_H
+#define WIDGETS_CHEAT_WIDGET_H
+
+/** Widgets of the WC_CHEATS. */
+enum CheatWidgets {
+ CW_PANEL,
+};
+
+#endif /* WIDGETS_CHEAT_WIDGET_H */
diff --git a/src/widgets/company_widget.h b/src/widgets/company_widget.h
new file mode 100644
index 000000000..684df9376
--- /dev/null
+++ b/src/widgets/company_widget.h
@@ -0,0 +1,191 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file company_widget.h Types related to the company widgets. */
+
+#ifndef WIDGETS_COMPANY_WIDGET_H
+#define WIDGETS_COMPANY_WIDGET_H
+
+/** Widgets of the WC_COMPANY. */
+enum CompanyWindowWidgets {
+ CW_WIDGET_CAPTION,
+
+ CW_WIDGET_FACE,
+ CW_WIDGET_FACE_TITLE,
+
+ CW_WIDGET_DESC_INAUGURATION,
+ CW_WIDGET_DESC_COLOUR_SCHEME,
+ CW_WIDGET_DESC_COLOUR_SCHEME_EXAMPLE,
+ CW_WIDGET_DESC_VEHICLE,
+ CW_WIDGET_DESC_VEHICLE_COUNTS,
+ CW_WIDGET_DESC_COMPANY_VALUE,
+ CW_WIDGET_DESC_INFRASTRUCTURE,
+ CW_WIDGET_DESC_INFRASTRUCTURE_COUNTS,
+
+ CW_WIDGET_SELECT_DESC_OWNERS,
+ CW_WIDGET_DESC_OWNERS,
+
+ CW_WIDGET_SELECT_BUTTONS, ///< Selection widget for the button bar.
+ CW_WIDGET_NEW_FACE,
+ CW_WIDGET_COLOUR_SCHEME,
+ CW_WIDGET_PRESIDENT_NAME,
+ CW_WIDGET_COMPANY_NAME,
+ CW_WIDGET_BUY_SHARE,
+ CW_WIDGET_SELL_SHARE,
+
+ CW_WIDGET_SELECT_VIEW_BUILD_HQ,
+ CW_WIDGET_VIEW_HQ,
+ CW_WIDGET_BUILD_HQ,
+
+ CW_WIDGET_SELECT_RELOCATE, ///< View/hide the 'Relocate HQ' button.
+ CW_WIDGET_RELOCATE_HQ,
+
+ CW_WIDGET_VIEW_INFRASTRUCTURE,
+
+ CW_WIDGET_HAS_PASSWORD, ///< Draw a lock when the company has a password
+ CW_WIDGET_SELECT_MULTIPLAYER, ///< Multiplayer selection panel.
+ CW_WIDGET_COMPANY_PASSWORD,
+ CW_WIDGET_COMPANY_JOIN,
+};
+
+/** Widgets of the WC_FINANCES. */
+enum CompanyFinancesWindowWidgets {
+ CFW_CAPTION, ///< Caption of the window
+ CFW_TOGGLE_SIZE, ///< Toggle windows size
+ CFW_SEL_PANEL, ///< Select panel or nothing
+ CFW_EXPS_CATEGORY, ///< Column for expenses category strings
+ CFW_EXPS_PRICE1, ///< Column for year Y-2 expenses
+ CFW_EXPS_PRICE2, ///< Column for year Y-1 expenses
+ CFW_EXPS_PRICE3, ///< Column for year Y expenses
+ CFW_TOTAL_PANEL, ///< Panel for totals
+ CFW_SEL_MAXLOAN, ///< Selection of maxloan column
+ CFW_BALANCE_VALUE, ///< Bank balance value
+ CFW_LOAN_VALUE, ///< Loan
+ CFW_LOAN_LINE, ///< Line for summing bank balance and loan
+ CFW_TOTAL_VALUE, ///< Total
+ CFW_MAXLOAN_GAP, ///< Gap above max loan widget
+ CFW_MAXLOAN_VALUE, ///< Max loan widget
+ CFW_SEL_BUTTONS, ///< Selection of buttons
+ CFW_INCREASE_LOAN, ///< Increase loan
+ CFW_REPAY_LOAN, ///< Decrease loan
+ CFW_INFRASTRUCTURE,///< View company infrastructure
+};
+
+
+/** Widgets of the WC_COMPANY_COLOUR. */
+enum SelectCompanyLiveryWindowWidgets {
+ SCLW_WIDGET_CAPTION,
+ SCLW_WIDGET_CLASS_GENERAL,
+ SCLW_WIDGET_CLASS_RAIL,
+ SCLW_WIDGET_CLASS_ROAD,
+ SCLW_WIDGET_CLASS_SHIP,
+ SCLW_WIDGET_CLASS_AIRCRAFT,
+ SCLW_WIDGET_SPACER_DROPDOWN,
+ SCLW_WIDGET_PRI_COL_DROPDOWN,
+ SCLW_WIDGET_SEC_COL_DROPDOWN,
+ SCLW_WIDGET_MATRIX,
+};
+
+
+/** Widgets of the WC_COMPANY_MANAGER_FACE.
+ * Do not change the order of the widgets from SCMFW_WIDGET_HAS_MOUSTACHE_EARRING to SCMFW_WIDGET_GLASSES_R,
+ * this order is needed for the WE_CLICK event of DrawFaceStringLabel().
+ */
+enum SelectCompanyManagerFaceWidgets {
+ SCMFW_WIDGET_CAPTION,
+ SCMFW_WIDGET_TOGGLE_LARGE_SMALL,
+ SCMFW_WIDGET_SELECT_FACE,
+ SCMFW_WIDGET_CANCEL,
+ SCMFW_WIDGET_ACCEPT,
+ SCMFW_WIDGET_MALE, ///< Male button in the simple view.
+ SCMFW_WIDGET_FEMALE, ///< Female button in the simple view.
+ SCMFW_WIDGET_MALE2, ///< Male button in the advanced view.
+ SCMFW_WIDGET_FEMALE2, ///< Female button in the advanced view.
+ SCMFW_WIDGET_SEL_LOADSAVE, ///< Selection to display the load/save/number buttons in the advanced view.
+ SCMFW_WIDGET_SEL_MALEFEMALE, ///< Selection to display the male/female buttons in the simple view.
+ SCMFW_WIDGET_SEL_PARTS, ///< Selection to display the buttons for setting each part of the face in the advanced view.
+ SCMFW_WIDGET_RANDOM_NEW_FACE,
+ SCMFW_WIDGET_TOGGLE_LARGE_SMALL_BUTTON,
+ SCMFM_WIDGET_FACE,
+ SCMFW_WIDGET_LOAD,
+ SCMFW_WIDGET_FACECODE,
+ SCMFW_WIDGET_SAVE,
+ SCMFW_WIDGET_HAS_MOUSTACHE_EARRING_TEXT,
+ SCMFW_WIDGET_TIE_EARRING_TEXT,
+ SCMFW_WIDGET_LIPS_MOUSTACHE_TEXT,
+ SCMFW_WIDGET_HAS_GLASSES_TEXT,
+ SCMFW_WIDGET_HAIR_TEXT,
+ SCMFW_WIDGET_EYEBROWS_TEXT,
+ SCMFW_WIDGET_EYECOLOUR_TEXT,
+ SCMFW_WIDGET_GLASSES_TEXT,
+ SCMFW_WIDGET_NOSE_TEXT,
+ SCMFW_WIDGET_CHIN_TEXT,
+ SCMFW_WIDGET_JACKET_TEXT,
+ SCMFW_WIDGET_COLLAR_TEXT,
+ SCMFW_WIDGET_ETHNICITY_EUR,
+ SCMFW_WIDGET_ETHNICITY_AFR,
+ SCMFW_WIDGET_HAS_MOUSTACHE_EARRING,
+ SCMFW_WIDGET_HAS_GLASSES,
+ SCMFW_WIDGET_EYECOLOUR_L,
+ SCMFW_WIDGET_EYECOLOUR,
+ SCMFW_WIDGET_EYECOLOUR_R,
+ SCMFW_WIDGET_CHIN_L,
+ SCMFW_WIDGET_CHIN,
+ SCMFW_WIDGET_CHIN_R,
+ SCMFW_WIDGET_EYEBROWS_L,
+ SCMFW_WIDGET_EYEBROWS,
+ SCMFW_WIDGET_EYEBROWS_R,
+ SCMFW_WIDGET_LIPS_MOUSTACHE_L,
+ SCMFW_WIDGET_LIPS_MOUSTACHE,
+ SCMFW_WIDGET_LIPS_MOUSTACHE_R,
+ SCMFW_WIDGET_NOSE_L,
+ SCMFW_WIDGET_NOSE,
+ SCMFW_WIDGET_NOSE_R,
+ SCMFW_WIDGET_HAIR_L,
+ SCMFW_WIDGET_HAIR,
+ SCMFW_WIDGET_HAIR_R,
+ SCMFW_WIDGET_JACKET_L,
+ SCMFW_WIDGET_JACKET,
+ SCMFW_WIDGET_JACKET_R,
+ SCMFW_WIDGET_COLLAR_L,
+ SCMFW_WIDGET_COLLAR,
+ SCMFW_WIDGET_COLLAR_R,
+ SCMFW_WIDGET_TIE_EARRING_L,
+ SCMFW_WIDGET_TIE_EARRING,
+ SCMFW_WIDGET_TIE_EARRING_R,
+ SCMFW_WIDGET_GLASSES_L,
+ SCMFW_WIDGET_GLASSES,
+ SCMFW_WIDGET_GLASSES_R,
+};
+
+/** Widgets of the WC_COMPANY_INFRASTRUCTURE. */
+enum CompanyInfrastructureWindowWidgets {
+ CIW_WIDGET_CAPTION,
+ CIW_WIDGET_RAIL_DESC,
+ CIW_WIDGET_RAIL_COUNT,
+ CIW_WIDGET_ROAD_DESC,
+ CIW_WIDGET_ROAD_COUNT,
+ CIW_WIDGET_WATER_DESC,
+ CIW_WIDGET_WATER_COUNT,
+ CIW_WIDGET_STATION_DESC,
+ CIW_WIDGET_STATION_COUNT,
+ CIW_WIDGET_TOTAL_DESC,
+ CIW_WIDGET_TOTAL,
+};
+
+/** Widgets of the WC_BUY_COMPANY. */
+enum BuyCompanyWidgets {
+ BCW_CAPTION,
+ BCW_FACE,
+ BCW_QUESTION,
+ BCW_NO,
+ BCW_YES,
+};
+
+#endif /* WIDGETS_COMPANY_WIDGET_H */
diff --git a/src/widgets/console_widget.h b/src/widgets/console_widget.h
new file mode 100644
index 000000000..773d9d572
--- /dev/null
+++ b/src/widgets/console_widget.h
@@ -0,0 +1,20 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file console_widget.h Types related to the console widgets. */
+
+#ifndef WIDGETS_CONSOLE_WIDGET_H
+#define WIDGETS_CONSOLE_WIDGET_H
+
+/** Widgets of the WC_CONSOLE. */
+enum ConsoleWidgets {
+ CW_BACKGROUND, ///< Background of the console
+};
+
+#endif /* WIDGETS_CONSOLE_WIDGET_H */
diff --git a/src/widgets/date_widget.h b/src/widgets/date_widget.h
new file mode 100644
index 000000000..78fd49080
--- /dev/null
+++ b/src/widgets/date_widget.h
@@ -0,0 +1,23 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file date_widget.h Types related to the date widgets. */
+
+#ifndef WIDGETS_DATE_WIDGET_H
+#define WIDGETS_DATE_WIDGET_H
+
+/** Widgets of the WC_SET_DATE. */
+enum SetDateWidgets {
+ SDW_DAY, ///< Dropdown for the day
+ SDW_MONTH, ///< Dropdown for the month
+ SDW_YEAR, ///< Dropdown for the year
+ SDW_SET_DATE, ///< Actually set the date
+};
+
+#endif /* WIDGETS_DATE_WIDGET_H */
diff --git a/src/widgets/depot_widget.h b/src/widgets/depot_widget.h
new file mode 100644
index 000000000..755a8be57
--- /dev/null
+++ b/src/widgets/depot_widget.h
@@ -0,0 +1,37 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file depot_widget.h Types related to the depot widgets. */
+
+#ifndef WIDGETS_DEPOT_WIDGET_H
+#define WIDGETS_DEPOT_WIDGET_H
+
+/** Widgets of the WC_VEHICLE_DEPOT. */
+enum DepotWindowWidgets {
+ DEPOT_WIDGET_CAPTION,
+ DEPOT_WIDGET_SELL,
+ DEPOT_WIDGET_SHOW_SELL_CHAIN,
+ DEPOT_WIDGET_SELL_CHAIN,
+ DEPOT_WIDGET_SELL_ALL,
+ DEPOT_WIDGET_AUTOREPLACE,
+ DEPOT_WIDGET_MATRIX,
+ DEPOT_WIDGET_V_SCROLL, ///< Vertical scrollbar
+ DEPOT_WIDGET_SHOW_H_SCROLL,
+ DEPOT_WIDGET_H_SCROLL, ///< Horizontal scrollbar
+ DEPOT_WIDGET_BUILD,
+ DEPOT_WIDGET_CLONE,
+ DEPOT_WIDGET_LOCATION,
+ DEPOT_WIDGET_SHOW_RENAME,
+ DEPOT_WIDGET_RENAME,
+ DEPOT_WIDGET_VEHICLE_LIST,
+ DEPOT_WIDGET_STOP_ALL,
+ DEPOT_WIDGET_START_ALL,
+};
+
+#endif /* WIDGETS_DEPOT_WIDGET_H */
diff --git a/src/widgets/dock_widget.h b/src/widgets/dock_widget.h
new file mode 100644
index 000000000..eedd42a25
--- /dev/null
+++ b/src/widgets/dock_widget.h
@@ -0,0 +1,29 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file dock_widget.h Types related to the dock widgets. */
+
+#ifndef WIDGETS_DOCK_WIDGET_H
+#define WIDGETS_DOCK_WIDGET_H
+
+/** Widgets of the WC_SCEN_BUILD_TOOLBAR / WC_BUILD_TOOLBAR (WC_SCEN_BUILD_TOOLBAR / WC_BUILD_TOOLBAR is also used in others). */
+enum DockToolbarWidgets {
+ DTW_BUTTONS_BEGIN, ///< Begin of clickable buttons (except seperating panel)
+ DTW_CANAL = DTW_BUTTONS_BEGIN, ///< Build canal button
+ DTW_LOCK, ///< Build lock button
+ DTW_DEMOLISH, ///< Demolish aka dynamite button
+ DTW_DEPOT, ///< Build depot button
+ DTW_STATION, ///< Build station button
+ DTW_BUOY, ///< Build buoy button
+ DTW_RIVER, ///< Build river button (in scenario editor)
+ DTW_BUILD_AQUEDUCT, ///< Build aqueduct button
+ DTW_END, ///< End of toolbar widgets
+};
+
+#endif /* WIDGETS_DOCK_WIDGET_H */
diff --git a/src/widgets/dropdown.cpp b/src/widgets/dropdown.cpp
index b57ea0c35..54294796d 100644
--- a/src/widgets/dropdown.cpp
+++ b/src/widgets/dropdown.cpp
@@ -16,6 +16,8 @@
#include "../window_func.h"
#include "dropdown_type.h"
+#include "dropdown_widget.h"
+
void DropDownListItem::Draw(int left, int right, int top, int bottom, bool sel, int bg_colour) const
{
@@ -79,13 +81,6 @@ static void DeleteDropDownList(DropDownList *list)
delete list;
}
-/** Widget numbers of the dropdown menu. */
-enum DropdownMenuWidgets {
- DDM_ITEMS, ///< Panel showing the dropdown items.
- DDM_SHOW_SCROLL, ///< Hide scrollbar if too few items.
- DDM_SCROLL, ///< Scrollbar.
-};
-
static const NWidgetPart _nested_dropdown_menu_widgets[] = {
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PANEL, COLOUR_END, DDM_ITEMS), SetMinimalSize(1, 1), SetScrollbar(DDM_SCROLL), EndContainer(),
diff --git a/src/widgets/dropdown_widget.h b/src/widgets/dropdown_widget.h
new file mode 100644
index 000000000..58ea586fe
--- /dev/null
+++ b/src/widgets/dropdown_widget.h
@@ -0,0 +1,22 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file dropdown_widget.h Types related to the dropdown widgets. */
+
+#ifndef WIDGETS_DROPDOWN_WIDGET_H
+#define WIDGETS_DROPDOWN_WIDGET_H
+
+/** Widgets of the WC_DROPDOWN_MENU. */
+enum DropdownMenuWidgets {
+ DDM_ITEMS, ///< Panel showing the dropdown items.
+ DDM_SHOW_SCROLL, ///< Hide scrollbar if too few items.
+ DDM_SCROLL, ///< Scrollbar.
+};
+
+#endif /* WIDGETS_DROPDOWN_WIDGET_H */
diff --git a/src/widgets/engine_widget.h b/src/widgets/engine_widget.h
new file mode 100644
index 000000000..32297b432
--- /dev/null
+++ b/src/widgets/engine_widget.h
@@ -0,0 +1,22 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file engine_widget.h Types related to the engine widgets. */
+
+#ifndef WIDGETS_ENGINE_WIDGET_H
+#define WIDGETS_ENGINE_WIDGET_H
+
+/** Widgets of the WC_ENGINE_PREVIEW. */
+enum EnginePreviewWidgets {
+ EPW_QUESTION, ///< The container for the question
+ EPW_NO, ///< No button
+ EPW_YES, ///< Yes button
+};
+
+#endif /* WIDGETS_ENGINE_WIDGET_H */
diff --git a/src/widgets/error_widget.h b/src/widgets/error_widget.h
new file mode 100644
index 000000000..6a45aa75b
--- /dev/null
+++ b/src/widgets/error_widget.h
@@ -0,0 +1,22 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file error_widget.h Types related to the error widgets. */
+
+#ifndef WIDGETS_ERROR_WIDGET_H
+#define WIDGETS_ERROR_WIDGET_H
+
+/** Widgets of the WC_ERRMSG. */
+enum ErrorMessageWidgets {
+ EMW_CAPTION,
+ EMW_FACE,
+ EMW_MESSAGE,
+};
+
+#endif /* WIDGETS_ERROR_WIDGET_H */
diff --git a/src/widgets/fios_widget.h b/src/widgets/fios_widget.h
new file mode 100644
index 000000000..74012abff
--- /dev/null
+++ b/src/widgets/fios_widget.h
@@ -0,0 +1,36 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file fios_widget.h Types related to the fios widgets. */
+
+#ifndef WIDGETS_FIOS_WIDGET_H
+#define WIDGETS_FIOS_WIDGET_H
+
+/** Widgets of the WC_SAVELOAD. */
+enum SaveLoadWindowWidgets {
+ SLWW_WINDOWTITLE,
+ SLWW_SORT_BYNAME,
+ SLWW_SORT_BYDATE,
+ SLWW_BACKGROUND,
+ SLWW_FILE_BACKGROUND,
+ SLWW_HOME_BUTTON,
+ SLWW_DRIVES_DIRECTORIES_LIST,
+ SLWW_SCROLLBAR,
+ SLWW_CONTENT_DOWNLOAD, ///< only available for play scenario/heightmap (content download)
+ SLWW_SAVE_OSK_TITLE, ///< only available for save operations
+ SLWW_DELETE_SELECTION, ///< same in here
+ SLWW_SAVE_GAME, ///< not to mention in here too
+ SLWW_CONTENT_DOWNLOAD_SEL, ///< Selection 'stack' to 'hide' the content download
+ SLWW_DETAILS, ///< Panel with game details
+ SLWW_NEWGRF_INFO, ///< Button to open NewGgrf configuration
+ SLWW_LOAD_BUTTON, ///< Button to load game/scenario
+ SLWW_MISSING_NEWGRFS, ///< Button to find missing NewGRFs online
+};
+
+#endif /* WIDGETS_FIOS_WIDGET_H */
diff --git a/src/widgets/genworld_widget.h b/src/widgets/genworld_widget.h
new file mode 100644
index 000000000..7ff0c5423
--- /dev/null
+++ b/src/widgets/genworld_widget.h
@@ -0,0 +1,93 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file genworld_widget.h Types related to the genworld widgets. */
+
+#ifndef WIDGETS_GENWORLD_WIDGET_H
+#define WIDGETS_GENWORLD_WIDGET_H
+
+/** Widgets of the WC_GENERATE_LANDSCAPE (WC_GENERATE_LANDSCAPE is also used in GenerateLandscapeWindowWidgets and CreateScenarioWindowWidgets). */
+enum GenenerateLandscapeWindowMode {
+ GLWM_GENERATE, ///< Generate new game
+ GLWM_HEIGHTMAP, ///< Load from heightmap
+ GLWM_SCENARIO, ///< Generate flat land
+};
+
+/** Widgets of the WC_GENERATE_LANDSCAPE (WC_GENERATE_LANDSCAPE is also used in GenenerateLandscapeWindowMode and CreateScenarioWindowWidgets). */
+enum GenerateLandscapeWindowWidgets {
+ GLAND_TEMPERATE, ///< Button with icon "Temperate"
+ GLAND_ARCTIC, ///< Button with icon "Arctic"
+ GLAND_TROPICAL, ///< Button with icon "Tropical"
+ GLAND_TOYLAND, ///< Button with icon "Toyland"
+
+ GLAND_MAPSIZE_X_PULLDOWN, ///< Dropdown 'map X size'
+ GLAND_MAPSIZE_Y_PULLDOWN, ///< Dropdown 'map Y size'
+
+ GLAND_TOWN_PULLDOWN, ///< Dropdown 'No. of towns'
+ GLAND_INDUSTRY_PULLDOWN, ///< Dropdown 'No. of industries'
+
+ GLAND_RANDOM_EDITBOX, ///< 'Random seed' editbox
+ GLAND_RANDOM_BUTTON, ///< 'Randomise' button
+
+ GLAND_GENERATE_BUTTON, ///< 'Generate' button
+
+ GLAND_START_DATE_DOWN, ///< Decrease start year
+ GLAND_START_DATE_TEXT, ///< Start year
+ GLAND_START_DATE_UP, ///< Increase start year
+
+ GLAND_SNOW_LEVEL_DOWN, ///< Decrease snow level
+ GLAND_SNOW_LEVEL_TEXT, ///< Snow level
+ GLAND_SNOW_LEVEL_UP, ///< Increase snow level
+
+ GLAND_TREE_PULLDOWN, ///< Dropdown 'Tree algorithm'
+ GLAND_LANDSCAPE_PULLDOWN, ///< Dropdown 'Land generator'
+
+ GLAND_HEIGHTMAP_NAME_TEXT, ///< Heightmap name
+ GLAND_HEIGHTMAP_SIZE_TEXT, ///< Size of heightmap
+ GLAND_HEIGHTMAP_ROTATION_PULLDOWN, ///< Dropdown 'Heightmap rotation'
+
+ GLAND_TERRAIN_PULLDOWN, ///< Dropdown 'Terrain type'
+ GLAND_WATER_PULLDOWN, ///< Dropdown 'Sea level'
+ GLAND_RIVER_PULLDOWN, ///< Dropdown 'Rivers'
+ GLAND_SMOOTHNESS_PULLDOWN, ///< Dropdown 'Smoothness'
+ GLAND_VARIETY_PULLDOWN, ///< Dropdown 'Variety distribution'
+
+ GLAND_BORDERS_RANDOM, ///< 'Random'/'Manual' borders
+ GLAND_WATER_NW, ///< NW 'Water'/'Freeform'
+ GLAND_WATER_NE, ///< NE 'Water'/'Freeform'
+ GLAND_WATER_SE, ///< SE 'Water'/'Freeform'
+ GLAND_WATER_SW, ///< SW 'Water'/'Freeform'
+};
+
+/** Widgets of the WC_GENERATE_LANDSCAPE (WC_GENERATE_LANDSCAPE is also used in GenerateLandscapeWindowWidgets and GenenerateLandscapeWindowMode). */
+enum CreateScenarioWindowWidgets {
+ CSCEN_TEMPERATE, ///< Select temperate landscape style.
+ CSCEN_ARCTIC, ///< Select arctic landscape style.
+ CSCEN_TROPICAL, ///< Select tropical landscape style.
+ CSCEN_TOYLAND, ///< Select toy-land landscape style.
+ CSCEN_EMPTY_WORLD, ///< Generate an empty flat world.
+ CSCEN_RANDOM_WORLD, ///< Generate random land button
+ CSCEN_MAPSIZE_X_PULLDOWN, ///< Pull-down arrow for x map size.
+ CSCEN_MAPSIZE_Y_PULLDOWN, ///< Pull-down arrow for y map size.
+ CSCEN_START_DATE_DOWN, ///< Decrease start year (start earlier).
+ CSCEN_START_DATE_TEXT, ///< Clickable start date value.
+ CSCEN_START_DATE_UP, ///< Increase start year (start later).
+ CSCEN_FLAT_LAND_HEIGHT_DOWN, ///< Decrease flat land height.
+ CSCEN_FLAT_LAND_HEIGHT_TEXT, ///< Clickable flat land height value.
+ CSCEN_FLAT_LAND_HEIGHT_UP ///< Increase flat land height.
+};
+
+/** Widgets of the WC_MODAL_PROGRESS (WC_MODAL_PROGRESS is also used in ScanProgressWindowWidgets). */
+enum GenerationProgressWindowWidgets {
+ GPWW_PROGRESS_BAR,
+ GPWW_PROGRESS_TEXT,
+ GPWW_ABORT,
+};
+
+#endif /* WIDGETS_GENWORLD_WIDGET_H */
diff --git a/src/widgets/graph_widget.h b/src/widgets/graph_widget.h
new file mode 100644
index 000000000..b2d95c98a
--- /dev/null
+++ b/src/widgets/graph_widget.h
@@ -0,0 +1,66 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file graph_widget.h Types related to the graph widgets. */
+
+#ifndef WIDGETS_GRAPH_WIDGET_H
+#define WIDGETS_GRAPH_WIDGET_H
+
+/** Widgets of the WC_GRAPH_LEGEND. */
+enum GraphLegendWidgetNumbers {
+ GLW_BACKGROUND,
+
+ GLW_FIRST_COMPANY,
+ GLW_LAST_COMPANY = GLW_FIRST_COMPANY + MAX_COMPANIES - 1,
+};
+
+/** Widgets of the WC_OPERATING_PROFIT / WC_DELIVERED_CARGO / WC_COMPANY_VALUE / WC_INCOME_GRAPH. */
+enum CompanyValueWidgets {
+ BGW_KEY_BUTTON,
+ BGW_BACKGROUND,
+ BGW_GRAPH,
+ BGW_RESIZE,
+};
+
+/** Widget of the WC_PERFORMANCE_HISTORY. */
+enum PerformanceHistoryGraphWidgets {
+ PHW_KEY,
+ PHW_DETAILED_PERFORMANCE,
+ PHW_BACKGROUND,
+ PHW_GRAPH,
+ PHW_RESIZE,
+};
+
+/** Widget of the WC_PAYMENT_RATES. */
+enum CargoPaymentRatesWidgets {
+ CPW_BACKGROUND,
+ CPW_HEADER,
+ CPW_GRAPH,
+ CPW_RESIZE,
+ CPW_FOOTER,
+ CPW_ENABLE_CARGOES,
+ CPW_DISABLE_CARGOES,
+ CPW_CARGO_FIRST,
+};
+
+/** Widget of the WC_COMPANY_LEAGUE. */
+enum CompanyLeagueWidgets {
+ CLW_BACKGROUND,
+};
+
+/** Widget of the WC_PERFORMANCE_DETAIL. */
+enum PerformanceRatingDetailsWidgets {
+ PRW_SCORE_FIRST,
+ PRW_SCORE_LAST = PRW_SCORE_FIRST + (SCORE_END - SCORE_BEGIN) - 1,
+
+ PRW_COMPANY_FIRST,
+ PRW_COMPANY_LAST = PRW_COMPANY_FIRST + MAX_COMPANIES - 1,
+};
+
+#endif /* WIDGETS_GRAPH_WIDGET_H */
diff --git a/src/widgets/group_widget.h b/src/widgets/group_widget.h
new file mode 100644
index 000000000..e405d0ca8
--- /dev/null
+++ b/src/widgets/group_widget.h
@@ -0,0 +1,37 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file group_widget.h Types related to the group widgets. */
+
+#ifndef WIDGETS_GROUP_WIDGET_H
+#define WIDGETS_GROUP_WIDGET_H
+
+/** Widgets of the WC_TRAINS_LIST / WC_ROADVEH_LIST / WC_SHIPS_LIST / WC_AIRCRAFT_LIST. */
+enum GroupListWidgets {
+ GRP_WIDGET_CAPTION,
+ GRP_WIDGET_SORT_BY_ORDER,
+ GRP_WIDGET_SORT_BY_DROPDOWN,
+ GRP_WIDGET_LIST_VEHICLE,
+ GRP_WIDGET_LIST_VEHICLE_SCROLLBAR,
+ GRP_WIDGET_AVAILABLE_VEHICLES,
+ GRP_WIDGET_MANAGE_VEHICLES_DROPDOWN,
+ GRP_WIDGET_STOP_ALL,
+ GRP_WIDGET_START_ALL,
+
+ GRP_WIDGET_ALL_VEHICLES,
+ GRP_WIDGET_DEFAULT_VEHICLES,
+ GRP_WIDGET_LIST_GROUP,
+ GRP_WIDGET_LIST_GROUP_SCROLLBAR,
+ GRP_WIDGET_CREATE_GROUP,
+ GRP_WIDGET_DELETE_GROUP,
+ GRP_WIDGET_RENAME_GROUP,
+ GRP_WIDGET_REPLACE_PROTECTION,
+};
+
+#endif /* WIDGETS_GROUP_WIDGET_H */
diff --git a/src/widgets/highscore_widget.h b/src/widgets/highscore_widget.h
new file mode 100644
index 000000000..f7cec2e8b
--- /dev/null
+++ b/src/widgets/highscore_widget.h
@@ -0,0 +1,20 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file highscore_widget.h Types related to the highscore widgets. */
+
+#ifndef WIDGETS_HIGHSCORE_WIDGET_H
+#define WIDGETS_HIGHSCORE_WIDGET_H
+
+/** Widgets of the WC_HIGHSCORE / WC_ENDSCREEN. */
+enum HighscoreWidgets {
+ HSW_BACKGROUND,
+};
+
+#endif /* WIDGETS_HIGHSCORE_WIDGET_H */
diff --git a/src/widgets/industry_widget.h b/src/widgets/industry_widget.h
new file mode 100644
index 000000000..9a4f5aa54
--- /dev/null
+++ b/src/widgets/industry_widget.h
@@ -0,0 +1,50 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file industry_widget.h Types related to the industry widgets. */
+
+#ifndef WIDGETS_INDUSTRY_WIDGET_H
+#define WIDGETS_INDUSTRY_WIDGET_H
+
+/** Widgets of the WC_BUILD_INDUSTRY. */
+enum DynamicPlaceIndustriesWidgets {
+ DPIW_MATRIX_WIDGET,
+ DPIW_SCROLLBAR,
+ DPIW_INFOPANEL,
+ DPIW_DISPLAY_WIDGET,
+ DPIW_FUND_WIDGET,
+};
+
+/** Widgets of the WC_INDUSTRY_VIEW. */
+enum IndustryViewWidgets {
+ IVW_CAPTION,
+ IVW_VIEWPORT,
+ IVW_INFO,
+ IVW_GOTO,
+ IVW_DISPLAY,
+};
+
+/** Widgets of the WC_INDUSTRY_DIRECTORY. */
+enum IndustryDirectoryWidgets {
+ IDW_DROPDOWN_ORDER,
+ IDW_DROPDOWN_CRITERIA,
+ IDW_INDUSTRY_LIST,
+ IDW_SCROLLBAR,
+};
+
+/** Widgets of the WC_INDUSTRY_CARGOES */
+enum IndustryCargoesWidgets {
+ ICW_CAPTION,
+ ICW_NOTIFY,
+ ICW_PANEL,
+ ICW_SCROLLBAR,
+};
+
+
+#endif /* WIDGETS_INDUSTRY_WIDGET_H */
diff --git a/src/widgets/intro_widget.h b/src/widgets/intro_widget.h
new file mode 100644
index 000000000..5b7de2252
--- /dev/null
+++ b/src/widgets/intro_widget.h
@@ -0,0 +1,38 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file intro_widget.h Types related to the intro widgets. */
+
+#ifndef WIDGETS_INTRO_WIDGET_H
+#define WIDGETS_INTRO_WIDGET_H
+
+/** Widgets of the WC_SELECT_GAME. */
+enum SelectGameIntroWidgets {
+ SGI_GENERATE_GAME,
+ SGI_LOAD_GAME,
+ SGI_PLAY_SCENARIO,
+ SGI_PLAY_HEIGHTMAP,
+ SGI_EDIT_SCENARIO,
+ SGI_PLAY_NETWORK,
+ SGI_TEMPERATE_LANDSCAPE,
+ SGI_ARCTIC_LANDSCAPE,
+ SGI_TROPIC_LANDSCAPE,
+ SGI_TOYLAND_LANDSCAPE,
+ SGI_TRANSLATION_SELECTION,
+ SGI_TRANSLATION,
+ SGI_OPTIONS,
+ SGI_DIFFICULTIES,
+ SGI_SETTINGS_OPTIONS,
+ SGI_GRF_SETTINGS,
+ SGI_CONTENT_DOWNLOAD,
+ SGI_AI_SETTINGS,
+ SGI_EXIT,
+};
+
+#endif /* WIDGETS_INTRO_WIDGET_H */
diff --git a/src/widgets/main_widget.h b/src/widgets/main_widget.h
new file mode 100644
index 000000000..823e62283
--- /dev/null
+++ b/src/widgets/main_widget.h
@@ -0,0 +1,20 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file main_widget.h Types related to the main widgets. */
+
+#ifndef WIDGETS_MAIN_WIDGET_H
+#define WIDGETS_MAIN_WIDGET_H
+
+/** Widgets of the WC_MAIN_WINDOW. */
+enum MainWindowWidgets {
+ MW_VIEWPORT, ///< Main window viewport.
+};
+
+#endif /* WIDGETS_MAIN_WIDGET_H */
diff --git a/src/widgets/misc_widget.h b/src/widgets/misc_widget.h
new file mode 100644
index 000000000..b446509e2
--- /dev/null
+++ b/src/widgets/misc_widget.h
@@ -0,0 +1,48 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file misc_widget.h Types related to the misc widgets. */
+
+#ifndef WIDGETS_MISC_WIDGET_H
+#define WIDGETS_MISC_WIDGET_H
+
+/** Widgets of the WC_LAND_INFO. */
+enum LandInfoWidgets {
+ LIW_BACKGROUND, ///< Background to draw on
+};
+
+/** Widgets of the WC_TOOLTIPS. */
+enum ToolTipsWidgets {
+ TTW_BACKGROUND, ///< Background to draw on
+};
+
+/** Widgets of the WC_GAME_OPTIONS (WC_GAME_OPTIONS is also used in others). */
+enum AboutWidgets {
+ AW_SCROLLING_TEXT, ///< The actually scrolling text
+ AW_WEBSITE, ///< URL of OpenTTD website
+};
+
+/** Widgets of the WC_QUERY_STRING (WC_QUERY_STRING is also used in QueryEditSignWidgets). */
+enum QueryStringWidgets {
+ QUERY_STR_WIDGET_CAPTION,
+ QUERY_STR_WIDGET_TEXT,
+ QUERY_STR_WIDGET_DEFAULT,
+ QUERY_STR_WIDGET_CANCEL,
+ QUERY_STR_WIDGET_OK
+};
+
+/** Widgets of the WC_CONFIRM_POPUP_QUERY (WC_CONFIRM_POPUP_QUERY is also used in BootstrapAskForDownloadWidgets). */
+enum QueryWidgets {
+ QUERY_WIDGET_CAPTION,
+ QUERY_WIDGET_TEXT,
+ QUERY_WIDGET_NO,
+ QUERY_WIDGET_YES
+};
+
+#endif /* WIDGETS_MISC_WIDGET_H */
diff --git a/src/widgets/music_widget.h b/src/widgets/music_widget.h
new file mode 100644
index 000000000..a74509c75
--- /dev/null
+++ b/src/widgets/music_widget.h
@@ -0,0 +1,53 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file music_widget.h Types related to the music widgets. */
+
+#ifndef WIDGETS_MUSIC_WIDGET_H
+#define WIDGETS_MUSIC_WIDGET_H
+
+/** Widgets of the WC_MUSIC_TRACK_SELECTION. */
+enum MusicTrackSelectionWidgets {
+ MTSW_LIST_LEFT,
+ MTSW_PLAYLIST,
+ MTSW_LIST_RIGHT,
+ MTSW_ALL,
+ MTSW_OLD,
+ MTSW_NEW,
+ MTSW_EZY,
+ MTSW_CUSTOM1,
+ MTSW_CUSTOM2,
+ MTSW_CLEAR,
+};
+
+/** Widgets of the WC_MUSIC_WINDOW. */
+enum MusicWidgets {
+ MW_PREV,
+ MW_NEXT,
+ MW_STOP,
+ MW_PLAY,
+ MW_SLIDERS,
+ MW_MUSIC_VOL,
+ MW_EFFECT_VOL,
+ MW_BACKGROUND,
+ MW_TRACK,
+ MW_TRACK_NR,
+ MW_TRACK_TITLE,
+ MW_TRACK_NAME,
+ MW_SHUFFLE,
+ MW_PROGRAMME,
+ MW_ALL,
+ MW_OLD,
+ MW_NEW,
+ MW_EZY,
+ MW_CUSTOM1,
+ MW_CUSTOM2,
+};
+
+#endif /* WIDGETS_MUSIC_WIDGET_H */
diff --git a/src/widgets/network_chat_widget.h b/src/widgets/network_chat_widget.h
new file mode 100644
index 000000000..d87a2d9fa
--- /dev/null
+++ b/src/widgets/network_chat_widget.h
@@ -0,0 +1,25 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file network_chat_widget.h Types related to the network chat widgets. */
+
+#ifndef WIDGETS_NETWORK_CHAT_WIDGET_H
+#define WIDGETS_NETWORK_CHAT_WIDGET_H
+
+/** Widgets of the WC_SEND_NETWORK_MSG. */
+enum NetWorkChatWidgets {
+ NWCW_CLOSE,
+ NWCW_BACKGROUND,
+ NWCW_DESTINATION,
+ NWCW_TEXTBOX,
+ NWCW_SENDBUTTON,
+};
+
+
+#endif /* WIDGETS_NETWORK_CHAT_WIDGET_H */
diff --git a/src/widgets/network_content_widget.h b/src/widgets/network_content_widget.h
new file mode 100644
index 000000000..c3a18cd9a
--- /dev/null
+++ b/src/widgets/network_content_widget.h
@@ -0,0 +1,47 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file network_content_widget.h Types related to the network content widgets. */
+
+#ifndef WIDGETS_NETWORK_CONTENT_WIDGET_H
+#define WIDGETS_NETWORK_CONTENT_WIDGET_H
+
+/** Widgets of the WC_NETWORK_STATUS_WINDOW (WC_NETWORK_STATUS_WINDOW is also used in NetworkJoinStatusWidgets). */
+enum NetworkContentDownloadStatusWindowWidgets {
+ NCDSWW_BACKGROUND, ///< Background
+ NCDSWW_CANCELOK, ///< (Optional) Cancel/OK button
+};
+
+/** Widgets of the WC_NETWORK_WINDOW (WC_NETWORK_WINDOW is also used in NetworkGameWindowWidgets, NetworkStartServerWidgets, and NetworkLobbyWindowWidgets). */
+enum NetworkContentListWindowWidgets {
+ NCLWW_BACKGROUND, ///< Resize button
+
+ NCLWW_FILTER_CAPT, ///< Caption for the filter editbox
+ NCLWW_FILTER, ///< Filter editbox
+
+ NCLWW_CHECKBOX, ///< Button above checkboxes
+ NCLWW_TYPE, ///< 'Type' button
+ NCLWW_NAME, ///< 'Name' button
+
+ NCLWW_MATRIX, ///< Panel with list of content
+ NCLWW_SCROLLBAR, ///< Scrollbar of matrix
+
+ NCLWW_DETAILS, ///< Panel with content details
+
+ NCLWW_SELECT_ALL, ///< 'Select all' button
+ NCLWW_SELECT_UPDATE, ///< 'Select updates' button
+ NCLWW_UNSELECT, ///< 'Unselect all' button
+ NCLWW_OPEN_URL, ///< 'Open url' button
+ NCLWW_CANCEL, ///< 'Cancel' button
+ NCLWW_DOWNLOAD, ///< 'Download' button
+
+ NCLWW_SEL_ALL_UPDATE, ///< #NWID_SELECTION widget for select all/update buttons.
+};
+
+#endif /* WIDGETS_NETWORK_CONTENT_WIDGET_H */
diff --git a/src/widgets/network_widget.h b/src/widgets/network_widget.h
new file mode 100644
index 000000000..7b5e09cf1
--- /dev/null
+++ b/src/widgets/network_widget.h
@@ -0,0 +1,128 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file network_widget.h Types related to the network widgets. */
+
+#ifndef WIDGETS_NETWORK_WIDGET_H
+#define WIDGETS_NETWORK_WIDGET_H
+
+/** Widgets of the WC_NETWORK_WINDOW (WC_NETWORK_WINDOW is also used in NetworkContentListWindowWidgets, NetworkStartServerWidgets, and NetworkLobbyWindowWidgets). */
+enum NetworkGameWindowWidgets {
+ NGWW_MAIN, ///< Main panel
+
+ NGWW_CONNECTION, ///< Label in front of connection droplist
+ NGWW_CONN_BTN, ///< 'Connection' droplist button
+ NGWW_CLIENT_LABEL, ///< Label in front of client name edit box
+ NGWW_CLIENT, ///< Panel with editbox to set client name
+
+ NGWW_HEADER, ///< Header container of the matrix
+ NGWW_NAME, ///< 'Name' button
+ NGWW_CLIENTS, ///< 'Clients' button
+ NGWW_MAPSIZE, ///< 'Map size' button
+ NGWW_DATE, ///< 'Date' button
+ NGWW_YEARS, ///< 'Years' button
+ NGWW_INFO, ///< Third button in the game list panel
+
+ NGWW_MATRIX, ///< Panel with list of games
+ NGWW_SCROLLBAR, ///< Scrollbar of matrix
+
+ NGWW_LASTJOINED_LABEL, ///< Label "Last joined server:"
+ NGWW_LASTJOINED, ///< Info about the last joined server
+ NGWW_LASTJOINED_SPACER, ///< Spacer after last joined server panel
+
+ NGWW_DETAILS, ///< Panel with game details
+ NGWW_DETAILS_SPACER, ///< Spacer for game actual details
+ NGWW_JOIN, ///< 'Join game' button
+ NGWW_REFRESH, ///< 'Refresh server' button
+ NGWW_NEWGRF, ///< 'NewGRF Settings' button
+ NGWW_NEWGRF_SEL, ///< Selection 'widget' to hide the NewGRF settings
+ NGWW_NEWGRF_MISSING, ///< 'Find missing NewGRF online' button
+ NGWW_NEWGRF_MISSING_SEL, ///< Selection widget for the above button
+
+ NGWW_FIND, ///< 'Find server' button
+ NGWW_ADD, ///< 'Add server' button
+ NGWW_START, ///< 'Start server' button
+ NGWW_CANCEL, ///< 'Cancel' button
+};
+
+/** Widgets of the WC_NETWORK_WINDOW (WC_NETWORK_WINDOW is also used in NetworkContentListWindowWidgets, NetworkGameWindowWidgets, and NetworkLobbyWindowWidgets). */
+enum NetworkStartServerWidgets {
+ NSSW_BACKGROUND,
+ NSSW_GAMENAME_LABEL,
+ NSSW_GAMENAME, ///< Background for editbox to set game name
+ NSSW_SETPWD, ///< 'Set password' button
+ NSSW_CONNTYPE_LABEL,
+ NSSW_CONNTYPE_BTN, ///< 'Connection type' droplist button
+ NSSW_CLIENTS_LABEL,
+ NSSW_CLIENTS_BTND, ///< 'Max clients' downarrow
+ NSSW_CLIENTS_TXT, ///< 'Max clients' text
+ NSSW_CLIENTS_BTNU, ///< 'Max clients' uparrow
+ NSSW_COMPANIES_LABEL,
+ NSSW_COMPANIES_BTND, ///< 'Max companies' downarrow
+ NSSW_COMPANIES_TXT, ///< 'Max companies' text
+ NSSW_COMPANIES_BTNU, ///< 'Max companies' uparrow
+ NSSW_SPECTATORS_LABEL,
+ NSSW_SPECTATORS_BTND, ///< 'Max spectators' downarrow
+ NSSW_SPECTATORS_TXT, ///< 'Max spectators' text
+ NSSW_SPECTATORS_BTNU, ///< 'Max spectators' uparrow
+
+ NSSW_LANGUAGE_LABEL,
+ NSSW_LANGUAGE_BTN, ///< 'Language spoken' droplist button
+
+ NSSW_GENERATE_GAME, ///< New game button
+ NSSW_LOAD_GAME, ///< Load game button
+ NSSW_PLAY_SCENARIO, ///< Play scenario button
+ NSSW_PLAY_HEIGHTMAP, ///< Play heightmap button
+
+ NSSW_CANCEL, ///< 'Cancel' button
+};
+
+/** Widgets of the WC_NETWORK_WINDOW (WC_NETWORK_WINDOW is also used in NetworkContentListWindowWidgets, NetworkGameWindowWidgets, and NetworkStartServerWidgets). */
+enum NetworkLobbyWindowWidgets {
+ NLWW_BACKGROUND, ///< Background panel
+ NLWW_TEXT, ///< Heading text
+ NLWW_HEADER, ///< Header above list of companies
+ NLWW_MATRIX, ///< List of companies
+ NLWW_SCROLLBAR, ///< Scroll bar
+ NLWW_DETAILS, ///< Company details
+ NLWW_JOIN, ///< 'Join company' button
+ NLWW_NEW, ///< 'New company' button
+ NLWW_SPECTATE, ///< 'Spectate game' button
+ NLWW_REFRESH, ///< 'Refresh server' button
+ NLWW_CANCEL, ///< 'Cancel' button
+};
+
+/** Widgets of the WC_CLIENT_LIST. */
+enum ClientListWidgets {
+ CLW_PANEL,
+};
+
+/** Widgets of the WC_CLIENT_LIST_POPUP. */
+enum ClientListPopupWidgets {
+ CLPW_PANEL,
+};
+
+/** Widgets of the WC_NETWORK_STATUS_WINDOW (WC_NETWORK_STATUS_WINDOW is also used in NetworkContentDownloadStatusWindowWidgets). */
+enum NetworkJoinStatusWidgets {
+ NJSW_BACKGROUND, ///< Background
+ NJSW_CANCELOK, ///< Cancel/OK button
+};
+
+/** Widgets of the WC_COMPANY_PASSWORD_WINDOW. */
+enum NetworkCompanyPasswordWindowWidgets {
+ NCPWW_BACKGROUND, ///< The background of the interface
+ NCPWW_LABEL, ///< Label in front of the password field
+ NCPWW_PASSWORD, ///< Input field for the password
+ NCPWW_SAVE_AS_DEFAULT_PASSWORD, ///< Toggle 'button' for saving the current password as default password
+ NCPWW_CANCEL, ///< Close the window without changing anything
+ NCPWW_OK, ///< Safe the password etc.
+};
+
+
+#endif /* WIDGETS_NETWORK_WIDGET_H */
diff --git a/src/widgets/newgrf_debug_widget.h b/src/widgets/newgrf_debug_widget.h
new file mode 100644
index 000000000..2ae0b8ec8
--- /dev/null
+++ b/src/widgets/newgrf_debug_widget.h
@@ -0,0 +1,40 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file newgrf_debug_widget.h Types related to the newgrf debug widgets. */
+
+#ifndef WIDGETS_NEWGRF_DEBUG_WIDGET_H
+#define WIDGETS_NEWGRF_DEBUG_WIDGET_H
+
+/** Widgets of the WC_NEWGRF_INSPECT. */
+enum NewGRFInspectWidgets {
+ NIW_CAPTION, ///< The caption bar ofcourse
+ NIW_PARENT, ///< Inspect the parent
+ NIW_MAINPANEL, ///< Panel widget containing the actual data
+ NIW_SCROLLBAR, ///< Scrollbar
+};
+
+/** Widgets of the WC_SPRITE_ALIGNER. */
+enum SpriteAlignerWidgets {
+ SAW_CAPTION, ///< Caption of the window
+ SAW_PREVIOUS, ///< Skip to the previous sprite
+ SAW_GOTO, ///< Go to a given sprite
+ SAW_NEXT, ///< Skip to the next sprite
+ SAW_UP, ///< Move the sprite up
+ SAW_LEFT, ///< Move the sprite to the left
+ SAW_RIGHT, ///< Move the sprite to the right
+ SAW_DOWN, ///< Move the sprite down
+ SAW_SPRITE, ///< The actual sprite
+ SAW_OFFSETS, ///< The sprite offsets
+ SAW_PICKER, ///< Sprite picker
+ SAW_LIST, ///< Queried sprite list
+ SAW_SCROLLBAR,///< Scrollbar for sprite list
+};
+
+#endif /* WIDGETS_NEWGRF_DEBUG_WIDGET_H */
diff --git a/src/widgets/newgrf_widget.h b/src/widgets/newgrf_widget.h
new file mode 100644
index 000000000..d76d3019b
--- /dev/null
+++ b/src/widgets/newgrf_widget.h
@@ -0,0 +1,73 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file newgrf_widget.h Types related to the newgrf widgets. */
+
+#ifndef WIDGETS_NEWGRF_WIDGET_H
+#define WIDGETS_NEWGRF_WIDGET_H
+
+/** Widgets of the WC_GRF_PARAMETERS. */
+enum ShowNewGRFParametersWidgets {
+ GRFPAR_WIDGET_SHOW_NUMPAR, ///< #NWID_SELECTION to optionally display #GRFPAR_WIDGET_NUMPAR
+ GRFPAR_WIDGET_NUMPAR_DEC, ///< Button to decrease number of parameters
+ GRFPAR_WIDGET_NUMPAR_INC, ///< Button to increase number of parameters
+ GRFPAR_WIDGET_NUMPAR, ///< Optional number of parameters
+ GRFPAR_WIDGET_NUMPAR_TEXT, ///< Text description
+ GRFPAR_WIDGET_BACKGROUND, ///< Panel to draw the settings on
+ GRFPAR_WIDGET_SCROLLBAR, ///< Scrollbar to scroll through all settings
+ GRFPAR_WIDGET_ACCEPT, ///< Accept button
+ GRFPAR_WIDGET_RESET, ///< Reset button
+ GRFPAR_WIDGET_SHOW_DESCRIPTION, ///< #NWID_SELECTION to optionally display parameter descriptions
+ GRFPAR_WIDGET_DESCRIPTION, ///< Multi-line description of a parameter
+};
+
+/** Widgets of the WC_NEWGRF_TEXTFILE. */
+enum ShowNewGRFTextfileWidgets {
+ GTW_WIDGET_CAPTION, ///< The caption of the window.
+ GTW_WIDGET_BACKGROUND, ///< Panel to draw the textfile on.
+ GTW_WIDGET_VSCROLLBAR, ///< Vertical scrollbar to scroll through the textfile up-and-down.
+ GTW_WIDGET_HSCROLLBAR, ///< Horizontal scrollbar to scroll through the textfile left-to-right.
+};
+
+/** Widgets of the WC_GAME_OPTIONS (WC_GAME_OPTIONS is also used in others). */
+enum ShowNewGRFStateWidgets {
+ SNGRFS_PRESET_LIST,
+ SNGRFS_PRESET_SAVE,
+ SNGRFS_PRESET_DELETE,
+ SNGRFS_ADD,
+ SNGRFS_REMOVE,
+ SNGRFS_MOVE_UP,
+ SNGRFS_MOVE_DOWN,
+ SNGRFS_FILTER,
+ SNGRFS_FILE_LIST,
+ SNGRFS_SCROLLBAR,
+ SNGRFS_AVAIL_LIST,
+ SNGRFS_SCROLL2BAR,
+ SNGRFS_NEWGRF_INFO_TITLE,
+ SNGRFS_NEWGRF_INFO,
+ SNGRFS_OPEN_URL,
+ SNGRFS_NEWGRF_TEXTFILE,
+ SNGRFS_SET_PARAMETERS = SNGRFS_NEWGRF_TEXTFILE + TFT_END,
+ SNGRFS_TOGGLE_PALETTE,
+ SNGRFS_APPLY_CHANGES,
+ SNGRFS_RESCAN_FILES,
+ SNGRFS_RESCAN_FILES2,
+ SNGRFS_CONTENT_DOWNLOAD,
+ SNGRFS_CONTENT_DOWNLOAD2,
+ SNGRFS_SHOW_REMOVE, ///< Select active list buttons (0 = normal, 1 = simple layout).
+ SNGRFS_SHOW_APPLY, ///< Select display of the buttons below the 'details'.
+};
+
+/** Widgets of the WC_MODAL_PROGRESS (WC_MODAL_PROGRESS is also used in GenerationProgressWindowWidgets). */
+enum ScanProgressWindowWidgets {
+ SPWW_PROGRESS_BAR, ///< Simple progress bar.
+ GPWW_PROGRESS_TEXT, ///< Text explaining what is happening.
+};
+
+#endif /* WIDGETS_NEWGRF_WIDGET_H */
diff --git a/src/widgets/news_widget.h b/src/widgets/news_widget.h
new file mode 100644
index 000000000..5326188a1
--- /dev/null
+++ b/src/widgets/news_widget.h
@@ -0,0 +1,70 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file news_widget.h Types related to the news widgets. */
+
+#ifndef WIDGETS_NEWS_WIDGET_H
+#define WIDGETS_NEWS_WIDGET_H
+
+/** Constants in the message options window. */
+enum MessageOptionsSpace {
+ MOS_WIDG_PER_SETTING = 4, ///< Number of widgets needed for each news category, starting at widget #WIDGET_NEWSOPT_START_OPTION.
+
+ MOS_LEFT_EDGE = 6, ///< Number of pixels between left edge of the window and the options buttons column.
+ MOS_COLUMN_SPACING = 4, ///< Number of pixels between the buttons and the description columns.
+ MOS_RIGHT_EDGE = 6, ///< Number of pixels between right edge of the window and the options descriptions column.
+ MOS_BUTTON_SPACE = 10, ///< Additional space in the button with the option value (for better looks).
+
+ MOS_ABOVE_GLOBAL_SETTINGS = 6, ///< Number of vertical pixels between the categories and the global options.
+ MOS_BOTTOM_EDGE = 6, ///< Number of pixels between bottom edge of the window and bottom of the global options.
+};
+
+
+/** Widgets of the WC_NEWS_WINDOW. */
+enum NewsTypeWidgets {
+ NTW_PANEL, ///< The news item background panel.
+ NTW_TITLE, ///< Title of the company news.
+ NTW_HEADLINE, ///< The news headline.
+ NTW_CLOSEBOX, ///< Close the window.
+ NTW_DATE, ///< Date of the news item.
+ NTW_CAPTION, ///< Title bar of the window. Only used in small news items.
+ NTW_INSET, ///< Inset around the viewport in the window. Only used in small news items.
+ NTW_VIEWPORT, ///< Viewport in the window.
+ NTW_COMPANY_MSG, ///< Message in company news items.
+ NTW_MESSAGE, ///< Space for displaying the message. Only used in small news items.
+ NTW_MGR_FACE, ///< Face of the manager.
+ NTW_MGR_NAME, ///< Name of the manager.
+ NTW_VEH_TITLE, ///< Vehicle new title.
+ NTW_VEH_BKGND, ///< Dark background of new vehicle news.
+ NTW_VEH_NAME, ///< Name of the new vehicle.
+ NTW_VEH_SPR, ///< Graphical display of the new vehicle.
+ NTW_VEH_INFO, ///< Some technical data of the new vehicle.
+};
+
+/** Widgets of the WC_MESSAGE_HISTORY. */
+enum MessageHistoryWidgets {
+ MHW_STICKYBOX,
+ MHW_BACKGROUND,
+ MHW_SCROLLBAR,
+};
+
+/** Widgets of the WC_GAME_OPTIONS (WC_GAME_OPTIONS is also used in others). */
+enum MessageOptionWidgets {
+ WIDGET_NEWSOPT_BACKGROUND, ///< Background widget.
+ WIDGET_NEWSOPT_LABEL, ///< Top label.
+ WIDGET_NEWSOPT_DROP_SUMMARY, ///< Dropdown that adjusts at once the level for all settings.
+ WIDGET_NEWSOPT_LABEL_SUMMARY, ///< Label of the summary drop down.
+ WIDGET_NEWSOPT_SOUNDTICKER, ///< Button for (de)activating sound on events.
+ WIDGET_NEWSOPT_SOUNDTICKER_LABEL, ///< Label of the soundticker button,
+
+ WIDGET_NEWSOPT_START_OPTION, ///< First widget that is part of a group [<][label][>] [description]
+ WIDGET_NEWSOPT_END_OPTION = WIDGET_NEWSOPT_START_OPTION + NT_END * MOS_WIDG_PER_SETTING, ///< First widget after the groups.
+};
+
+#endif /* WIDGETS_NEWS_WIDGET_H */
diff --git a/src/widgets/object_widget.h b/src/widgets/object_widget.h
new file mode 100644
index 000000000..fd2eb3328
--- /dev/null
+++ b/src/widgets/object_widget.h
@@ -0,0 +1,29 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file object_widget.h Types related to the object widgets. */
+
+#ifndef WIDGETS_OBJECT_WIDGET_H
+#define WIDGETS_OBJECT_WIDGET_H
+
+/** Widgets of the WC_BUILD_OBJECT. */
+enum BuildObjectWidgets {
+ BOW_CLASS_LIST, ///< The list with classes.
+ BOW_SCROLLBAR, ///< The scrollbar associated with the list.
+ BOW_OBJECT_MATRIX, ///< The matrix with preview sprites.
+ BOW_OBJECT_SPRITE, ///< A preview sprite of the object.
+ BOW_OBJECT_SIZE, ///< The size of an object.
+ BOW_INFO, ///< Other information about the object (from the NewGRF).
+
+ BOW_SELECT_MATRIX, ///< Selection preview matrix of objects of a given class.
+ BOW_SELECT_IMAGE, ///< Preview image in the #BOW_SELECT_MATRIX.
+ BOW_SELECT_SCROLL, ///< Scrollbar next to the #BOW_SELECT_MATRIX.
+};
+
+#endif /* WIDGETS_OBJECT_WIDGET_H */
diff --git a/src/widgets/order_widget.h b/src/widgets/order_widget.h
new file mode 100644
index 000000000..f753456d6
--- /dev/null
+++ b/src/widgets/order_widget.h
@@ -0,0 +1,44 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file order_widget.h Types related to the order widgets. */
+
+#ifndef WIDGETS_ORDER_WIDGET_H
+#define WIDGETS_ORDER_WIDGET_H
+
+/** Widgets of the WC_VEHICLE_ORDERS. */
+enum OrderWindowWidgets {
+ ORDER_WIDGET_CAPTION,
+ ORDER_WIDGET_TIMETABLE_VIEW,
+ ORDER_WIDGET_ORDER_LIST,
+ ORDER_WIDGET_SCROLLBAR,
+ ORDER_WIDGET_SKIP,
+ ORDER_WIDGET_DELETE,
+ ORDER_WIDGET_STOP_SHARING,
+ ORDER_WIDGET_NON_STOP,
+ ORDER_WIDGET_GOTO,
+ ORDER_WIDGET_FULL_LOAD,
+ ORDER_WIDGET_UNLOAD,
+ ORDER_WIDGET_REFIT,
+ ORDER_WIDGET_SERVICE,
+ ORDER_WIDGET_EMPTY,
+ ORDER_WIDGET_REFIT_DROPDOWN,
+ ORDER_WIDGET_COND_VARIABLE,
+ ORDER_WIDGET_COND_COMPARATOR,
+ ORDER_WIDGET_COND_VALUE,
+ ORDER_WIDGET_SEL_TOP_LEFT, ///< #NWID_SELECTION widget for left part of the top row of the 'your train' order window.
+ ORDER_WIDGET_SEL_TOP_MIDDLE, ///< #NWID_SELECTION widget for middle part of the top row of the 'your train' order window.
+ ORDER_WIDGET_SEL_TOP_RIGHT, ///< #NWID_SELECTION widget for right part of the top row of the 'your train' order window.
+ ORDER_WIDGET_SEL_TOP_ROW_GROUNDVEHICLE, ///< #NWID_SELECTION widget for the top row of the 'your train' order window.
+ ORDER_WIDGET_SEL_TOP_ROW, ///< #NWID_SELECTION widget for the top row of the 'your non-trains' order window.
+ ORDER_WIDGET_SEL_BOTTOM_MIDDLE, ///< #NWID_SELECTION widget for the middle part of the bottom row of the 'your train' order window.
+ ORDER_WIDGET_SHARED_ORDER_LIST,
+};
+
+#endif /* WIDGETS_ORDER_WIDGET_H */
diff --git a/src/widgets/osk_widget.h b/src/widgets/osk_widget.h
new file mode 100644
index 000000000..9512af821
--- /dev/null
+++ b/src/widgets/osk_widget.h
@@ -0,0 +1,43 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file osk_widget.h Types related to the osk widgets. */
+
+#ifndef WIDGETS_OSK_WIDGET_H
+#define WIDGETS_OSK_WIDGET_H
+
+/** Widgets of the WC_OSK. */
+enum OskWidgets {
+ OSK_WIDGET_CAPTION, ///< Title bar.
+ OSK_WIDGET_TEXT, ///< Edit box.
+ OSK_WIDGET_CANCEL, ///< Cancel key.
+ OSK_WIDGET_OK, ///< Ok key.
+ OSK_WIDGET_BACKSPACE, ///< Backspace key.
+ OSK_WIDGET_SPECIAL, ///< Special key (at keyborads often used for tab key).
+ OSK_WIDGET_CAPS, ///< Capslock key.
+ OSK_WIDGET_SHIFT, ///< Shift(lock) key.
+ OSK_WIDGET_SPACE, ///< Space bar.
+ OSK_WIDGET_LEFT, ///< Cursor left key.
+ OSK_WIDGET_RIGHT, ///< Cursor right key.
+ OSK_WIDGET_LETTERS, ///< First widget of the 'normal' keys.
+
+ OSK_WIDGET_NUMBERS_FIRST = OSK_WIDGET_LETTERS, ///< First widget of the numbers row.
+ OSK_WIDGET_NUMBERS_LAST = OSK_WIDGET_NUMBERS_FIRST + 13, ///< Last widget of the numbers row.
+
+ OSK_WIDGET_QWERTY_FIRST, ///< First widget of the qwerty row.
+ OSK_WIDGET_QWERTY_LAST = OSK_WIDGET_QWERTY_FIRST + 11, ///< Last widget of the qwerty row.
+
+ OSK_WIDGET_ASDFG_FIRST, ///< First widget of the asdfg row.
+ OSK_WIDGET_ASDFG_LAST = OSK_WIDGET_ASDFG_FIRST + 11, ///< Last widget of the asdfg row.
+
+ OSK_WIDGET_ZXCVB_FIRST, ///< First widget of the zxcvb row.
+ OSK_WIDGET_ZXCVB_LAST = OSK_WIDGET_ZXCVB_FIRST + 11, ///< Last widget of the zxcvb row.
+};
+
+#endif /* WIDGETS_OSK_WIDGET_H */
diff --git a/src/widgets/rail_widget.h b/src/widgets/rail_widget.h
new file mode 100644
index 000000000..ebf3b2584
--- /dev/null
+++ b/src/widgets/rail_widget.h
@@ -0,0 +1,112 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file rail_widget.h Types related to the rail widgets. */
+
+#ifndef WIDGETS_RAIL_WIDGET_H
+#define WIDGETS_RAIL_WIDGET_H
+
+/** Widgets of the WC_BUILD_TOOLBAR (WC_BUILD_TOOLBAR is also used in others). */
+enum RailToolbarWidgets {
+ RTW_CAPTION,
+ RTW_BUILD_NS,
+ RTW_BUILD_X,
+ RTW_BUILD_EW,
+ RTW_BUILD_Y,
+ RTW_AUTORAIL,
+ RTW_DEMOLISH,
+ RTW_BUILD_DEPOT,
+ RTW_BUILD_WAYPOINT,
+ RTW_BUILD_STATION,
+ RTW_BUILD_SIGNALS,
+ RTW_BUILD_BRIDGE,
+ RTW_BUILD_TUNNEL,
+ RTW_REMOVE,
+ RTW_CONVERT_RAIL,
+};
+
+/** Widgets of the WC_BUILD_STATION (WC_BUILD_STATION is also used in others). */
+enum BuildRailStationWidgets {
+ BRSW_PLATFORM_DIR_X, ///< Button to select '/' view.
+ BRSW_PLATFORM_DIR_Y, ///< Button to select '\' view.
+
+ BRSW_PLATFORM_NUM_1, ///< Button to select stations with a single platform.
+ BRSW_PLATFORM_NUM_2, ///< Button to select stations with 2 platforms.
+ BRSW_PLATFORM_NUM_3, ///< Button to select stations with 3 platforms.
+ BRSW_PLATFORM_NUM_4, ///< Button to select stations with 4 platforms.
+ BRSW_PLATFORM_NUM_5, ///< Button to select stations with 5 platforms.
+ BRSW_PLATFORM_NUM_6, ///< Button to select stations with 6 platforms.
+ BRSW_PLATFORM_NUM_7, ///< Button to select stations with 7 platforms.
+
+ BRSW_PLATFORM_LEN_1, ///< Button to select single tile length station platforms.
+ BRSW_PLATFORM_LEN_2, ///< Button to select 2 tiles length station platforms.
+ BRSW_PLATFORM_LEN_3, ///< Button to select 3 tiles length station platforms.
+ BRSW_PLATFORM_LEN_4, ///< Button to select 4 tiles length station platforms.
+ BRSW_PLATFORM_LEN_5, ///< Button to select 5 tiles length station platforms.
+ BRSW_PLATFORM_LEN_6, ///< Button to select 6 tiles length station platforms.
+ BRSW_PLATFORM_LEN_7, ///< Button to select 7 tiles length station platforms.
+
+ BRSW_PLATFORM_DRAG_N_DROP, ///< Button to enable drag and drop type station placement.
+
+ BRSW_HIGHLIGHT_OFF, ///< Button for turning coverage highlighting off.
+ BRSW_HIGHLIGHT_ON, ///< Button for turning coverage highlighting on.
+ BRSW_COVERAGE_TEXTS, ///< Empty space for the coverage texts.
+
+ BRSW_MATRIX, ///< Matrix widget displaying the available stations.
+ BRSW_IMAGE, ///< Panel used at each cell of the matrix.
+ BRSW_MATRIX_SCROLL, ///< Scrollbar of the matrix widget.
+
+ BRSW_SHOW_NEWST_ADDITIONS, ///< Selection for newstation class selection list.
+ BRSW_SHOW_NEWST_MATRIX, ///< Selection for newstation image matrix.
+ BRSW_SHOW_NEWST_RESIZE, ///< Selection for panel and resize at bottom right for newstation.
+ BRSW_SHOW_NEWST_TYPE, ///< Display of selected station type.
+ BRSW_NEWST_LIST, ///< List with available newstation classes.
+ BRSW_NEWST_SCROLL, ///< Scrollbar of the #BRSW_NEWST_LIST.
+
+ BRSW_PLATFORM_NUM_BEGIN = BRSW_PLATFORM_NUM_1 - 1,
+ BRSW_PLATFORM_LEN_BEGIN = BRSW_PLATFORM_LEN_1 - 1,
+};
+
+/** Widgets of the WC_BUILD_SIGNAL. */
+enum BuildSignalWidgets {
+ BSW_SEMAPHORE_NORM,
+ BSW_SEMAPHORE_ENTRY,
+ BSW_SEMAPHORE_EXIT,
+ BSW_SEMAPHORE_COMBO,
+ BSW_SEMAPHORE_PBS,
+ BSW_SEMAPHORE_PBS_OWAY,
+ BSW_ELECTRIC_NORM,
+ BSW_ELECTRIC_ENTRY,
+ BSW_ELECTRIC_EXIT,
+ BSW_ELECTRIC_COMBO,
+ BSW_ELECTRIC_PBS,
+ BSW_ELECTRIC_PBS_OWAY,
+ BSW_CONVERT,
+ BSW_DRAG_SIGNALS_DENSITY,
+ BSW_DRAG_SIGNALS_DENSITY_LABEL,
+ BSW_DRAG_SIGNALS_DENSITY_DECREASE,
+ BSW_DRAG_SIGNALS_DENSITY_INCREASE,
+};
+
+/** Widgets of the WC_BUILD_DEPOT (WC_BUILD_DEPOT is also used in others). */
+enum BuildRailDepotWidgets {
+ BRDW_DEPOT_NE,
+ BRDW_DEPOT_SE,
+ BRDW_DEPOT_SW,
+ BRDW_DEPOT_NW,
+};
+
+/** Widgets of the WC_BUILD_DEPOT (WC_BUILD_DEPOT is also used in others). */
+enum BuildRailWaypointWidgets {
+ BRWW_WAYPOINT_MATRIX,
+ BRWW_WAYPOINT,
+ BRWW_SCROLL,
+};
+
+#endif /* WIDGETS_RAIL_WIDGET_H */
diff --git a/src/widgets/road_widget.h b/src/widgets/road_widget.h
new file mode 100644
index 000000000..f2e5f54ca
--- /dev/null
+++ b/src/widgets/road_widget.h
@@ -0,0 +1,54 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file road_widget.h Types related to the road widgets. */
+
+#ifndef WIDGETS_ROAD_WIDGET_H
+#define WIDGETS_ROAD_WIDGET_H
+
+/** Widgets of the WC_SCEN_BUILD_TOOLBAR / WC_BUILD_TOOLBAR (WC_SCEN_BUILD_TOOLBAR / WC_BUILD_TOOLBAR is also used in others). */
+enum RoadToolbarWidgets {
+ RTW_ROAD_X,
+ RTW_ROAD_Y,
+ RTW_AUTOROAD,
+ RTW_DEMOLISH,
+ RTW_DEPOT,
+ RTW_BUS_STATION,
+ RTW_TRUCK_STATION,
+ RTW_ONE_WAY,
+ RTW_BUILD_BRIDGE,
+ RTW_BUILD_TUNNEL,
+ RTW_REMOVE,
+};
+
+/** Widgets of the WC_BUILD_DEPOT (WC_BUILD_DEPOT is also used in others). */
+enum BuildRoadDepotWidgets {
+ BRDW_CAPTION,
+ BRDW_DEPOT_NE,
+ BRDW_DEPOT_SE,
+ BRDW_DEPOT_SW,
+ BRDW_DEPOT_NW,
+};
+
+/** Widgets of the WC_BUS_STATION / WC_TRUCK_STATION. */
+enum BuildRoadStationWidgets {
+ BRSW_CAPTION,
+ BRSW_BACKGROUND,
+ BRSW_STATION_NE,
+ BRSW_STATION_SE,
+ BRSW_STATION_SW,
+ BRSW_STATION_NW,
+ BRSW_STATION_X,
+ BRSW_STATION_Y,
+ BRSW_LT_OFF,
+ BRSW_LT_ON,
+ BRSW_INFO,
+};
+
+#endif /* WIDGETS_ROAD_WIDGET_H */
diff --git a/src/widgets/settings_widget.h b/src/widgets/settings_widget.h
new file mode 100644
index 000000000..9eb5bf4f4
--- /dev/null
+++ b/src/widgets/settings_widget.h
@@ -0,0 +1,73 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file settings_widget.h Types related to the settings widgets. */
+
+#ifndef WIDGETS_SETTINGS_WIDGET_H
+#define WIDGETS_SETTINGS_WIDGET_H
+
+/** Widgets of the WC_GAME_OPTIONS (WC_GAME_OPTIONS is also used in others). */
+enum GameOptionsWidgets {
+ GOW_BACKGROUND, ///< Background of the window
+ GOW_CURRENCY_DROPDOWN, ///< Currency dropdown
+ GOW_DISTANCE_DROPDOWN, ///< Measuring unit dropdown
+ GOW_ROADSIDE_DROPDOWN, ///< Dropdown to select the road side (to set the right side ;))
+ GOW_TOWNNAME_DROPDOWN, ///< Town name dropdown
+ GOW_AUTOSAVE_DROPDOWN, ///< Dropdown to say how often to autosave
+ GOW_LANG_DROPDOWN, ///< Language dropdown
+ GOW_RESOLUTION_DROPDOWN, ///< Dropdown for the resolution
+ GOW_FULLSCREEN_BUTTON, ///< Toggle fullscreen
+ GOW_SCREENSHOT_DROPDOWN, ///< Select the screenshot type... please use PNG!
+ GOW_BASE_GRF_DROPDOWN, ///< Use to select a base GRF
+ GOW_BASE_GRF_STATUS, ///< Info about missing files etc.
+ GOW_BASE_GRF_DESCRIPTION, ///< Description of selected base GRF
+ GOW_BASE_SFX_DROPDOWN, ///< Use to select a base SFX
+ GOW_BASE_SFX_DESCRIPTION, ///< Description of selected base SFX
+ GOW_BASE_MUSIC_DROPDOWN, ///< Use to select a base music set
+ GOW_BASE_MUSIC_STATUS, ///< Info about corrupted files etc.
+ GOW_BASE_MUSIC_DESCRIPTION, ///< Description of selected base music set
+};
+
+/** Widgets of the WC_GAME_OPTIONS (WC_GAME_OPTIONS is also used in others). */
+enum GameDifficultyWidgets {
+ GDW_LVL_EASY,
+ GDW_LVL_MEDIUM,
+ GDW_LVL_HARD,
+ GDW_LVL_CUSTOM,
+ GDW_HIGHSCORE,
+ GDW_ACCEPT,
+ GDW_CANCEL,
+
+ GDW_OPTIONS_START,
+};
+
+/** Widgets of the WC_GAME_OPTIONS (WC_GAME_OPTIONS is also used in others). */
+enum GameSettingsWidgets {
+ SETTINGSEL_OPTIONSPANEL, ///< Panel widget containing the option lists
+ SETTINGSEL_SCROLLBAR, ///< Scrollbar
+};
+
+/** Widgets of the WC_CUSTOM_CURRENCY. */
+enum CustomCurrencyWidgets {
+ CUSTCURR_RATE_DOWN,
+ CUSTCURR_RATE_UP,
+ CUSTCURR_RATE,
+ CUSTCURR_SEPARATOR_EDIT,
+ CUSTCURR_SEPARATOR,
+ CUSTCURR_PREFIX_EDIT,
+ CUSTCURR_PREFIX,
+ CUSTCURR_SUFFIX_EDIT,
+ CUSTCURR_SUFFIX,
+ CUSTCURR_YEAR_DOWN,
+ CUSTCURR_YEAR_UP,
+ CUSTCURR_YEAR,
+ CUSTCURR_PREVIEW,
+};
+
+#endif /* WIDGETS_SETTINGS_WIDGET_H */
diff --git a/src/widgets/sign_widget.h b/src/widgets/sign_widget.h
new file mode 100644
index 000000000..0163334cc
--- /dev/null
+++ b/src/widgets/sign_widget.h
@@ -0,0 +1,36 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file sign_widget.h Types related to the sign widgets. */
+
+#ifndef WIDGETS_SIGN_WIDGET_H
+#define WIDGETS_SIGN_WIDGET_H
+
+/** Widgets of the WC_SIGN_LIST. */
+enum SignListWidgets {
+ SLW_CAPTION,
+ SLW_LIST,
+ SLW_SCROLLBAR,
+ SLW_FILTER_TEXT, ///< Text box for typing a filter string
+ SLW_FILTER_MATCH_CASE_BTN, ///< Button to toggle if case sensitive filtering should be used
+ SLW_FILTER_CLEAR_BTN, ///< Button to clear the filter
+};
+
+/** Widgets of the WC_QUERY_STRING (WC_QUERY_STRING is also used in QueryStringWidgets). */
+enum QueryEditSignWidgets {
+ QUERY_EDIT_SIGN_WIDGET_CAPTION,
+ QUERY_EDIT_SIGN_WIDGET_TEXT,
+ QUERY_EDIT_SIGN_WIDGET_OK,
+ QUERY_EDIT_SIGN_WIDGET_CANCEL,
+ QUERY_EDIT_SIGN_WIDGET_DELETE,
+ QUERY_EDIT_SIGN_WIDGET_PREVIOUS,
+ QUERY_EDIT_SIGN_WIDGET_NEXT,
+};
+
+#endif /* */
diff --git a/src/widgets/smallmap_widget.h b/src/widgets/smallmap_widget.h
new file mode 100644
index 000000000..c23163ba3
--- /dev/null
+++ b/src/widgets/smallmap_widget.h
@@ -0,0 +1,37 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file smallmap_widget.h Types related to the smallmap widgets. */
+
+#ifndef WIDGETS_SMALLMAP_WIDGET_H
+#define WIDGETS_SMALLMAP_WIDGET_H
+
+/** Widgets of the WC_SMALLMAP. */
+enum SmallMapWindowWidgets {
+ SM_WIDGET_CAPTION, ///< Caption widget.
+ SM_WIDGET_MAP_BORDER, ///< Border around the smallmap.
+ SM_WIDGET_MAP, ///< Panel containing the smallmap.
+ SM_WIDGET_LEGEND, ///< Bottom panel to display smallmap legends.
+ SM_WIDGET_ZOOM_IN, ///< Button to zoom in one step.
+ SM_WIDGET_ZOOM_OUT, ///< Button to zoom out one step.
+ SM_WIDGET_CONTOUR, ///< Button to select the contour view (height map).
+ SM_WIDGET_VEHICLES, ///< Button to select the vehicles view.
+ SM_WIDGET_INDUSTRIES, ///< Button to select the industries view.
+ SM_WIDGET_ROUTES, ///< Button to select the routes view.
+ SM_WIDGET_VEGETATION, ///< Button to select the vegetation view.
+ SM_WIDGET_OWNERS, ///< Button to select the owners view.
+ SM_WIDGET_CENTERMAP, ///< Button to move smallmap center to main window center.
+ SM_WIDGET_TOGGLETOWNNAME, ///< Toggle button to display town names.
+ SM_WIDGET_SELECT_BUTTONS, ///< Selection widget for the buttons present in some smallmap modes.
+ SM_WIDGET_ENABLE_ALL, ///< Button to enable display of all legend entries.
+ SM_WIDGET_DISABLE_ALL, ///< Button to disable display of all legend entries.
+ SM_WIDGET_SHOW_HEIGHT, ///< Show heightmap toggle button.
+};
+
+#endif /* WIDGETS_SMALLPAM_WIDGET_H */
diff --git a/src/widgets/station_widget.h b/src/widgets/station_widget.h
new file mode 100644
index 000000000..67a60f54d
--- /dev/null
+++ b/src/widgets/station_widget.h
@@ -0,0 +1,62 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file station_widget.h Types related to the station widgets. */
+
+#ifndef WIDGETS_STATION_WIDGET_H
+#define WIDGETS_STATION_WIDGET_H
+
+/** Widgets of the WC_STATION_VIEW. */
+enum StationViewWidgets {
+ SVW_CAPTION = 0, ///< Caption of the window
+ SVW_WAITING = 1, ///< List of waiting cargo
+ SVW_SCROLLBAR = 2, ///< Scrollbar
+ SVW_ACCEPTLIST = 3, ///< List of accepted cargoes
+ SVW_RATINGLIST = 3, ///< Ratings of cargoes
+ SVW_LOCATION = 4, ///< 'Location' button
+ SVW_RATINGS = 5, ///< 'Ratings' button
+ SVW_ACCEPTS = 5, ///< 'Accepts' button
+ SVW_RENAME = 6, ///< 'Rename' button
+ SVW_TRAINS = 7, ///< List of scheduled trains button
+ SVW_ROADVEHS, ///< List of scheduled road vehs button
+ SVW_SHIPS, ///< List of scheduled ships button
+ SVW_PLANES, ///< List of scheduled planes button
+};
+
+/** Widgets of the WC_STATION_LIST. */
+enum StationListWidgets {
+ SLW_CAPTION, ///< Window caption
+ SLW_LIST, ///< The main panel, list of stations
+ SLW_SCROLLBAR, ///< Scrollbar next to the main panel
+
+ /* Vehicletypes need to be in order of StationFacility due to bit magic */
+ SLW_TRAIN, ///< 'TRAIN' button - list only facilities where is a railroad station
+ SLW_TRUCK, ///< 'TRUCK' button - list only facilities where is a truck stop
+ SLW_BUS, ///< 'BUS' button - list only facilities where is a bus stop
+ SLW_AIRPLANE, ///< 'AIRPLANE' button - list only facilities where is an airport
+ SLW_SHIP, ///< 'SHIP' button - list only facilities where is a dock
+ SLW_FACILALL, ///< 'ALL' button - list all facilities
+
+ SLW_NOCARGOWAITING, ///< 'NO' button - list stations where no cargo is waiting
+ SLW_CARGOALL, ///< 'ALL' button - list all stations
+
+ SLW_SORTBY, ///< 'Sort by' button - reverse sort direction
+ SLW_SORTDROPBTN, ///< Dropdown button
+
+ SLW_CARGOSTART, ///< Widget numbers used for list of cargo types (not present in _company_stations_widgets)
+};
+
+/** Widgets of the WC_SELECT_STATION. */
+enum JoinStationWidgets {
+ JSW_WIDGET_CAPTION,
+ JSW_PANEL,
+ JSW_SCROLLBAR,
+};
+
+#endif /* WIDGETS_STATION_WIDGET_H */
diff --git a/src/widgets/statusbar_widget.h b/src/widgets/statusbar_widget.h
new file mode 100644
index 000000000..50094f0fa
--- /dev/null
+++ b/src/widgets/statusbar_widget.h
@@ -0,0 +1,22 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file statusbar_widget.h Types related to the statusbar widgets. */
+
+#ifndef WIDGETS_STATUSBAR_WIDGET_H
+#define WIDGETS_STATUSBAR_WIDGET_H
+
+/** Widgets of the WC_STATUS_BAR. */
+enum StatusbarWidget {
+ SBW_LEFT, ///< left part of the statusbar; date is shown there
+ SBW_MIDDLE, ///< middle part; current news or company name or *** SAVING *** or *** PAUSED ***
+ SBW_RIGHT, ///< right part; bank balance
+};
+
+#endif /* WIDGETS_STATUSBAR_WIDGET_H */
diff --git a/src/widgets/subsidy_widget.h b/src/widgets/subsidy_widget.h
new file mode 100644
index 000000000..db6472c5f
--- /dev/null
+++ b/src/widgets/subsidy_widget.h
@@ -0,0 +1,21 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file subsidy_widget.h Types related to the subsidy widgets. */
+
+#ifndef WIDGETS_SUBSIDY_WIDGET_H
+#define WIDGETS_SUBSIDY_WIDGET_H
+
+/** Widgets of the WC_SUBSIDIES_LIST. */
+enum SubsidyListWidgets {
+ SLW_PANEL,
+ SLW_SCROLLBAR,
+};
+
+#endif /* WIDGETS_SUBSIDY_WIDGET_H */
diff --git a/src/widgets/terraform_widget.h b/src/widgets/terraform_widget.h
new file mode 100644
index 000000000..0c085fe55
--- /dev/null
+++ b/src/widgets/terraform_widget.h
@@ -0,0 +1,49 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file terraform_widget.h Types related to the terraform widgets. */
+
+#ifndef WIDGETS_TERRAFORM_WIDGET_H
+#define WIDGETS_TERRAFORM_WIDGET_H
+
+/** Widgets of the WC_SCEN_LAND_GEN (WC_SCEN_LAND_GEN is also used in EditorTerraformToolbarWidgets). */
+enum TerraformToolbarWidgets {
+ TTW_SHOW_PLACE_OBJECT, ///< Should the place object button be shown?
+ TTW_BUTTONS_START, ///< Start of pushable buttons
+ TTW_LOWER_LAND = TTW_BUTTONS_START, ///< Lower land button
+ TTW_RAISE_LAND, ///< Raise land button
+ TTW_LEVEL_LAND, ///< Level land button
+ TTW_DEMOLISH, ///< Demolish aka dynamite button
+ TTW_BUY_LAND, ///< Buy land button
+ TTW_PLANT_TREES, ///< Plant trees button (note: opens seperate window, no place-push-button)
+ TTW_PLACE_SIGN, ///< Place sign button
+ TTW_PLACE_OBJECT, ///< Place object button
+};
+
+/** Widgets of the WC_SCEN_LAND_GEN (WC_SCEN_LAND_GEN is also used in TerraformToolbarWidgets). */
+enum EditorTerraformToolbarWidgets {
+ ETTW_SHOW_PLACE_DESERT, ///< Should the place desert button be shown?
+ ETTW_START, ///< Used for iterations
+ ETTW_DOTS = ETTW_START, ///< Invisible widget for rendering the terraform size on.
+ ETTW_BUTTONS_START, ///< Start of pushable buttons
+ ETTW_DEMOLISH = ETTW_BUTTONS_START, ///< Demolish aka dynamite button
+ ETTW_LOWER_LAND, ///< Lower land button
+ ETTW_RAISE_LAND, ///< Raise land button
+ ETTW_LEVEL_LAND, ///< Level land button
+ ETTW_PLACE_ROCKS, ///< Place rocks button
+ ETTW_PLACE_DESERT, ///< Place desert button (in tropical climate)
+ ETTW_PLACE_OBJECT, ///< Place transmitter button
+ ETTW_BUTTONS_END, ///< End of pushable buttons
+ ETTW_INCREASE_SIZE = ETTW_BUTTONS_END, ///< Upwards arrow button to increase terraforming size
+ ETTW_DECREASE_SIZE, ///< Downwards arrow button to decrease terraforming size
+ ETTW_NEW_SCENARIO, ///< Button for generating a new scenario
+ ETTW_RESET_LANDSCAPE, ///< Button for removing all company-owned property
+};
+
+#endif /* WIDGETS_TERRAFORM_WIDGET_H */
diff --git a/src/widgets/timetable_widget.h b/src/widgets/timetable_widget.h
new file mode 100644
index 000000000..e90c1f554
--- /dev/null
+++ b/src/widgets/timetable_widget.h
@@ -0,0 +1,34 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file timetable_widget.h Types related to the timetable widgets. */
+
+#ifndef WIDGETS_TIMETABLE_WIDGET_H
+#define WIDGETS_TIMETABLE_WIDGET_H
+
+/** Widgets of the WC_VEHICLE_TIMETABLE. */
+enum TimetableViewWindowWidgets {
+ TTV_CAPTION,
+ TTV_ORDER_VIEW,
+ TTV_TIMETABLE_PANEL,
+ TTV_ARRIVAL_DEPARTURE_PANEL, ///< Panel with the expected/scheduled arrivals
+ TTV_SCROLLBAR,
+ TTV_SUMMARY_PANEL,
+ TTV_START_DATE,
+ TTV_CHANGE_TIME,
+ TTV_CLEAR_TIME,
+ TTV_RESET_LATENESS,
+ TTV_AUTOFILL,
+ TTV_EXPECTED, ///< Toggle between expected and scheduled arrivals
+ TTV_SHARED_ORDER_LIST, ///< Show the shared order list
+ TTV_ARRIVAL_DEPARTURE_SELECTION, ///< Disable/hide the arrival departure panel
+ TTV_EXPECTED_SELECTION, ///< Disable/hide the expected selection button
+};
+
+#endif /* WIDGETS_TIMETABLE_WIDGET_H */
diff --git a/src/widgets/toolbar_widget.h b/src/widgets/toolbar_widget.h
new file mode 100644
index 000000000..11c0e4906
--- /dev/null
+++ b/src/widgets/toolbar_widget.h
@@ -0,0 +1,72 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file tooltype_widget.h Types related to the toolbar widgets. */
+
+#ifndef WIDGETS_TOOLBAR_WIDGET_H
+#define WIDGETS_TOOLBAR_WIDGET_H
+
+/** Widgets of the WC_MAIN_TOOLBAR, when in normal game mode. */
+enum ToolbarNormalWidgets {
+ TBN_PAUSE = 0,
+ TBN_FASTFORWARD,
+ TBN_SETTINGS,
+ TBN_SAVEGAME,
+ TBN_SMALLMAP,
+ TBN_TOWNDIRECTORY,
+ TBN_SUBSIDIES,
+ TBN_STATIONS,
+ TBN_FINANCES,
+ TBN_COMPANIES,
+ TBN_GRAPHICS,
+ TBN_LEAGUE,
+ TBN_INDUSTRIES,
+ TBN_VEHICLESTART, ///< trains, actually. So following are trucks, boats and planes
+ TBN_TRAINS = TBN_VEHICLESTART,
+ TBN_ROADVEHS,
+ TBN_SHIPS,
+ TBN_AIRCRAFTS,
+ TBN_ZOOMIN,
+ TBN_ZOOMOUT,
+ TBN_RAILS,
+ TBN_ROADS,
+ TBN_WATER,
+ TBN_AIR,
+ TBN_LANDSCAPE,
+ TBN_MUSICSOUND,
+ TBN_NEWSREPORT,
+ TBN_HELP,
+ TBN_SWITCHBAR, ///< only available when toolbar has been split
+ TBN_END ///< The end marker
+};
+
+/** Widgets of the WC_MAIN_TOOLBAR, when in scenario editor. */
+enum ToolbarScenEditorWidgets {
+ TBSE_PAUSE = 0,
+ TBSE_FASTFORWARD,
+ TBSE_SETTINGS,
+ TBSE_SAVESCENARIO,
+ TBSE_SPACERPANEL,
+ TBSE_DATEPANEL,
+ TBSE_DATEBACKWARD,
+ TBSE_DATEFORWARD,
+ TBSE_SMALLMAP,
+ TBSE_ZOOMIN,
+ TBSE_ZOOMOUT,
+ TBSE_LANDGENERATE,
+ TBSE_TOWNGENERATE,
+ TBSE_INDUSTRYGENERATE,
+ TBSE_BUILDROAD,
+ TBSE_BUILDDOCKS,
+ TBSE_PLANTTREES,
+ TBSE_PLACESIGNS,
+ TBSE_DATEPANEL_CONTAINER,
+};
+
+#endif /* WIDGETS_TOOLBAR_WIDGET_H */
diff --git a/src/widgets/town_widget.h b/src/widgets/town_widget.h
new file mode 100644
index 000000000..35164ffe1
--- /dev/null
+++ b/src/widgets/town_widget.h
@@ -0,0 +1,70 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file town_widget.h Types related to the town widgets. */
+
+#ifndef WIDGETS_TOWN_WIDGET_H
+#define WIDGETS_TOWN_WIDGET_H
+
+/** Widgets of the WC_TOWN_DIRECTORY. */
+enum TownDirectoryWidgets {
+ TDW_SORTNAME,
+ TDW_SORTPOPULATION,
+ TDW_CENTERTOWN,
+ TDW_SCROLLBAR,
+ TDW_BOTTOM_PANEL,
+ TDW_BOTTOM_TEXT,
+};
+
+/** Widgets of the WC_TOWN_AUTHORITY. */
+enum TownAuthorityWidgets {
+ TWA_CAPTION,
+ TWA_RATING_INFO, ///< Overview with ratings for each company.
+ TWA_COMMAND_LIST, ///< List of commands for the player.
+ TWA_SCROLLBAR,
+ TWA_ACTION_INFO, ///< Additional information about the action.
+ TWA_EXECUTE, ///< Do-it button.
+};
+
+/** Widgets of the WC_TOWN_VIEW. */
+enum TownViewWidgets {
+ TVW_CAPTION,
+ TVW_VIEWPORT,
+ TVW_INFOPANEL,
+ TVW_CENTERVIEW,
+ TVW_SHOWAUTHORITY,
+ TVW_CHANGENAME,
+ TVW_EXPAND,
+ TVW_DELETE,
+};
+
+/** Widgets of the WC_FOUND_TOWN. */
+enum TownScenarioEditorWidgets {
+ TSEW_BACKGROUND,
+ TSEW_NEWTOWN,
+ TSEW_RANDOMTOWN,
+ TSEW_MANYRANDOMTOWNS,
+ TSEW_TOWNNAME_TEXT,
+ TSEW_TOWNNAME_EDITBOX,
+ TSEW_TOWNNAME_RANDOM,
+ TSEW_TOWNSIZE,
+ TSEW_SIZE_SMALL,
+ TSEW_SIZE_MEDIUM,
+ TSEW_SIZE_LARGE,
+ TSEW_SIZE_RANDOM,
+ TSEW_CITY,
+ TSEW_TOWNLAYOUT,
+ TSEW_LAYOUT_ORIGINAL,
+ TSEW_LAYOUT_BETTER,
+ TSEW_LAYOUT_GRID2,
+ TSEW_LAYOUT_GRID3,
+ TSEW_LAYOUT_RANDOM,
+};
+
+#endif /* WIDGETS_TOWN_WIDGET_H */
diff --git a/src/widgets/transparency_widget.h b/src/widgets/transparency_widget.h
new file mode 100644
index 000000000..9d2714ce6
--- /dev/null
+++ b/src/widgets/transparency_widget.h
@@ -0,0 +1,34 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file transparency_widget.h Types related to the transparency widgets. */
+
+#ifndef WIDGETS_TRANSPARENCY_WIDGET_H
+#define WIDGETS_TRANSPARENCY_WIDGET_H
+
+/** Widgets of the WC_TRANSPARENCY_TOOLBAR. */
+enum TransparencyToolbarWidgets {
+ /* Button row. */
+ TTW_WIDGET_BEGIN, ///< First toggle button.
+ TTW_WIDGET_SIGNS = TTW_WIDGET_BEGIN, ///< Signs background transparency toggle button.
+ TTW_WIDGET_TREES, ///< Trees transparency toggle button.
+ TTW_WIDGET_HOUSES, ///< Houses transparency toggle button.
+ TTW_WIDGET_INDUSTRIES, ///< industries transparency toggle button.
+ TTW_WIDGET_BUILDINGS, ///< Company buildings and structures transparency toggle button.
+ TTW_WIDGET_BRIDGES, ///< Bridges transparency toggle button.
+ TTW_WIDGET_STRUCTURES, ///< Object structure transparency toggle button.
+ TTW_WIDGET_CATENARY, ///< Catenary transparency toggle button.
+ TTW_WIDGET_LOADING, ///< Loading indicators transparency toggle button.
+ TTW_WIDGET_END, ///< End of toggle buttons.
+
+ /* Panel with buttons for invisibility */
+ TTW_WIDGET_BUTTONS, ///< Panel with 'invisibility' buttons.
+};
+
+#endif /* WIDGETS_TRANSPARENCY_WIDGET_H */
diff --git a/src/widgets/tree_widget.h b/src/widgets/tree_widget.h
new file mode 100644
index 000000000..7a1164f33
--- /dev/null
+++ b/src/widgets/tree_widget.h
@@ -0,0 +1,33 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file tree_widget.h Types related to the tree widgets. */
+
+#ifndef WIDGETS_TREE_WIDGET_H
+#define WIDGETS_TREE_WIDGET_H
+
+/** Widgets of the WC_BUILD_TREES. */
+enum BuildTreesWidgets {
+ BTW_TYPE_11,
+ BTW_TYPE_12,
+ BTW_TYPE_13,
+ BTW_TYPE_14,
+ BTW_TYPE_21,
+ BTW_TYPE_22,
+ BTW_TYPE_23,
+ BTW_TYPE_24,
+ BTW_TYPE_31,
+ BTW_TYPE_32,
+ BTW_TYPE_33,
+ BTW_TYPE_34,
+ BTW_TYPE_RANDOM,
+ BTW_MANY_RANDOM,
+};
+
+#endif /* WIDGETS_TREE_WIDGET_H */
diff --git a/src/widgets/vehicle_widget.h b/src/widgets/vehicle_widget.h
new file mode 100644
index 000000000..d66ff5ee4
--- /dev/null
+++ b/src/widgets/vehicle_widget.h
@@ -0,0 +1,77 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file vehicle_widget.h Types related to the vehicle widgets. */
+
+#ifndef WIDGETS_VEHICLE_WIDGET_H
+#define WIDGETS_VEHICLE_WIDGET_H
+
+/** Widgets of the WC_VEHICLE_VIEW. */
+enum VehicleViewWindowWidgets {
+ VVW_WIDGET_CAPTION,
+ VVW_WIDGET_VIEWPORT, ///< Viewport widget.
+ VVW_WIDGET_START_STOP_VEH,
+ VVW_WIDGET_CENTER_MAIN_VIEH,
+ VVW_WIDGET_GOTO_DEPOT,
+ VVW_WIDGET_REFIT_VEH,
+ VVW_WIDGET_SHOW_ORDERS,
+ VVW_WIDGET_SHOW_DETAILS,
+ VVW_WIDGET_CLONE_VEH,
+ VVW_WIDGET_SELECT_DEPOT_CLONE, ///< Selection widget between 'goto depot', and 'clone vehicle' buttons.
+ VVW_WIDGET_SELECT_REFIT_TURN, ///< Selection widget between 'refit' and 'turn around' buttons.
+ VVW_WIDGET_TURN_AROUND,
+ VVW_WIDGET_FORCE_PROCEED,
+};
+
+/** Widgets of the WC_VEHICLE_REFIT. */
+enum VehicleRefitWidgets {
+ VRW_CAPTION,
+ VRW_VEHICLE_PANEL_DISPLAY,
+ VRW_SHOW_HSCROLLBAR,
+ VRW_HSCROLLBAR,
+ VRW_SELECTHEADER,
+ VRW_MATRIX,
+ VRW_SCROLLBAR,
+ VRW_INFOPANEL,
+ VRW_REFITBUTTON,
+};
+
+/** Widgets of the WC_VEHICLE_DETAILS. */
+enum VehicleDetailsWindowWidgets {
+ VLD_WIDGET_CAPTION,
+ VLD_WIDGET_RENAME_VEHICLE,
+ VLD_WIDGET_TOP_DETAILS,
+ VLD_WIDGET_INCREASE_SERVICING_INTERVAL,
+ VLD_WIDGET_DECREASE_SERVICING_INTERVAL,
+ VLD_WIDGET_SERVICING_INTERVAL,
+ VLD_WIDGET_MIDDLE_DETAILS,
+ VLD_WIDGET_MATRIX,
+ VLD_WIDGET_SCROLLBAR,
+ VLD_WIDGET_DETAILS_CARGO_CARRIED,
+ VLD_WIDGET_DETAILS_TRAIN_VEHICLES,
+ VLD_WIDGET_DETAILS_CAPACITY_OF_EACH,
+ VLD_WIDGET_DETAILS_TOTAL_CARGO,
+};
+
+/** Widgets of the vehicle lists (WC_INVALID). */
+enum VehicleListWindowWidgets {
+ VLW_WIDGET_CAPTION,
+ VLW_WIDGET_SORT_ORDER,
+ VLW_WIDGET_SORT_BY_PULLDOWN,
+ VLW_WIDGET_LIST,
+ VLW_WIDGET_SCROLLBAR,
+ VLW_WIDGET_HIDE_BUTTONS,
+ VLW_WIDGET_AVAILABLE_VEHICLES,
+ VLW_WIDGET_MANAGE_VEHICLES_DROPDOWN,
+ VLW_WIDGET_STOP_ALL,
+ VLW_WIDGET_START_ALL,
+};
+
+
+#endif /* WIDGETS_VEHICLE_WIDGET_H */
diff --git a/src/widgets/viewport_widget.h b/src/widgets/viewport_widget.h
new file mode 100644
index 000000000..04bab1814
--- /dev/null
+++ b/src/widgets/viewport_widget.h
@@ -0,0 +1,25 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file viewport_widget.h Types related to the viewport widgets. */
+
+#ifndef WIDGETS_VIEWPORT_WIDGET_H
+#define WIDGETS_VIEWPORT_WIDGET_H
+
+/** Widgets of the WC_EXTRA_VIEW_PORT. */
+enum ExtraViewportWindowWidgets {
+ EVW_CAPTION,
+ EVW_VIEWPORT,
+ EVW_ZOOMIN,
+ EVW_ZOOMOUT,
+ EVW_MAIN_TO_VIEW,
+ EVW_VIEW_TO_MAIN,
+};
+
+#endif /* WIDGETS_VIEWPORT_WIDGET_H */
diff --git a/src/widgets/waypoint_widget.h b/src/widgets/waypoint_widget.h
new file mode 100644
index 000000000..8d0565e68
--- /dev/null
+++ b/src/widgets/waypoint_widget.h
@@ -0,0 +1,24 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file waypoint_widget.h Types related to the waypoint widgets. */
+
+#ifndef WIDGETS_WAYPOINT_WIDGET_H
+#define WIDGETS_WAYPOINT_WIDGET_H
+
+/** Widgets of the WC_WAYPOINT_VIEW. */
+enum WaypointWindowWidgets {
+ WAYPVW_CAPTION,
+ WAYPVW_VIEWPORT,
+ WAYPVW_CENTERVIEW,
+ WAYPVW_RENAME,
+ WAYPVW_SHOW_VEHICLES,
+};
+
+#endif /* WIDGETS_WAYPOINT_WIDGET_H */