# HG changeset patch # User truebrain # Date 2011-12-15 22:22:55 # Node ID f122c356353c708d5323ddc5238bf8a0c5aaf06b # Parent 0e60752c306f614c8089f16f1cc21497b60e8238 (svn r23528) -Codechange: move widget enums to widgets/NNN_type.h diff --git a/projects/openttd_vs100.vcxproj b/projects/openttd_vs100.vcxproj --- a/projects/openttd_vs100.vcxproj +++ b/projects/openttd_vs100.vcxproj @@ -687,9 +687,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/projects/openttd_vs100.vcxproj.filters b/projects/openttd_vs100.vcxproj.filters --- a/projects/openttd_vs100.vcxproj.filters +++ b/projects/openttd_vs100.vcxproj.filters @@ -1284,6 +1284,42 @@ GUI Source Code + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + Widgets @@ -1293,6 +1329,123 @@ Widgets + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + + + Widgets + Command handlers diff --git a/projects/openttd_vs80.vcproj b/projects/openttd_vs80.vcproj --- a/projects/openttd_vs80.vcproj +++ b/projects/openttd_vs80.vcproj @@ -2035,6 +2035,54 @@ Name="Widgets" > + + + + + + + + + + + + + + + + + + + + + + + + @@ -2046,6 +2094,162 @@ RelativePath=".\..\src\widgets\dropdown_type.h" > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2043,6 +2091,162 @@ RelativePath=".\..\src\widgets\dropdown_type.h" > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -/** Enum referring to the widgets of the AI list window */ -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 -}; - /** * Window that let you choose an available AI. */ @@ -254,14 +247,6 @@ static void ShowAIListWindow(CompanyID s new AIListWindow(&_ai_list_desc, slot); } -/** Enum referring to the widgets of the AI settings window */ -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 -}; - /** * Window for settings the parameters of an AI. */ @@ -541,22 +526,6 @@ static void ShowAISettingsWindow(Company new AISettingsWindow(&_ai_settings_desc, slot); } -/** Enum referring to the widgets of the AI config window */ -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 for the configure AI window. */ static const NWidgetPart _nested_ai_config_widgets[] = { NWidget(NWID_HORIZONTAL), @@ -781,23 +750,6 @@ void ShowAIConfigWindow() new AIConfigWindow(); } -/** Enum referring to the widgets of the AI debug window */ -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, -}; - /** * Window with everything an AI prints via ScriptLog. */ diff --git a/src/airport_gui.cpp b/src/airport_gui.cpp --- a/src/airport_gui.cpp +++ b/src/airport_gui.cpp @@ -29,6 +29,8 @@ #include "vehicle_func.h" #include "sprite.h" +#include "widgets/airport_widget.h" + #include "table/strings.h" static AirportClassID _selected_airport_class; ///< the currently visible airport class @@ -63,13 +65,6 @@ static void PlaceAirport(TileIndex tile) ShowSelectStationIfNeeded(cmdcont, TileArea(tile, _thd.size.x / TILE_SIZE, _thd.size.y / TILE_SIZE)); } -/** Widget number of the airport build window. */ -enum AirportToolbarWidgets { - ATW_AIRPORT, - ATW_DEMOLISH, -}; - - /** Airport build toolbar window handler. */ struct BuildAirToolbarWindow : Window { int last_user_action; // Last started user action. @@ -204,22 +199,6 @@ EventState AirportToolbarGlobalHotkeys(u return w->OnKeyPress(key, keycode); } -/** Airport widgets in the airport picker window. */ -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, -}; - class BuildAirportWindow : public PickerWindowBase { SpriteID preview_sprite; ///< Cached airport preview sprite. int line_height; diff --git a/src/autoreplace_gui.cpp b/src/autoreplace_gui.cpp --- a/src/autoreplace_gui.cpp +++ b/src/autoreplace_gui.cpp @@ -26,36 +26,13 @@ #include "core/geometry_func.hpp" #include "rail_gui.h" +#include "widgets/autoreplace_widget.h" + #include "table/strings.h" uint GetEngineListHeight(VehicleType type); void DrawEngineList(VehicleType type, int x, int r, int y, const GUIEngineList *eng_list, uint16 min, uint16 max, EngineID selected_id, bool show_count, GroupID selected_group); -/** Widget numbers of the autoreplace GUI. */ -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, -}; - static int CDECL EngineNumberSorter(const EngineID *a, const EngineID *b) { int r = ListPositionOfEngine(*a) - ListPositionOfEngine(*b); diff --git a/src/bootstrap_gui.cpp b/src/bootstrap_gui.cpp --- a/src/bootstrap_gui.cpp +++ b/src/bootstrap_gui.cpp @@ -27,6 +27,8 @@ #include "window_func.h" #include "window_gui.h" +#include "widgets/bootstrap_widget.h" + #include "table/strings.h" /** Widgets for the background window to prevent smearing. */ @@ -100,13 +102,6 @@ public: } }; -/** Widgets in the query window. */ -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. -}; - /** The widgets for the query. It has no close box as that sprite does not exist yet. */ static const NWidgetPart _bootstrap_query_widgets[] = { NWidget(NWID_HORIZONTAL), diff --git a/src/bridge_gui.cpp b/src/bridge_gui.cpp --- a/src/bridge_gui.cpp +++ b/src/bridge_gui.cpp @@ -25,6 +25,8 @@ #include "tunnelbridge_map.h" #include "road_gui.h" +#include "widgets/bridge_widget.h" + #include "table/strings.h" /** The type of the last built rail bridge */ @@ -70,15 +72,6 @@ void CcBuildBridge(const CommandCost &re } } -/** Names of the widgets of the build-bridge selection window. */ -enum BuildBridgeSelectionWidgets { - BBSW_CAPTION, - BBSW_DROPDOWN_ORDER, - BBSW_DROPDOWN_CRITERIA, - BBSW_BRIDGE_LIST, - BBSW_SCROLLBAR, -}; - /** Window class for handling the bridge-build GUI. */ class BuildBridgeWindow : public Window { private: diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -31,6 +31,8 @@ #include "cargotype.h" #include "core/geometry_func.hpp" +#include "widgets/build_vehicle_widget.h" + #include "table/strings.h" /** @@ -43,20 +45,6 @@ uint GetEngineListHeight(VehicleType typ return max(FONT_HEIGHT_NORMAL + WD_MATRIX_TOP + WD_MATRIX_BOTTOM, GetVehicleHeight(type)); } -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 -}; - static const NWidgetPart _nested_build_vehicle_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_GREY), diff --git a/src/cheat_gui.cpp b/src/cheat_gui.cpp --- a/src/cheat_gui.cpp +++ b/src/cheat_gui.cpp @@ -27,6 +27,8 @@ #include "company_gui.h" #include "gamelog.h" +#include "widgets/cheat_widget.h" + #include "table/strings.h" #include "table/sprites.h" @@ -177,11 +179,6 @@ static const CheatEntry _cheats_ui[] = { assert_compile(CHT_NUM_CHEATS == lengthof(_cheats_ui)); -/** Names of the cheat window widgets. */ -enum CheatWidgets { - CW_PANEL, -}; - /** Widget definitions of the cheat GUI. */ static const NWidgetPart _nested_cheat_widgets[] = { NWidget(NWID_HORIZONTAL), diff --git a/src/company_gui.cpp b/src/company_gui.cpp --- a/src/company_gui.cpp +++ b/src/company_gui.cpp @@ -39,6 +39,8 @@ #include "water.h" #include "station_func.h" +#include "widgets/company_widget.h" + #include "table/strings.h" /** Company GUI constants. */ @@ -126,29 +128,6 @@ static const ExpensesList _expenses_list ExpensesList(_expenses_list_2, lengthof(_expenses_list_2), 3), }; -/** Widgets of the company finances windows. */ -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 -}; - /** * Draw the expenses categories. * @param r Available space for drawing. @@ -567,20 +546,6 @@ public: } }; -/** Widgets of the select company livery window. */ -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, -}; - /** Company livery colour scheme window. */ struct SelectCompanyLiveryWindow : public Window { private: @@ -930,78 +895,6 @@ void DrawCompanyManagerFace(CompanyManag } } -/** - * Names of the widgets. Keep them in the same order as in the widget array. - * 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, -}; - /** Nested widget description for the company manager face selection dialog */ static const NWidgetPart _nested_select_company_manager_face_widgets[] = { NWidget(NWID_HORIZONTAL), @@ -1616,22 +1509,6 @@ static void DoSelectCompanyManagerFace(W new SelectCompanyManagerFaceWindow(&_select_company_manager_face_desc, parent); } - -/** Names of the widgets of the #CompanyInfrastructureWindow. */ -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, -}; - static const NWidgetPart _nested_company_infrastructure_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_GREY), @@ -1976,49 +1853,6 @@ static void ShowCompanyInfrastructure(Co AllocateWindowDescFront(&_company_infrastructure_desc, company); } - -/** Names of the widgets of the #CompanyWindow. Keep them in the same order as in the widget array */ -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, -}; - static const NWidgetPart _nested_company_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_GREY), @@ -2595,16 +2429,6 @@ void DirtyCompanyInfrastructureWindows(C SetWindowDirty(WC_COMPANY_INFRASTRUCTURE, company); } - -/** widget numbers of the #BuyCompanyWindow. */ -enum BuyCompanyWidgets { - BCW_CAPTION, - BCW_FACE, - BCW_QUESTION, - BCW_NO, - BCW_YES, -}; - struct BuyCompanyWindow : Window { BuyCompanyWindow(const WindowDesc *desc, WindowNumber window_number) : Window() { diff --git a/src/console_gui.cpp b/src/console_gui.cpp --- a/src/console_gui.cpp +++ b/src/console_gui.cpp @@ -22,6 +22,8 @@ #include "console_func.h" #include "rev.h" +#include "widgets/console_widget.h" + #include "table/strings.h" static const uint ICON_HISTORY_SIZE = 20; @@ -152,11 +154,6 @@ static inline void IConsoleResetHistoryP static const char *IConsoleHistoryAdd(const char *cmd); static void IConsoleHistoryNavigate(int direction); -/** Widgets of the console window. */ -enum ConsoleWidgets { - CW_BACKGROUND, ///< Background of the console -}; - static const struct NWidgetPart _nested_console_window_widgets[] = { NWidget(WWT_EMPTY, INVALID_COLOUR, CW_BACKGROUND), SetResize(1, 1), }; diff --git a/src/date_gui.cpp b/src/date_gui.cpp --- a/src/date_gui.cpp +++ b/src/date_gui.cpp @@ -18,17 +18,10 @@ #include "core/geometry_func.hpp" #include "widgets/dropdown_type.h" +#include "widgets/date_widget.h" #include "table/strings.h" -/** Widgets used by the date window */ -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 -}; - /** Window to select a date graphically by using dropdowns */ struct SetDateWindow : Window { SetDateCallback *callback; ///< Callback to call when a date has been selected diff --git a/src/depot_gui.cpp b/src/depot_gui.cpp --- a/src/depot_gui.cpp +++ b/src/depot_gui.cpp @@ -30,6 +30,8 @@ #include "order_backup.h" #include "zoom_func.h" +#include "widgets/depot_widget.h" + #include "table/strings.h" /* @@ -38,28 +40,6 @@ * How long they should be moved and for what window types are controlled in ShowDepotWindow() */ -/* Names of the widgets. Keep them in the same order as in the widget array */ -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, -}; - /** Nested widget definition for train depots. */ static const NWidgetPart _nested_train_depot_widgets[] = { NWidget(NWID_HORIZONTAL), diff --git a/src/dock_gui.cpp b/src/dock_gui.cpp --- a/src/dock_gui.cpp +++ b/src/dock_gui.cpp @@ -29,6 +29,8 @@ #include "hotkeys.h" #include "bridge.h" +#include "widgets/dock_widget.h" + #include "table/sprites.h" #include "table/strings.h" @@ -88,20 +90,6 @@ static TileIndex GetOtherAqueductEnd(Til return endtile; } -/** Enum referring to the widgets of the build dock toolbar */ -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 -}; - /** Toolbar window for constructing water infra structure. */ struct BuildDocksToolbarWindow : Window { DockToolbarWidgets last_clicked_widget; ///< Contains the last widget that has been clicked on this toolbar. diff --git a/src/engine_gui.cpp b/src/engine_gui.cpp --- a/src/engine_gui.cpp +++ b/src/engine_gui.cpp @@ -22,6 +22,8 @@ #include "rail.h" #include "settings_type.h" +#include "widgets/engine_widget.h" + #include "table/strings.h" /** @@ -42,13 +44,6 @@ StringID GetEngineCategoryName(EngineID } } -/** Widgets used for the engine preview window */ -enum EnginePreviewWidgets { - EPW_QUESTION, ///< The container for the question - EPW_NO, ///< No button - EPW_YES, ///< Yes button -}; - static const NWidgetPart _nested_engine_preview_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_LIGHT_BLUE), diff --git a/src/error_gui.cpp b/src/error_gui.cpp --- a/src/error_gui.cpp +++ b/src/error_gui.cpp @@ -24,16 +24,11 @@ #include "console_func.h" #include "window_gui.h" +#include "widgets/error_widget.h" + #include "table/strings.h" #include -/** Widgets of the error message windows */ -enum ErrorMessageWidgets { - EMW_CAPTION, - EMW_FACE, - EMW_MESSAGE, -}; - static const NWidgetPart _nested_errmsg_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_RED), diff --git a/src/fios_gui.cpp b/src/fios_gui.cpp --- a/src/fios_gui.cpp +++ b/src/fios_gui.cpp @@ -28,6 +28,8 @@ #include "date_func.h" #include "core/geometry_func.hpp" +#include "widgets/fios_widget.h" + #include "table/sprites.h" #include "table/strings.h" @@ -65,27 +67,6 @@ void LoadCheckData::Clear() ClearGRFConfigList(&this->grfconfig); } - -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 -}; - /** Load game/scenario with optional content download */ static const NWidgetPart _nested_load_dialog_widgets[] = { NWidget(NWID_HORIZONTAL), diff --git a/src/genworld_gui.cpp b/src/genworld_gui.cpp --- a/src/genworld_gui.cpp +++ b/src/genworld_gui.cpp @@ -31,18 +31,11 @@ #include "progress.h" #include "error.h" +#include "widgets/genworld_widget.h" + #include "table/strings.h" #include "table/sprites.h" -/** - * In what 'mode' the GenerateLandscapeWindowProc is. - */ -enum GenenerateLandscapeWindowMode { - GLWM_GENERATE, ///< Generate new game - GLWM_HEIGHTMAP, ///< Load from heightmap - GLWM_SCENARIO, ///< Generate flat land -}; - extern void MakeNewgameSettingsLive(); /** @@ -56,52 +49,6 @@ void SetNewLandscapeType(byte landscape) InvalidateWindowClassesData(WC_GENERATE_LANDSCAPE); } -/** Widgets of GenerateLandscapeWindow */ -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 GenerateLandscapeWindow when generating world */ static const NWidgetPart _nested_generate_landscape_widgets[] = { NWidget(NWID_HORIZONTAL), @@ -928,25 +875,6 @@ void StartNewGameWithoutGUI(uint seed) StartGeneratingLandscape(GLWM_GENERATE); } -/** Widget numbers of the create scenario window. */ -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. -}; - - struct CreateScenarioWindow : public Window { uint widget_id; @@ -1192,12 +1120,6 @@ void ShowCreateScenario() new CreateScenarioWindow(&_create_scenario_desc, GLWM_SCENARIO); } -enum GenerationProgressWindowWidgets { - GPWW_PROGRESS_BAR, - GPWW_PROGRESS_TEXT, - GPWW_ABORT, -}; - static const NWidgetPart _nested_generate_progress_widgets[] = { NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GENERATION_WORLD, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), NWidget(WWT_PANEL, COLOUR_GREY), diff --git a/src/graph_gui.cpp b/src/graph_gui.cpp --- a/src/graph_gui.cpp +++ b/src/graph_gui.cpp @@ -25,6 +25,8 @@ #include "math.h" #include "currency.h" +#include "widgets/graph_widget.h" + #include "table/strings.h" #include "table/sprites.h" @@ -40,14 +42,6 @@ static const uint INVALID_DATAPOINT_POS /* GRAPH LEGEND */ /****************/ -/** Widget numbers of the graph legend window. */ -enum GraphLegendWidgetNumbers { - GLW_BACKGROUND, - - GLW_FIRST_COMPANY, - GLW_LAST_COMPANY = GLW_FIRST_COMPANY + MAX_COMPANIES - 1, -}; - struct GraphLegendWindow : Window { GraphLegendWindow(const WindowDesc *desc, WindowNumber window_number) : Window() { @@ -168,14 +162,6 @@ struct ValuesInterval { /* BASE OF GRAPHS */ /*****************/ -/** Widget numbers of a base graph window. */ -enum CompanyValueWidgets { - BGW_KEY_BUTTON, - BGW_BACKGROUND, - BGW_GRAPH, - BGW_RESIZE, -}; - struct BaseGraphWindow : Window { protected: static const int GRAPH_MAX_DATASETS = 32; @@ -706,7 +692,6 @@ static const NWidgetPart _nested_income_ EndContainer(), }; - static const WindowDesc _income_graph_desc( WDP_AUTO, 0, 0, WC_INCOME_GRAPH, WC_NONE, @@ -771,15 +756,6 @@ void ShowDeliveredCargoGraph() /* PERFORMANCE HISTORY */ /***********************/ -/** Widget numbers of the performance history window. */ -enum PerformanceHistoryGraphWidgets { - PHW_KEY, - PHW_DETAILED_PERFORMANCE, - PHW_BACKGROUND, - PHW_GRAPH, - PHW_RESIZE, -}; - struct PerformanceHistoryGraphWindow : BaseGraphWindow { PerformanceHistoryGraphWindow(const WindowDesc *desc, WindowNumber window_number) : BaseGraphWindow(PHW_GRAPH, STR_JUST_COMMA) @@ -883,18 +859,6 @@ void ShowCompanyValueGraph() /* PAYMENT RATES */ /*****************/ -/** Widget numbers of the cargo payment rates. */ -enum CargoPaymentRatesWidgets { - CPW_BACKGROUND, - CPW_HEADER, - CPW_GRAPH, - CPW_RESIZE, - CPW_FOOTER, - CPW_ENABLE_CARGOES, - CPW_DISABLE_CARGOES, - CPW_CARGO_FIRST, -}; - struct PaymentRatesGraphWindow : BaseGraphWindow { bool first_init; ///< This value is true until the first initialization of the window has finished. PaymentRatesGraphWindow(const WindowDesc *desc, WindowNumber window_number) : @@ -1126,11 +1090,6 @@ void ShowCargoPaymentRates() /* COMPANY LEAGUE TABLE */ /************************/ -/** Widget numbers for the company league window. */ -enum CompanyLeagueWidgets { - CLW_BACKGROUND, -}; - static const StringID _performance_titles[] = { STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ENGINEER, STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ENGINEER, @@ -1319,15 +1278,6 @@ void ShowCompanyLeagueTable() /* PERFORMANCE RATING DETAIL */ /*****************************/ -/** Widget numbers of the performance rating details window. */ -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, -}; - struct PerformanceRatingDetailWindow : Window { static CompanyID company; int timeout; diff --git a/src/group_gui.cpp b/src/group_gui.cpp --- a/src/group_gui.cpp +++ b/src/group_gui.cpp @@ -27,32 +27,13 @@ #include "core/geometry_func.hpp" #include "company_base.h" +#include "widgets/group_widget.h" + #include "table/strings.h" #include "table/sprites.h" typedef GUIList GUIGroupList; -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, -}; - static const NWidgetPart _nested_group_widgets[] = { NWidget(NWID_HORIZONTAL), // Window header NWidget(WWT_CLOSEBOX, COLOUR_GREY), diff --git a/src/highscore_gui.cpp b/src/highscore_gui.cpp --- a/src/highscore_gui.cpp +++ b/src/highscore_gui.cpp @@ -23,9 +23,7 @@ #include "strings_func.h" #include "hotkeys.h" -enum HighscoreWidgets { - HSW_BACKGROUND, -}; +#include "widgets/highscore_widget.h" struct EndGameHighScoreBaseWindow : Window { uint32 background_img; diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -37,6 +37,8 @@ #include "genworld.h" #include "smallmap_gui.h" +#include "widgets/industry_widget.h" + #include "table/strings.h" #include "table/sprites.h" @@ -164,15 +166,6 @@ void CcBuildIndustry(const CommandCost & } } -/** Names of the widgets of the dynamic place industries gui */ -enum DynamicPlaceIndustriesWidgets { - DPIW_MATRIX_WIDGET, - DPIW_SCROLLBAR, - DPIW_INFOPANEL, - DPIW_DISPLAY_WIDGET, - DPIW_FUND_WIDGET, -}; - static const NWidgetPart _nested_build_industry_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_DARK_GREEN), @@ -637,15 +630,6 @@ static inline bool IsProductionAlterable (is->production_rate[0] != 0 || is->production_rate[1] != 0 || is->IsRawIndustry())); } -/** Names of the widgets of the view industry gui */ -enum IndustryViewWidgets { - IVW_CAPTION, - IVW_VIEWPORT, - IVW_INFO, - IVW_GOTO, - IVW_DISPLAY, -}; - class IndustryViewWindow : public Window { /** Modes for changing production */ @@ -1041,14 +1025,6 @@ void ShowIndustryViewWindow(int industry AllocateWindowDescFront(&_industry_view_desc, industry); } -/** Names of the widgets of the industry directory gui */ -enum IndustryDirectoryWidgets { - IDW_DROPDOWN_ORDER, - IDW_DROPDOWN_CRITERIA, - IDW_INDUSTRY_LIST, - IDW_SCROLLBAR, -}; - /** Widget definition of the industry directory gui */ static const NWidgetPart _nested_industry_directory_widgets[] = { NWidget(NWID_HORIZONTAL), @@ -1420,14 +1396,6 @@ void ShowIndustryDirectory() AllocateWindowDescFront(&_industry_directory_desc, 0); } -/** Widget numbers of the industry cargoes window, */ -enum IndustryCargoesWidgets { - ICW_CAPTION, - ICW_NOTIFY, - ICW_PANEL, - ICW_SCROLLBAR, -}; - /** Widgets of the industry cargoes window. */ static const NWidgetPart _nested_industry_cargoes_widgets[] = { NWidget(NWID_HORIZONTAL), diff --git a/src/intro_gui.cpp b/src/intro_gui.cpp --- a/src/intro_gui.cpp +++ b/src/intro_gui.cpp @@ -27,31 +27,11 @@ #include "language.h" #include "rev.h" +#include "widgets/intro_widget.h" + #include "table/strings.h" #include "table/sprites.h" -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, -}; - struct SelectGameWindow : public Window { SelectGameWindow(const WindowDesc *desc) : Window() diff --git a/src/main_gui.cpp b/src/main_gui.cpp --- a/src/main_gui.cpp +++ b/src/main_gui.cpp @@ -34,6 +34,8 @@ #include "saveload/saveload.h" +#include "widgets/main_widget.h" + #include "network/network.h" #include "network/network_func.h" #include "network/network_gui.h" @@ -199,11 +201,6 @@ void ZoomInOrOutToCursorWindow(bool in, } } -/** Widgets of the main window. */ -enum MainWindowWidgets { - MW_VIEWPORT, ///< Main window viewport. -}; - static const struct NWidgetPart _nested_main_window_widgets[] = { NWidget(NWID_VIEWPORT, INVALID_COLOUR, MW_VIEWPORT), SetResize(1, 1), }; diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -28,6 +28,8 @@ #include "core/geometry_func.hpp" #include "newgrf_debug.h" +#include "widgets/misc_widget.h" + #include "table/strings.h" /** @@ -40,12 +42,6 @@ bool GetClipboardContents(char *buffer, int _caret_timer; - -/** Widgets for the land info window. */ -enum LandInfoWidgets { - LIW_BACKGROUND, ///< Background to draw on -}; - static const NWidgetPart _nested_land_info_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_GREY), @@ -356,12 +352,6 @@ void ShowLandInfo(TileIndex tile) new LandInfoWindow(tile); } -/** Widgets for the land info window. */ -enum AboutWidgets { - AW_SCROLLING_TEXT, ///< The actually scrolling text - AW_WEBSITE, ///< URL of OpenTTD website -}; - static const NWidgetPart _nested_about_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_GREY), @@ -613,7 +603,7 @@ void HideFillingPercent(TextEffectID *te } static const NWidgetPart _nested_tooltips_widgets[] = { - NWidget(WWT_PANEL, COLOUR_GREY, 0), SetMinimalSize(200, 32), EndContainer(), + NWidget(WWT_PANEL, COLOUR_GREY, TTW_BACKGROUND), SetMinimalSize(200, 32), EndContainer(), }; static const WindowDesc _tool_tips_desc( @@ -1100,15 +1090,6 @@ void QueryStringBaseWindow::OnOpenOSKWin ShowOnScreenKeyboard(this, wid, 0, 0); } -/** Widget of the string query window. */ -enum QueryStringWidgets { - QUERY_STR_WIDGET_CAPTION, - QUERY_STR_WIDGET_TEXT, - QUERY_STR_WIDGET_DEFAULT, - QUERY_STR_WIDGET_CANCEL, - QUERY_STR_WIDGET_OK -}; - /** Class for the string query window. */ struct QueryStringWindow : public QueryStringBaseWindow { @@ -1268,14 +1249,6 @@ void ShowQueryString(StringID str, Strin new QueryStringWindow(str, caption, ((flags & QSF_LEN_IN_CHARS) ? MAX_CHAR_LENGTH : 1) * maxsize, maxsize, &_query_string_desc, parent, afilter, flags); } - -enum QueryWidgets { - QUERY_WIDGET_CAPTION, - QUERY_WIDGET_TEXT, - QUERY_WIDGET_NO, - QUERY_WIDGET_YES -}; - /** * Window used for asking the user a YES/NO question. */ diff --git a/src/music_gui.cpp b/src/music_gui.cpp --- a/src/music_gui.cpp +++ b/src/music_gui.cpp @@ -24,6 +24,8 @@ #include "string_func.h" #include "settings_type.h" +#include "widgets/music_widget.h" + #include "table/strings.h" #include "table/sprites.h" @@ -287,19 +289,6 @@ static void SelectPlaylist(byte list) InvalidateWindowData(WC_MUSIC_WINDOW, 0); } -enum MusicTrackSelectionWidgets { - MTSW_LIST_LEFT, - MTSW_PLAYLIST, - MTSW_LIST_RIGHT, - MTSW_ALL, - MTSW_OLD, - MTSW_NEW, - MTSW_EZY, - MTSW_CUSTOM1, - MTSW_CUSTOM2, - MTSW_CLEAR, -}; - struct MusicTrackSelectionWindow : public Window { MusicTrackSelectionWindow(const WindowDesc *desc, WindowNumber number) : Window() { @@ -518,29 +507,6 @@ static void ShowMusicTrackSelection() AllocateWindowDescFront(&_music_track_selection_desc, 0); } -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, -}; - struct MusicWindow : public Window { static const int slider_width = 3; diff --git a/src/network/network_chat_gui.cpp b/src/network/network_chat_gui.cpp --- a/src/network/network_chat_gui.cpp +++ b/src/network/network_chat_gui.cpp @@ -28,6 +28,8 @@ #include "network_client.h" #include "network_base.h" +#include "../widgets/network_chat_widget.h" + #include "table/strings.h" /** The draw buffer must be able to contain the chat message, client name and the "[All]" message, @@ -283,15 +285,6 @@ static void SendChat(const char *buf, De } } -/** Widget numbers of the chat window. */ -enum NetWorkChatWidgets { - NWCW_CLOSE, - NWCW_BACKGROUND, - NWCW_DESTINATION, - NWCW_TEXTBOX, - NWCW_SENDBUTTON, -}; - /** Window to enter the chat message in. */ struct NetworkChatWindow : public QueryStringBaseWindow { DestType dtype; ///< The type of destination. diff --git a/src/network/network_content_gui.cpp b/src/network/network_content_gui.cpp --- a/src/network/network_content_gui.cpp +++ b/src/network/network_content_gui.cpp @@ -22,6 +22,8 @@ #include "../core/geometry_func.hpp" #include "network_content_gui.h" +#include "../widgets/network_content_widget.h" + #include "table/strings.h" #include "../table/sprites.h" @@ -220,32 +222,6 @@ public: } }; -/** Widgets of the content list window. */ -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. -}; - /** Window that lists the content that's at the content server */ class NetworkContentListWindow : public QueryStringBaseWindow, ContentCallback { /** List with content infos. */ diff --git a/src/network/network_content_gui.h b/src/network/network_content_gui.h --- a/src/network/network_content_gui.h +++ b/src/network/network_content_gui.h @@ -14,12 +14,7 @@ #include "network_content.h" #include "../window_gui.h" - -/** Widgets used by this window */ -enum NetworkContentDownloadStatusWindowWidgets { - NCDSWW_BACKGROUND, ///< Background - NCDSWW_CANCELOK, ///< (Optional) Cancel/OK button -}; +#include "../widgets/network_content_widget.h" /** Base window for showing the download status of content */ class BaseNetworkContentDownloadStatusWindow : public Window, ContentCallback { diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -32,6 +32,8 @@ #include "../newgrf_text.h" #include "../genworld.h" +#include "../widgets/network_widget.h" + #include "table/strings.h" #include "../table/sprites.h" @@ -75,45 +77,6 @@ void UpdateNetworkGameWindow(bool unsele InvalidateWindowData(WC_NETWORK_WINDOW, 0, unselect ? 1 : 0); } -/** Enum for NetworkGameWindow, referring to _network_game_window_widgets */ -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 -}; - typedef GUIList GUIGameServerList; typedef uint16 ServerListPosition; static const ServerListPosition SLP_INVALID = 0xFFFF; @@ -1031,38 +994,6 @@ void ShowNetworkGameWindow() new NetworkGameWindow(&_network_game_window_desc); } -/** Enum for NetworkStartServerWindow, referring to _network_start_server_window_widgets */ -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 -}; - struct NetworkStartServerWindow : public QueryStringBaseWindow { byte field; ///< Selected text-field byte widget_id; ///< The widget that has the pop-up input menu @@ -1390,21 +1321,6 @@ static void ShowNetworkStartServerWindow new NetworkStartServerWindow(&_network_start_server_window_desc); } -/** Enum for NetworkLobbyWindow, referring to _network_lobby_window_widgets */ -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 -}; - struct NetworkLobbyWindow : public Window { CompanyID company; ///< Select company NetworkGameList *server; ///< Selected server @@ -1724,7 +1640,7 @@ extern void DrawCompanyIcon(CompanyID ci typedef void ClientList_Action_Proc(const NetworkClientInfo *ci); static const NWidgetPart _nested_client_list_popup_widgets[] = { - NWidget(WWT_PANEL, COLOUR_GREY, 0), EndContainer(), + NWidget(WWT_PANEL, COLOUR_GREY, CLPW_PANEL), EndContainer(), }; static const WindowDesc _client_list_popup_desc( @@ -1894,12 +1810,6 @@ static void PopupClientList(ClientID cli new NetworkClientListPopupWindow(&_client_list_popup_desc, x, y, client_id); } - -/** Widget numbers of the client list window. */ -enum ClientListWidgets { - CLW_PANEL, -}; - static const NWidgetPart _nested_client_list_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_GREY), @@ -2075,12 +1985,6 @@ uint8 _network_join_waiting; uint32 _network_join_bytes; ///< The number of bytes we already downloaded. uint32 _network_join_bytes_total; ///< The total number of bytes to download. -/** Widgets used for the join status window. */ -enum NetworkJoinStatusWidgets { - NJSW_BACKGROUND, ///< Background - NJSW_CANCELOK, ///< Cancel/OK button -}; - struct NetworkJoinStatusWindow : Window { NetworkPasswordType password_type; @@ -2215,17 +2119,6 @@ void ShowNetworkNeedPassword(NetworkPass ShowQueryString(STR_EMPTY, caption, NETWORK_PASSWORD_LENGTH, w, CS_ALPHANUMERAL, QSF_NONE); } - -/** Enum for NetworkGameWindow, referring to _network_game_window_widgets */ -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. -}; - struct NetworkCompanyPasswordWindow : public QueryStringBaseWindow { NetworkCompanyPasswordWindow(const WindowDesc *desc, Window *parent) : QueryStringBaseWindow(lengthof(_settings_client.network.default_company_pass)) { diff --git a/src/newgrf_debug_gui.cpp b/src/newgrf_debug_gui.cpp --- a/src/newgrf_debug_gui.cpp +++ b/src/newgrf_debug_gui.cpp @@ -33,6 +33,8 @@ #include "newgrf_station.h" #include "newgrf_town.h" +#include "widgets/newgrf_debug_widget.h" + #include "table/strings.h" /** The sprite picker. */ @@ -274,15 +276,6 @@ static inline const NIHelper *GetFeature return GetFeature(window_number)->helper; } - -/** Widget numbers of settings window */ -enum NewGRFInspectWidgets { - NIW_CAPTION, ///< The caption bar ofcourse - NIW_PARENT, ///< Inspect the parent - NIW_MAINPANEL, ///< Panel widget containing the actual data - NIW_SCROLLBAR, ///< Scrollbar -}; - /** Window used for inspecting NewGRFs. */ struct NewGRFInspectWindow : Window { static const int LEFT_OFFSET = 5; ///< Position of left edge @@ -643,23 +636,6 @@ GrfSpecFeature GetGrfSpecFeature(Vehicle /**** Sprite Aligner ****/ -/** Widgets we want (some) influence over. */ -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 -}; - /** Window used for aligning sprites. */ struct SpriteAlignerWindow : Window { SpriteID current_sprite; ///< The currently shown sprite diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp --- a/src/newgrf_gui.cpp +++ b/src/newgrf_gui.cpp @@ -28,6 +28,8 @@ #include "fileio_func.h" #include "fontcache.h" +#include "widgets/newgrf_widget.h" + #include "table/strings.h" #include "table/sprites.h" @@ -137,22 +139,6 @@ static void ShowNewGRFInfo(const GRFConf } } - -/** Enum referring to the widgets of the NewGRF parameters window */ -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 -}; - /** * Window for setting the parameters of a NewGRF. */ @@ -466,14 +452,6 @@ void OpenGRFParameterWindow(GRFConfig *c new NewGRFParametersWindow(&_newgrf_parameters_desc, c); } -/** Widgets of the #NewGRFTextfileWindow. */ -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. -}; - /** Window for displaying the textfile of a NewGRF. */ struct NewGRFTextfileWindow : public Window, MissingGlyphSearcher { const GRFConfig *grf_config; ///< View the textfile of this GRFConfig. @@ -699,35 +677,6 @@ public: static void NewGRFConfirmationCallback(Window *w, bool confirmed); -/** Names of the manage newgrfs window widgets. */ -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'. -}; - /** * Window for showing NewGRF files */ @@ -1961,12 +1910,6 @@ void ShowNewGRFSettings(bool editable, b new NewGRFWindow(&_newgrf_desc, editable, show_params, exec_changes, config); } -/** The widgets for the scan progress. */ -enum ScanProgressWindowWidgets { - SPWW_PROGRESS_BAR, ///< Simple progress bar. - GPWW_PROGRESS_TEXT, ///< Text explaining what is happening. -}; - /** Widgets for the progress window. */ static const NWidgetPart _nested_scan_progress_widgets[] = { NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_NEWGRF_SCAN_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), diff --git a/src/news_gui.cpp b/src/news_gui.cpp --- a/src/news_gui.cpp +++ b/src/news_gui.cpp @@ -32,6 +32,8 @@ #include "engine_gui.h" #include "core/geometry_func.hpp" +#include "widgets/news_widget.h" + #include "table/strings.h" const NewsItem *_statusbar_news_item = NULL; @@ -71,27 +73,6 @@ static TileIndex GetReferenceTile(NewsRe } } -/** Widget numbers of the news display windows. */ -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. -}; - /* Normal news items. */ static const NWidgetPart _nested_normal_news_widgets[] = { NWidget(WWT_PANEL, COLOUR_WHITE, NTW_PANEL), @@ -967,13 +948,6 @@ static void DrawNewsString(uint left, ui DrawString(left, right, y, buffer2, colour); } -/** Widget numbers of the message history window. */ -enum MessageHistoryWidgets { - MHW_STICKYBOX, - MHW_BACKGROUND, - MHW_SCROLLBAR, -}; - struct MessageHistoryWindow : Window { static const int top_spacing; ///< Additional spacing at the top of the #MHW_BACKGROUND widget. static const int bottom_spacing; ///< Additional spacing at the bottom of the #MHW_BACKGROUND widget. @@ -1108,32 +1082,6 @@ void ShowMessageHistory() new MessageHistoryWindow(&_message_history_desc); } -/** 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. -}; - -/** Message options widget numbers. */ -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. -}; - struct MessageOptionsWindow : Window { static const StringID message_opt[]; ///< Message report options, 'off', 'summary', or 'full'. int state; ///< Option value for setting all categories at once. diff --git a/src/object_gui.cpp b/src/object_gui.cpp --- a/src/object_gui.cpp +++ b/src/object_gui.cpp @@ -19,26 +19,14 @@ #include "viewport_func.h" #include "window_gui.h" +#include "widgets/object_widget.h" + #include "table/strings.h" static ObjectClassID _selected_object_class; ///< the currently visible object class static int _selected_object_index; ///< the index of the selected object in the current class or -1 static uint8 _selected_object_view; ///< the view of the selected object -/** Object widgets in the object picker window. */ -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. -}; - /** The window used for building objects. */ class BuildObjectWindow : public PickerWindowBase { static const int OBJECT_MARGIN = 4; ///< The margin (in pixels) around an object. diff --git a/src/order_gui.cpp b/src/order_gui.cpp --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -31,36 +31,9 @@ #include "hotkeys.h" #include "aircraft.h" -#include "table/strings.h" +#include "widgets/order_widget.h" -/** Widget numbers of the order window. */ -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, -}; +#include "table/strings.h" /** Order load types that could be given to station orders. */ static const StringID _station_load_types[][5][5] = { diff --git a/src/osk_gui.cpp b/src/osk_gui.cpp --- a/src/osk_gui.cpp +++ b/src/osk_gui.cpp @@ -17,37 +17,11 @@ #include "gfx_func.h" #include "querystring_gui.h" +#include "widgets/osk_widget.h" + #include "table/sprites.h" #include "table/strings.h" -/** Widget numbers of the on-screen keyboard (OSK) window. */ -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. -}; - char _keyboard_opt[2][OSK_KEYBOARD_ENTRIES * 4 + 1]; static WChar _keyboard[2][OSK_KEYBOARD_ENTRIES]; diff --git a/src/rail_gui.cpp b/src/rail_gui.cpp --- a/src/rail_gui.cpp +++ b/src/rail_gui.cpp @@ -37,6 +37,8 @@ #include "station_map.h" #include "tunnelbridge_map.h" +#include "widgets/rail_widget.h" + #include "table/strings.h" static RailType _cur_railtype; ///< Rail type of the current build-rail toolbar. @@ -277,27 +279,6 @@ void CcBuildRailTunnel(const CommandCost } } - -/** Enum referring to the widgets of the build rail toolbar */ -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, -}; - - /** * Toggles state of the Remove button of Build rail toolbar * @param w window the button belongs to @@ -892,48 +873,6 @@ static void HandleStationPlacement(TileI ShowSelectStationIfNeeded(cmdcont, ta); } -/** Enum referring to the widgets of the rail stations window */ -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, -}; - struct BuildRailStationWindow : public PickerWindowBase { private: uint line_height; ///< Height of a single line in the newstation selection matrix (#BRSW_NEWST_LIST widget). @@ -1498,27 +1437,6 @@ static void ShowStationBuilder(Window *p new BuildRailStationWindow(&_station_builder_desc, parent, newstations); } -/** Enum referring to the widgets of the signal window */ -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, -}; - struct BuildSignalWindow : public PickerWindowBase { private: /** @@ -1702,14 +1620,6 @@ static void ShowSignalBuilder(Window *pa new BuildSignalWindow(&_signal_builder_desc, parent); } -/** Enum referring to the widgets of the build rail depot window */ -enum BuildRailDepotWidgets { - BRDW_DEPOT_NE, - BRDW_DEPOT_SE, - BRDW_DEPOT_SW, - BRDW_DEPOT_NW, -}; - struct BuildRailDepotWindow : public PickerWindowBase { BuildRailDepotWindow(const WindowDesc *desc, Window *parent) : PickerWindowBase(parent) { @@ -1784,13 +1694,6 @@ static void ShowBuildTrainDepotPicker(Wi new BuildRailDepotWindow(&_build_depot_desc, parent); } -/** Enum referring to the widgets of the build NewGRF rail waypoint window */ -enum BuildRailWaypointWidgets { - BRWW_WAYPOINT_MATRIX, - BRWW_WAYPOINT, - BRWW_SCROLL, -}; - struct BuildRailWaypointWindow : PickerWindowBase { BuildRailWaypointWindow(const WindowDesc *desc, Window *parent) : PickerWindowBase(parent) { diff --git a/src/road_gui.cpp b/src/road_gui.cpp --- a/src/road_gui.cpp +++ b/src/road_gui.cpp @@ -29,6 +29,8 @@ #include "hotkeys.h" #include "road_gui.h" +#include "widgets/road_widget.h" + #include "table/strings.h" static void ShowRVStationPicker(Window *parent, RoadStopType rs); @@ -268,24 +270,8 @@ static void PlaceRoad_TruckStation(TileI } } -/** Enum referring to the widgets of the build road toolbar */ -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, -}; - typedef void OnButtonClick(Window *w); - /** * Toogles state of the Remove button of Build road toolbar * @param w window the button belongs to @@ -852,15 +838,6 @@ EventState RoadToolbarEditorGlobalHotkey return w->OnKeyPress(key, keycode); } -/** Enum referring to the widgets of the build road depot window */ -enum BuildRoadDepotWidgets { - BRDW_CAPTION, - BRDW_DEPOT_NE, - BRDW_DEPOT_SE, - BRDW_DEPOT_SW, - BRDW_DEPOT_NW, -}; - struct BuildRoadDepotWindow : public PickerWindowBase { BuildRoadDepotWindow(const WindowDesc *desc, Window *parent) : PickerWindowBase(parent) { @@ -944,21 +921,6 @@ static void ShowRoadDepotPicker(Window * new BuildRoadDepotWindow(&_build_road_depot_desc, parent); } -/** Enum referring to the widgets of the build road station window */ -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, -}; - struct BuildRoadStationWindow : public PickerWindowBase { BuildRoadStationWindow(const WindowDesc *desc, Window *parent, RoadStopType rs) : PickerWindowBase(parent) { diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -34,6 +34,8 @@ #include "ai/ai.hpp" #include "language.h" +#include "widgets/settings_widget.h" + #include "table/sprites.h" #include "table/strings.h" #include @@ -103,28 +105,6 @@ static int GetCurRes() return i; } -/** Widgets of the game options menu */ -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 -}; - static void ShowCustCurrency(); template @@ -629,20 +609,6 @@ void ShowGameOptions() extern void StartupEconomy(); - -/* Names of the game difficulty settings window */ -enum GameDifficultyWidgets { - GDW_LVL_EASY, - GDW_LVL_MEDIUM, - GDW_LVL_HARD, - GDW_LVL_CUSTOM, - GDW_HIGHSCORE, - GDW_ACCEPT, - GDW_CANCEL, - - GDW_OPTIONS_START, -}; - void SetDifficultyLevel(int mode, DifficultySettings *gm_opt); class GameDifficultyWindow : public Window { @@ -1596,12 +1562,6 @@ static SettingEntry _settings_main[] = { /** Main page, holding all advanced settings */ static SettingsPage _settings_main_page = {_settings_main, lengthof(_settings_main)}; -/** Widget numbers of settings window */ -enum GameSettingsWidgets { - SETTINGSEL_OPTIONSPANEL, ///< Panel widget containing the option lists - SETTINGSEL_SCROLLBAR, ///< Scrollbar -}; - struct GameSettingsWindow : Window { static const int SETTINGTREE_LEFT_OFFSET = 5; ///< Position of left edge of setting values static const int SETTINGTREE_RIGHT_OFFSET = 5; ///< Position of right edge of setting values @@ -1866,23 +1826,6 @@ void DrawArrowButtons(int x, int y, Colo } } -/** Widget numbers of the custom currency window. */ -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, -}; - struct CustomCurrencyWindow : Window { int query_widget; diff --git a/src/signs_gui.cpp b/src/signs_gui.cpp --- a/src/signs_gui.cpp +++ b/src/signs_gui.cpp @@ -28,6 +28,8 @@ #include "hotkeys.h" #include "transparency.h" +#include "widgets/sign_widget.h" + #include "table/strings.h" #include "table/sprites.h" @@ -139,16 +141,6 @@ struct SignList { const Sign *SignList::last_sign = NULL; bool SignList::match_case = false; -/** Enum referring to the widgets in the sign list window */ -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 -}; - /** Enum referring to the Hotkeys in the sign list window */ enum SignListHotkeys { SLHK_FOCUS_FILTER_BOX, ///< Focus the edit box for editing the filter string @@ -479,17 +471,6 @@ static bool RenameSign(SignID index, con return remove; } -/** Widget numbers of the query sign edit window. */ -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, -}; - struct SignWindow : QueryStringBaseWindow, SignList { SignID cur_sign; diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp --- a/src/smallmap_gui.cpp +++ b/src/smallmap_gui.cpp @@ -27,29 +27,9 @@ #include "window_func.h" #include "company_base.h" -#include "table/strings.h" +#include "widgets/smallmap_widget.h" -/** Widget numbers of the small map window. */ -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. -}; +#include "table/strings.h" static int _smallmap_industry_count; ///< Number of used industries static int _smallmap_company_count; ///< Number of entries in the owner legend. diff --git a/src/station_gui.cpp b/src/station_gui.cpp --- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -30,6 +30,8 @@ #include "core/geometry_func.hpp" #include "vehiclelist.h" +#include "widgets/station_widget.h" + #include "table/strings.h" /** @@ -173,29 +175,6 @@ static void StationsWndShowStationRating typedef GUIList GUIStationList; -/** Enum for CompanyStations, referring to _company_stations_widgets */ -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) -}; - /** * The list of stations per company. */ @@ -1335,12 +1314,6 @@ static const T *FindStationsNearby(TileA return NULL; } -enum JoinStationWidgets { - JSW_WIDGET_CAPTION, - JSW_PANEL, - JSW_SCROLLBAR, -}; - static const NWidgetPart _nested_select_station_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_DARK_GREEN), diff --git a/src/station_gui.h b/src/station_gui.h --- a/src/station_gui.h +++ b/src/station_gui.h @@ -16,22 +16,7 @@ #include "tilearea_type.h" #include "window_type.h" -/** Enum for StationView, referring to _station_view_widgets and _station_view_expanded_widgets */ -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 -}; +#include "widgets/station_widget.h" /** Types of cargo to display for station coverage. */ enum StationCoverageType { diff --git a/src/statusbar_gui.cpp b/src/statusbar_gui.cpp --- a/src/statusbar_gui.cpp +++ b/src/statusbar_gui.cpp @@ -26,6 +26,8 @@ #include "statusbar_gui.h" #include "core/geometry_func.hpp" +#include "widgets/statusbar_widget.h" + #include "table/strings.h" #include "table/sprites.h" @@ -71,12 +73,6 @@ static bool DrawScrollingStatusText(cons return (_current_text_dir == TD_RTL) ? (pos < right - left) : (pos + width > 0); } -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 -}; - struct StatusBarWindow : Window { bool saving; int ticker_scroll; diff --git a/src/subsidy_gui.cpp b/src/subsidy_gui.cpp --- a/src/subsidy_gui.cpp +++ b/src/subsidy_gui.cpp @@ -22,13 +22,9 @@ #include "subsidy_base.h" #include "core/geometry_func.hpp" -#include "table/strings.h" +#include "widgets/subsidy_widget.h" -/** Widget numbers for the subsidy list window. */ -enum SubsidyListWidgets { - SLW_PANEL, - SLW_SCROLLBAR, -}; +#include "table/strings.h" struct SubsidyListWindow : Window { Scrollbar *vscroll; diff --git a/src/terraform_gui.cpp b/src/terraform_gui.cpp --- a/src/terraform_gui.cpp +++ b/src/terraform_gui.cpp @@ -32,6 +32,8 @@ #include "hotkeys.h" #include "engine_base.h" +#include "widgets/terraform_widget.h" + #include "table/strings.h" void CcTerraform(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2) @@ -141,20 +143,6 @@ void PlaceProc_DemolishArea(TileIndex ti VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_DEMOLISH_AREA); } -/** Enum referring to the widgets of the terraform toolbar */ -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 -}; - /** Terra form toolbar managing class. */ struct TerraformToolbarWindow : Window { int last_user_action; ///< Last started user action. @@ -467,26 +455,6 @@ static const int8 _multi_terraform_coord {-28, 0}, {-24, -2}, {-20, -4}, {-16, -6}, {-12, -8}, { -8,-10}, { -4,-12}, { 0,-14}, { 4,-12}, { 8,-10}, { 12, -8}, { 16, -6}, { 20, -4}, { 24, -2}, { 28, 0}, }; -/** Enum referring to the widgets of the editor terraform toolbar */ -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 -}; - static const NWidgetPart _nested_scen_edit_land_gen_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_DARK_GREEN), diff --git a/src/timetable_gui.cpp b/src/timetable_gui.cpp --- a/src/timetable_gui.cpp +++ b/src/timetable_gui.cpp @@ -25,27 +25,11 @@ #include "vehicle_gui.h" #include "settings_type.h" +#include "widgets/timetable_widget.h" + #include "table/sprites.h" #include "table/strings.h" -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 -}; - /** Container for the arrival/departure dates of a vehicle */ struct TimetableArrivalDeparture { Ticks arrival; ///< The arrival time diff --git a/src/toolbar_gui.cpp b/src/toolbar_gui.cpp --- a/src/toolbar_gui.cpp +++ b/src/toolbar_gui.cpp @@ -44,6 +44,8 @@ #include "engine_base.h" #include "settings_type.h" +#include "widgets/toolbar_widget.h" + #include "network/network.h" #include "network/network_gui.h" #include "network/network_func.h" @@ -68,63 +70,6 @@ enum CallBackFunction { CBF_PLACE_LANDINFO, }; -/** Toolbar widgets in the 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 -}; - -/** Toolbar widgets in the 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, -}; - /** * Drop down list entry for showing a checked/unchecked toggle item. */ diff --git a/src/town_gui.cpp b/src/town_gui.cpp --- a/src/town_gui.cpp +++ b/src/town_gui.cpp @@ -36,20 +36,12 @@ #include "genworld.h" #include "sprite.h" +#include "widgets/town_widget.h" + #include "table/strings.h" typedef GUIList GUITownList; -/** Widget numbers of the town authority window. */ -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. -}; - static const NWidgetPart _nested_town_authority_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_BROWN), @@ -303,17 +295,6 @@ static void ShowTownAuthorityWindow(uint AllocateWindowDescFront(&_town_authority_desc, town); } -/** Widget numbers of the town view window. */ -enum TownViewWidgets { - TVW_CAPTION, - TVW_VIEWPORT, - TVW_INFOPANEL, - TVW_CENTERVIEW, - TVW_SHOWAUTHORITY, - TVW_CHANGENAME, - TVW_EXPAND, - TVW_DELETE, -}; /* Town view window. */ struct TownViewWindow : Window { @@ -609,16 +590,6 @@ void ShowTownViewWindow(TownID town) } } -/** Widget numbers of town directory window. */ -enum TownDirectoryWidgets { - TDW_SORTNAME, - TDW_SORTPOPULATION, - TDW_CENTERTOWN, - TDW_SCROLLBAR, - TDW_BOTTOM_PANEL, - TDW_BOTTOM_TEXT, -}; - static const NWidgetPart _nested_town_directory_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_BROWN), @@ -915,29 +886,6 @@ void CcFoundRandomTown(const CommandCost if (result.Succeeded()) ScrollMainWindowToTile(Town::Get(_new_town_id)->xy); } -/** Widget numbers of town scenario editor window. */ -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, -}; - static const NWidgetPart _nested_found_town_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_DARK_GREEN), diff --git a/src/transparency_gui.cpp b/src/transparency_gui.cpp --- a/src/transparency_gui.cpp +++ b/src/transparency_gui.cpp @@ -14,6 +14,8 @@ #include "transparency.h" #include "sound_func.h" +#include "widgets/transparency_widget.h" + #include "table/sprites.h" #include "table/strings.h" @@ -22,25 +24,6 @@ TransparencyOptionBits _transparency_loc TransparencyOptionBits _invisibility_opt; ///< The bits that should be invisible. byte _display_opt; ///< What do we want to draw/do? -/** Widget numbers of the transparency window. */ -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. -}; - class TransparenciesWindow : public Window { public: diff --git a/src/tree_gui.cpp b/src/tree_gui.cpp --- a/src/tree_gui.cpp +++ b/src/tree_gui.cpp @@ -19,30 +19,14 @@ #include "sound_func.h" #include "tree_map.h" +#include "widgets/tree_widget.h" + #include "table/sprites.h" #include "table/strings.h" #include "table/tree_land.h" void PlaceTreesRandomly(); -/** Widget definitions for the build trees window. */ -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, -}; - /** Tree Sprites with their palettes */ const PalSpriteID tree_sprites[] = { { 1621, PAL_NONE }, { 1587, PAL_NONE }, { 1656, PAL_NONE }, { 1579, PAL_NONE }, diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -356,19 +356,6 @@ static void DrawVehicleRefitWindow(const } } -/** Widget numbers of the vehicle refit window. */ -enum VehicleRefitWidgets { - VRW_CAPTION, - VRW_VEHICLE_PANEL_DISPLAY, - VRW_SHOW_HSCROLLBAR, - VRW_HSCROLLBAR, - VRW_SELECTHEADER, - VRW_MATRIX, - VRW_SCROLLBAR, - VRW_INFOPANEL, - VRW_REFITBUTTON, -}; - /** Refit cargo window. */ struct RefitWindow : public Window { int sel; ///< Index in refit options, \c -1 if nothing is selected. @@ -1173,19 +1160,6 @@ void ChangeVehicleViewWindow(VehicleID f ChangeVehicleWindow(WC_VEHICLE_TIMETABLE, from_index, to_index); } -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, -}; - static const NWidgetPart _nested_vehicle_list[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_GREY), @@ -1715,23 +1689,6 @@ void ShowVehicleListWindow(CompanyID com /* Unified vehicle GUI - Vehicle Details Window */ -/** Constants of vehicle details widget indices */ -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, -}; - assert_compile(VLD_WIDGET_DETAILS_CARGO_CARRIED == VLD_WIDGET_DETAILS_CARGO_CARRIED + TDW_TAB_CARGO ); assert_compile(VLD_WIDGET_DETAILS_TRAIN_VEHICLES == VLD_WIDGET_DETAILS_CARGO_CARRIED + TDW_TAB_INFO ); assert_compile(VLD_WIDGET_DETAILS_CAPACITY_OF_EACH == VLD_WIDGET_DETAILS_CARGO_CARRIED + TDW_TAB_CAPACITY); diff --git a/src/vehicle_gui.h b/src/vehicle_gui.h --- a/src/vehicle_gui.h +++ b/src/vehicle_gui.h @@ -18,26 +18,10 @@ #include "station_type.h" #include "engine_type.h" #include "company_type.h" +#include "widgets/vehicle_widget.h" void ShowVehicleRefitWindow(const Vehicle *v, VehicleOrderID order, Window *parent, bool auto_refit = false); -/** Constants of vehicle view widget indices */ -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, -}; - /** The tabs in the train details window */ enum TrainDetailsWindowTabs { TDW_TAB_CARGO = 0, ///< Tab with cargo carried by the vehicles diff --git a/src/viewport_gui.cpp b/src/viewport_gui.cpp --- a/src/viewport_gui.cpp +++ b/src/viewport_gui.cpp @@ -17,19 +17,11 @@ #include "zoom_func.h" #include "window_func.h" +#include "widgets/viewport_widget.h" + #include "table/strings.h" #include "table/sprites.h" -/** Widget numbers of the extra viewport window. */ -enum ExtraViewportWindowWidgets { - EVW_CAPTION, - EVW_VIEWPORT, - EVW_ZOOMIN, - EVW_ZOOMOUT, - EVW_MAIN_TO_VIEW, - EVW_VIEW_TO_MAIN, -}; - /* Extra ViewPort Window Stuff */ static const NWidgetPart _nested_extra_view_port_widgets[] = { NWidget(NWID_HORIZONTAL), diff --git a/src/waypoint_gui.cpp b/src/waypoint_gui.cpp --- a/src/waypoint_gui.cpp +++ b/src/waypoint_gui.cpp @@ -23,16 +23,9 @@ #include "window_func.h" #include "waypoint_base.h" -#include "table/strings.h" +#include "widgets/waypoint_widget.h" -/** Widget definitions for the waypoint window. */ -enum WaypointWindowWidgets { - WAYPVW_CAPTION, - WAYPVW_VIEWPORT, - WAYPVW_CENTERVIEW, - WAYPVW_RENAME, - WAYPVW_SHOW_VEHICLES, -}; +#include "table/strings.h" /** GUI for accessing waypoints and buoys. */ struct WaypointWindow : Window { diff --git a/src/widgets/ai_widget.h b/src/widgets/ai_widget.h new file mode 100644 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- 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(DropDownL 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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 --- /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 . + */ + +/** @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 */ diff --git a/src/window_type.h b/src/window_type.h --- a/src/window_type.h +++ b/src/window_type.h @@ -71,7 +71,6 @@ enum WindowClass { WC_MUSIC_WINDOW, WC_MUSIC_TRACK_SELECTION, WC_SCEN_LAND_GEN, - WC_SCEN_INDUSTRY, WC_SCEN_BUILD_TOOLBAR, WC_BUILD_TREES, WC_SEND_NETWORK_MSG,