Merge branch 'master' into more_cond_orders

Conflicts:
	src/order_base.h
	src/order_gui.cpp
	src/saveload/saveload.cpp
	src/saveload/saveload.h
This commit is contained in:
Jonathan G Rennison
2015-08-26 22:51:47 +01:00
1117 changed files with 142468 additions and 73477 deletions

View File

@@ -60,7 +60,7 @@ enum AIDebugWidgets {
WID_AID_SCRIPT_GAME, ///< Game Script button.
WID_AID_RELOAD_TOGGLE, ///< Reload button.
WID_AID_LOG_PANEL, ///< Panel where the log is in.
WID_AID_SCROLLBAR, ///< Scrollbar of the log pannel.
WID_AID_SCROLLBAR, ///< Scrollbar of the log panel.
WID_AID_COMPANY_BUTTON_START, ///< Buttons in the VIEW.
WID_AID_COMPANY_BUTTON_END = WID_AID_COMPANY_BUTTON_START + MAX_COMPANIES - 1, ///< Last possible button in the VIEW.
WID_AID_BREAK_STRING_WIDGETS, ///< The panel to handle the breaking on string.

View File

@@ -16,11 +16,16 @@
enum ReplaceVehicleWidgets {
WID_RV_CAPTION, ///< Caption of the window.
/* Sort dropdown at the right. */
WID_RV_SORT_ASCENDING_DESCENDING, ///< Ascending/descending sort order button.
WID_RV_SHOW_HIDDEN_ENGINES, ///< Toggle whether to display the hidden vehicles.
WID_RV_SORT_DROPDOWN, ///< Dropdown for the sort criteria.
/* Left and right matrix + details. */
WID_RV_LEFT_MATRIX, ///< The matrix on the left.
WID_RV_LEFT_SCROLLBAR, ///< The scrollbar for the matrix on the left.
WID_RV_RIGHT_MATRIX, ///< The matrix on the right.
WID_RV_RIGHT_SCROLLBAR, ///< The scrollbar for the matrxi on the right.
WID_RV_RIGHT_SCROLLBAR, ///< The scrollbar for the matrix on the right.
WID_RV_LEFT_DETAILS, ///< Details of the entry on the left.
WID_RV_RIGHT_DETAILS, ///< Details of the entry on the right.

View File

@@ -15,13 +15,15 @@
/** Widgets of the #BuildVehicleWindow class. */
enum BuildVehicleWidgets {
WID_BV_CAPTION, ///< Caption of window.
WID_BV_SORT_ASSENDING_DESCENDING, ///< Sort direction.
WID_BV_SORT_ASCENDING_DESCENDING, ///< Sort direction.
WID_BV_SORT_DROPDOWN, ///< Criteria of sorting dropdown.
WID_BV_CARGO_FILTER_DROPDOWN, ///< Cargo filter dropdown.
WID_BV_SHOW_HIDDEN_ENGINES, ///< Toggle whether to display the hidden vehicles.
WID_BV_LIST, ///< List of vehicles.
WID_BV_SCROLLBAR, ///< Scrollbar of list.
WID_BV_PANEL, ///< Button panel.
WID_BV_BUILD, ///< Build panel.
WID_BV_SHOW_HIDE, ///< Button to hide or show the selected engine.
WID_BV_BUILD_SEL, ///< Build button.
WID_BV_RENAME, ///< Rename button.
};

View File

@@ -18,6 +18,8 @@
#include "dropdown_widget.h"
#include "../safeguards.h"
void DropDownListItem::Draw(int left, int right, int top, int bottom, bool sel, int bg_colour) const
{
@@ -48,12 +50,12 @@ void DropDownListStringItem::Draw(int left, int right, int top, int bottom, bool
* @return true if \a first precedes \a second.
* @warning All items in the list need to be derivates of DropDownListStringItem.
*/
/* static */ bool DropDownListStringItem::NatSortFunc(const DropDownListItem *first, const DropDownListItem *second)
/* static */ int DropDownListStringItem::NatSortFunc(const DropDownListItem * const *first, const DropDownListItem * const * second)
{
char buffer1[512], buffer2[512];
GetString(buffer1, static_cast<const DropDownListStringItem*>(first)->String(), lastof(buffer1));
GetString(buffer2, static_cast<const DropDownListStringItem*>(second)->String(), lastof(buffer2));
return strnatcmp(buffer1, buffer2) < 0;
GetString(buffer1, static_cast<const DropDownListStringItem*>(*first)->String(), lastof(buffer1));
GetString(buffer2, static_cast<const DropDownListStringItem*>(*second)->String(), lastof(buffer2));
return strnatcmp(buffer1, buffer2);
}
StringID DropDownListParamStringItem::String() const
@@ -68,19 +70,6 @@ StringID DropDownListCharStringItem::String() const
return this->string;
}
/**
* Delete all items of a drop down list and the list itself
* @param list List to delete.
*/
static void DeleteDropDownList(DropDownList *list)
{
for (DropDownList::iterator it = list->begin(); it != list->end(); ++it) {
DropDownListItem *item = *it;
delete item;
}
delete list;
}
static const NWidgetPart _nested_dropdown_menu_widgets[] = {
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PANEL, COLOUR_END, WID_DM_ITEMS), SetMinimalSize(1, 1), SetScrollbar(WID_DM_SCROLL), EndContainer(),
@@ -90,10 +79,10 @@ static const NWidgetPart _nested_dropdown_menu_widgets[] = {
EndContainer(),
};
const WindowDesc _dropdown_desc(
WDP_MANUAL, 0, 0,
static WindowDesc _dropdown_desc(
WDP_MANUAL, NULL, 0, 0,
WC_DROPDOWN_MENU, WC_NONE,
0,
WDF_NO_FOCUS,
_nested_dropdown_menu_widgets, lengthof(_nested_dropdown_menu_widgets)
);
@@ -102,7 +91,7 @@ struct DropdownWindow : Window {
WindowClass parent_wnd_class; ///< Parent window class.
WindowNumber parent_wnd_num; ///< Parent window number.
int parent_button; ///< Parent widget number where the window is dropped from.
DropDownList *list; ///< List with dropdown menu items.
const DropDownList *list; ///< List with dropdown menu items.
int selected_index; ///< Index of the selected item in the list.
byte click_delay; ///< Timer to delay selection.
bool drag_mode;
@@ -124,11 +113,14 @@ struct DropdownWindow : Window {
* @param scroll Dropdown menu has a scrollbar.
* @param widget Widgets of the dropdown menu window.
*/
DropdownWindow(Window *parent, DropDownList *list, int selected, int button, bool instant_close, const Point &position, const Dimension &size, Colours wi_colour, bool scroll) : Window()
DropdownWindow(Window *parent, const DropDownList *list, int selected, int button, bool instant_close, const Point &position, const Dimension &size, Colours wi_colour, bool scroll)
: Window(&_dropdown_desc)
{
assert(list->Length() > 0);
this->position = position;
this->CreateNestedTree(&_dropdown_desc);
this->CreateNestedTree();
this->vscroll = this->GetScrollbar(WID_DM_SCROLL);
@@ -142,19 +134,19 @@ struct DropdownWindow : Window {
this->GetWidget<NWidgetStacked>(WID_DM_SHOW_SCROLL)->SetDisplayedPlane(scroll ? 0 : SZSP_NONE);
this->FinishInitNested(&_dropdown_desc, 0);
this->FinishInitNested(0);
CLRBITS(this->flags, WF_WHITE_BORDER);
/* Total length of list */
int list_height = 0;
for (DropDownList::const_iterator it = list->begin(); it != list->end(); ++it) {
DropDownListItem *item = *it;
for (const DropDownListItem * const *it = list->Begin(); it != list->End(); ++it) {
const DropDownListItem *item = *it;
list_height += item->Height(items_width);
}
/* Capacity is the average number of items visible */
this->vscroll->SetCapacity(size.height * (uint16)list->size() / list_height);
this->vscroll->SetCount((uint16)list->size());
this->vscroll->SetCapacity(size.height * (uint16)list->Length() / list_height);
this->vscroll->SetCount((uint16)list->Length());
this->parent_wnd_class = parent->window_class;
this->parent_wnd_num = parent->window_number;
@@ -180,10 +172,10 @@ struct DropdownWindow : Window {
pt.y -= w2->top;
w2->OnDropdownClose(pt, this->parent_button, this->selected_index, this->instant_close);
}
DeleteDropDownList(this->list);
delete this->list;
}
virtual Point OnInitialPosition(const WindowDesc *desc, int16 sm_width, int16 sm_height, int window_number)
virtual Point OnInitialPosition(int16 sm_width, int16 sm_height, int window_number)
{
return this->position;
}
@@ -204,7 +196,7 @@ struct DropdownWindow : Window {
const DropDownList *list = this->list;
for (DropDownList::const_iterator it = list->begin(); it != list->end(); ++it) {
for (const DropDownListItem * const *it = list->Begin(); it != list->End(); ++it) {
/* Skip items that are scrolled up */
if (--pos >= 0) continue;
@@ -227,11 +219,11 @@ struct DropdownWindow : Window {
{
if (widget != WID_DM_ITEMS) return;
TextColour colour = (TextColour)this->GetWidget<NWidgetCore>(widget)->colour;
Colours colour = this->GetWidget<NWidgetCore>(widget)->colour;
int y = r.top + 2;
int pos = this->vscroll->GetPosition();
for (DropDownList::const_iterator it = this->list->begin(); it != this->list->end(); ++it) {
for (const DropDownListItem * const *it = this->list->Begin(); it != this->list->End(); ++it) {
const DropDownListItem *item = *it;
int item_height = item->Height(r.right - r.left + 1);
@@ -342,7 +334,7 @@ struct DropdownWindow : Window {
* @param instant_close Set to true if releasing mouse button should close the
* list regardless of where the cursor is.
*/
void ShowDropDownListAt(Window *w, DropDownList *list, int selected, int button, Rect wi_rect, Colours wi_colour, bool auto_width, bool instant_close)
void ShowDropDownListAt(Window *w, const DropDownList *list, int selected, int button, Rect wi_rect, Colours wi_colour, bool auto_width, bool instant_close)
{
DeleteWindowById(WC_DROPDOWN_MENU, 0);
@@ -352,27 +344,18 @@ void ShowDropDownListAt(Window *w, DropDownList *list, int selected, int button,
/* The preferred width equals the calling widget */
uint width = wi_rect.right - wi_rect.left + 1;
/* Longest item in the list, if auto_width is enabled */
uint max_item_width = 0;
if (auto_width) {
/* Find the longest item in the list */
for (DropDownList::const_iterator it = list->begin(); it != list->end(); ++it) {
const DropDownListItem *item = *it;
max_item_width = max(max_item_width, item->Width() + 5);
}
}
/* Total length of list */
int list_height = 0;
int height = 0;
for (DropDownList::const_iterator it = list->begin(); it != list->end(); ++it) {
DropDownListItem *item = *it;
list_height += item->Height(width);
for (const DropDownListItem * const *it = list->Begin(); it != list->End(); ++it) {
const DropDownListItem *item = *it;
height += item->Height(width);
if (auto_width) max_item_width = max(max_item_width, item->Width() + 5);
}
/* Height of window visible */
int height = list_height;
/* Check if the status bar is visible, as we don't want to draw over it */
int screen_bottom = GetMainViewBottom();
bool scroll = false;
@@ -385,7 +368,7 @@ void ShowDropDownListAt(Window *w, DropDownList *list, int selected, int button,
} else {
/* ... and lastly if it won't, enable the scroll bar and fit the
* list in below the widget */
int avg_height = list_height / (int)list->size();
int avg_height = height / (int)list->Length();
int rows = (screen_bottom - 4 - top) / avg_height;
height = rows * avg_height;
scroll = true;
@@ -397,8 +380,8 @@ void ShowDropDownListAt(Window *w, DropDownList *list, int selected, int button,
if (auto_width) width = max(width, max_item_width);
Point dw_pos = { w->left + (_current_text_dir == TD_RTL ? wi_rect.right + 1 - width : wi_rect.left), top};
Dimension dw_size = {width, height};
Point dw_pos = { w->left + (_current_text_dir == TD_RTL ? wi_rect.right + 1 - (int)width : wi_rect.left), top};
Dimension dw_size = {width, (uint)height};
new DropdownWindow(w, list, selected, button, instant_close, dw_pos, dw_size, wi_colour, scroll);
}
@@ -415,7 +398,7 @@ void ShowDropDownListAt(Window *w, DropDownList *list, int selected, int button,
* @param instant_close Set to true if releasing mouse button should close the
* list regardless of where the cursor is.
*/
void ShowDropDownList(Window *w, DropDownList *list, int selected, int button, uint width, bool auto_width, bool instant_close)
void ShowDropDownList(Window *w, const DropDownList *list, int selected, int button, uint width, bool auto_width, bool instant_close)
{
/* Our parent's button widget is used to determine where to place the drop
* down list window. */
@@ -452,8 +435,8 @@ void ShowDropDownList(Window *w, DropDownList *list, int selected, int button, u
* @param strings Menu list, end with #INVALID_STRING_ID
* @param selected Index of initial selected item.
* @param button Button widget number of the parent window \a w that wants the dropdown menu.
* @param disabled_mask Bitmask for diabled items (items with their bit set are not copied to the dropdown list).
* @param hidden_mask Bitmask for hidden items (items with their bit set are displayed, but not selectable in the dropdown list).
* @param disabled_mask Bitmask for disabled items (items with their bit set are displayed, but not selectable in the dropdown list).
* @param hidden_mask Bitmask for hidden items (items with their bit set are not copied to the dropdown list).
* @param width Width of the dropdown menu. If \c 0, use the width of parent widget \a button.
*/
void ShowDropDownMenu(Window *w, const StringID *strings, int selected, int button, uint32 disabled_mask, uint32 hidden_mask, uint width)
@@ -462,13 +445,13 @@ void ShowDropDownMenu(Window *w, const StringID *strings, int selected, int butt
for (uint i = 0; strings[i] != INVALID_STRING_ID; i++) {
if (!HasBit(hidden_mask, i)) {
list->push_back(new DropDownListStringItem(strings[i], i, HasBit(disabled_mask, i)));
*list->Append() = new DropDownListStringItem(strings[i], i, HasBit(disabled_mask, i));
}
}
/* No entries in the list? */
if (list->size() == 0) {
DeleteDropDownList(list);
if (list->Length() == 0) {
delete list;
return;
}
@@ -487,6 +470,7 @@ int HideDropDownMenu(Window *pw)
if (w->window_class != WC_DROPDOWN_MENU) continue;
DropdownWindow *dw = dynamic_cast<DropdownWindow*>(w);
assert(dw != NULL);
if (pw->window_class == dw->parent_wnd_class &&
pw->window_number == dw->parent_wnd_num) {
int parent_button = dw->parent_button;

View File

@@ -14,8 +14,8 @@
#include "../window_type.h"
#include "../gfx_func.h"
#include "../core/smallvec_type.hpp"
#include "table/strings.h"
#include <list>
/**
* Base list item class from which others are derived. If placed in a list it
@@ -50,7 +50,7 @@ public:
virtual void Draw(int left, int right, int top, int bottom, bool sel, int bg_colour) const;
virtual StringID String() const { return this->string; }
static bool NatSortFunc(const DropDownListItem *first, const DropDownListItem *second);
static int CDECL NatSortFunc(const DropDownListItem * const *first, const DropDownListItem * const *second);
};
/**
@@ -83,10 +83,10 @@ public:
/**
* A drop down list is a collection of drop down list items.
*/
typedef std::list<DropDownListItem *> DropDownList;
typedef AutoDeleteSmallVector<const DropDownListItem *, 4> DropDownList;
void ShowDropDownListAt(Window *w, DropDownList *list, int selected, int button, Rect wi_rect, Colours wi_colour, bool auto_width = false, bool instant_close = false);
void ShowDropDownListAt(Window *w, const DropDownList *list, int selected, int button, Rect wi_rect, Colours wi_colour, bool auto_width = false, bool instant_close = false);
void ShowDropDownList(Window *w, DropDownList *list, int selected, int button, uint width = 0, bool auto_width = false, bool instant_close = false);
void ShowDropDownList(Window *w, const DropDownList *list, int selected, int button, uint width = 0, bool auto_width = false, bool instant_close = false);
#endif /* WIDGETS_DROPDOWN_TYPE_H */

View File

@@ -25,11 +25,12 @@ enum GenerateLandscapeWidgets {
WID_GL_TOWN_PULLDOWN, ///< Dropdown 'No. of towns'.
WID_GL_INDUSTRY_PULLDOWN, ///< Dropdown 'No. of industries'.
WID_GL_RANDOM_EDITBOX, ///< 'Random seed' editbox.
WID_GL_RANDOM_BUTTON, ///< 'Randomise' button.
WID_GL_GENERATE_BUTTON, ///< 'Generate' button.
WID_GL_MAX_HEIGHTLEVEL_DOWN, ///< Decrease max. heightlevel
WID_GL_MAX_HEIGHTLEVEL_TEXT, ///< Max. heightlevel
WID_GL_MAX_HEIGHTLEVEL_UP, ///< Increase max. heightlevel
WID_GL_START_DATE_DOWN, ///< Decrease start year.
WID_GL_START_DATE_TEXT, ///< Start year.
WID_GL_START_DATE_UP, ///< Increase start year.

View File

@@ -15,8 +15,9 @@
/** Widgets of the #GoalListWindow class. */
enum GoalListWidgets {
WID_GL_PANEL, ///< Panel of the window.
WID_GL_SCROLLBAR, ///< Scrollbar of the panel.
WID_GOAL_CAPTION, ///< Caption of the window.
WID_GOAL_LIST, ///< Goal list.
WID_GOAL_SCROLLBAR, ///< Scrollbar of the goal list.
};
/** Widgets of the #GoalQuestionWindow class. */

View File

@@ -40,10 +40,12 @@ enum IndustryDirectoryWidgets {
/** Widgets of the #IndustryCargoesWindow class */
enum IndustryCargoesWidgets {
WID_IC_CAPTION, ///< Caption of the window.
WID_IC_NOTIFY, ///< Row of buttons at the bottom.
WID_IC_PANEL, ///< Panel that shows the chain.
WID_IC_SCROLLBAR, ///< Scrollbar of the panel.
WID_IC_CAPTION, ///< Caption of the window.
WID_IC_NOTIFY, ///< Row of buttons at the bottom.
WID_IC_PANEL, ///< Panel that shows the chain.
WID_IC_SCROLLBAR, ///< Scrollbar of the panel.
WID_IC_CARGO_DROPDOWN, ///< Select cargo dropdown.
WID_IC_IND_DROPDOWN, ///< Select industry dropdown.
};
#endif /* WIDGETS_INDUSTRY_WIDGET_H */

View File

@@ -27,7 +27,7 @@ enum SelectGameIntroWidgets {
WID_SGI_TRANSLATION_SELECTION, ///< Translation selection.
WID_SGI_TRANSLATION, ///< Translation.
WID_SGI_OPTIONS, ///< Options button.
WID_SGI_DIFFICULTIES, ///< Difficulties button.
WID_SGI_HIGHSCORE, ///< Highscore button.
WID_SGI_SETTINGS_OPTIONS, ///< Settings button.
WID_SGI_GRF_SETTINGS, ///< NewGRF button.
WID_SGI_CONTENT_DOWNLOAD, ///< Content Download button.

View File

@@ -0,0 +1,36 @@
/* $Id$ */
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/** @file link_graph_legend_widget.h Types related to the linkgraph_legend widgets. */
#ifndef WIDGETS_LINKGRAPH_LEGEND_WIDGET_H
#define WIDGETS_LINKGRAPH_LEGEND_WIDGET_H
#include "../cargo_type.h"
/** Widgets of the WC_LINKGRAPH_LEGEND. */
enum LinkGraphLegendWidgets {
WID_LGL_CAPTION, ///< Caption widget.
WID_LGL_SATURATION, ///< Saturation legend.
WID_LGL_SATURATION_FIRST,
WID_LGL_SATURATION_LAST = WID_LGL_SATURATION_FIRST + 11,
WID_LGL_COMPANIES, ///< Company selection widget.
WID_LGL_COMPANY_FIRST,
WID_LGL_COMPANY_LAST = WID_LGL_COMPANY_FIRST + MAX_COMPANIES - 1,
WID_LGL_COMPANIES_ALL,
WID_LGL_COMPANIES_NONE,
WID_LGL_CARGOES, ///< Cargo selection widget.
WID_LGL_CARGO_FIRST,
WID_LGL_CARGO_LAST = WID_LGL_CARGO_FIRST + NUM_CARGO - 1,
WID_LGL_CARGOES_ALL,
WID_LGL_CARGOES_NONE,
};
#endif /* WIDGETS_LINKGRAPH_LEGEND_WIDGET_H */

View File

@@ -48,6 +48,7 @@ enum QueryWidgets {
/** Widgets of the #TextfileWindow class. */
enum TextfileWidgets {
WID_TF_CAPTION, ///< The caption of the window.
WID_TF_WRAPTEXT, ///< Whether or not to wrap the text.
WID_TF_BACKGROUND, ///< Panel to draw the textfile on.
WID_TF_VSCROLLBAR, ///< Vertical scrollbar to scroll through the textfile up-and-down.
WID_TF_HSCROLLBAR, ///< Horizontal scrollbar to scroll through the textfile left-to-right.

View File

@@ -12,6 +12,8 @@
#ifndef WIDGETS_NETWORK_CONTENT_WIDGET_H
#define WIDGETS_NETWORK_CONTENT_WIDGET_H
#include "../textfile_type.h"
/** Widgets of the #NetworkContentDownloadStatusWindow class. */
enum NetworkContentDownloadStatusWidgets {
WID_NCDS_BACKGROUND, ///< Background of the window.
@@ -33,8 +35,9 @@ enum NetworkContentListWidgets {
WID_NCL_SCROLLBAR, ///< Scrollbar of matrix.
WID_NCL_DETAILS, ///< Panel with content details.
WID_NCL_TEXTFILE, ///< Open readme, changelog (+1) or license (+2) of a file in the content window.
WID_NCL_SELECT_ALL, ///< 'Select all' button.
WID_NCL_SELECT_ALL = WID_NCL_TEXTFILE + TFT_END, ///< 'Select all' button.
WID_NCL_SELECT_UPDATE, ///< 'Select updates' button.
WID_NCL_UNSELECT, ///< 'Unselect all' button.
WID_NCL_OPEN_URL, ///< 'Open url' button.
@@ -42,6 +45,7 @@ enum NetworkContentListWidgets {
WID_NCL_DOWNLOAD, ///< 'Download' button.
WID_NCL_SEL_ALL_UPDATE, ///< #NWID_SELECTION widget for select all/update buttons..
WID_NCL_SEARCH_EXTERNAL, ///< Search external sites for missing NewGRF.
};
#endif /* WIDGETS_NETWORK_CONTENT_WIDGET_H */

View File

@@ -20,6 +20,8 @@ enum NetworkGameWidgets {
WID_NG_CONN_BTN, ///< 'Connection' droplist button.
WID_NG_CLIENT_LABEL, ///< Label in front of client name edit box.
WID_NG_CLIENT, ///< Panel with editbox to set client name.
WID_NG_FILTER_LABEL, ///< Label in front of the filter/search edit box.
WID_NG_FILTER, ///< Panel with the edit box to enter the search text.
WID_NG_HEADER, ///< Header container of the matrix.
WID_NG_NAME, ///< 'Name' button.

View File

@@ -16,25 +16,30 @@
enum NewGRFInspectWidgets {
WID_NGRFI_CAPTION, ///< The caption bar of course.
WID_NGRFI_PARENT, ///< Inspect the parent.
WID_NGRFI_VEH_PREV, ///< Go to previous vehicle in chain.
WID_NGRFI_VEH_NEXT, ///< Go to next vehicle in chain.
WID_NGRFI_VEH_CHAIN, ///< Display for vehicle chain.
WID_NGRFI_MAINPANEL, ///< Panel widget containing the actual data.
WID_NGRFI_SCROLLBAR, ///< Scrollbar.
};
/** Widgets of the #SpriteAlignerWindow class. */
enum SpriteAlignerWidgets {
WID_SA_CAPTION, ///< Caption of the window.
WID_SA_PREVIOUS, ///< Skip to the previous sprite.
WID_SA_GOTO, ///< Go to a given sprite.
WID_SA_NEXT, ///< Skip to the next sprite.
WID_SA_UP, ///< Move the sprite up.
WID_SA_LEFT, ///< Move the sprite to the left.
WID_SA_RIGHT, ///< Move the sprite to the right.
WID_SA_DOWN, ///< Move the sprite down.
WID_SA_SPRITE, ///< The actual sprite.
WID_SA_OFFSETS, ///< The sprite offsets.
WID_SA_PICKER, ///< Sprite picker.
WID_SA_LIST, ///< Queried sprite list.
WID_SA_SCROLLBAR, ///< Scrollbar for sprite list.
WID_SA_CAPTION, ///< Caption of the window.
WID_SA_PREVIOUS, ///< Skip to the previous sprite.
WID_SA_GOTO, ///< Go to a given sprite.
WID_SA_NEXT, ///< Skip to the next sprite.
WID_SA_UP, ///< Move the sprite up.
WID_SA_LEFT, ///< Move the sprite to the left.
WID_SA_RIGHT, ///< Move the sprite to the right.
WID_SA_DOWN, ///< Move the sprite down.
WID_SA_SPRITE, ///< The actual sprite.
WID_SA_OFFSETS_ABS, ///< The sprite offsets (absolute).
WID_SA_OFFSETS_REL, ///< The sprite offsets (relative).
WID_SA_PICKER, ///< Sprite picker.
WID_SA_LIST, ///< Queried sprite list.
WID_SA_SCROLLBAR, ///< Scrollbar for sprite list.
WID_SA_RESET_REL, ///< Reset relative sprite offset
};
#endif /* WIDGETS_NEWGRF_DEBUG_WIDGET_H */

View File

@@ -39,6 +39,7 @@ enum NewGRFStateWidgets {
WID_NS_REMOVE, ///< Remove NewGRF from active list.
WID_NS_MOVE_UP, ///< Move NewGRF up in active list.
WID_NS_MOVE_DOWN, ///< Move NewGRF down in active list.
WID_NS_UPGRADE, ///< Upgrade NewGRFs that have a newer version available.
WID_NS_FILTER, ///< Filter list of available NewGRFs.
WID_NS_FILE_LIST, ///< List window of active NewGRFs.
WID_NS_SCROLLBAR, ///< Scrollbar for active NewGRF list.
@@ -60,6 +61,15 @@ enum NewGRFStateWidgets {
WID_NS_SHOW_APPLY, ///< Select display of the buttons below the 'details'.
};
/** Widgets of the #SavePresetWindow class. */
enum SavePresetWidgets {
WID_SVP_PRESET_LIST, ///< List with available preset names.
WID_SVP_SCROLLBAR, ///< Scrollbar for the list available preset names.
WID_SVP_EDITBOX, ///< Edit box for changing the preset name.
WID_SVP_CANCEL, ///< Button to cancel saving the preset.
WID_SVP_SAVE, ///< Button to save the preset.
};
/** Widgets of the #ScanProgressWindow class. */
enum ScanProgressWidgets {
WID_SP_PROGRESS_BAR, ///< Simple progress bar.

View File

@@ -42,17 +42,4 @@ enum MessageHistoryWidgets {
WID_MH_SCROLLBAR, ///< Scrollbar for the list.
};
/** Widgets of the #MessageOptionsWindow class. */
enum MessageOptionWidgets {
WID_MO_BACKGROUND, ///< Background of the window.
WID_MO_LABEL, ///< Top label.
WID_MO_DROP_SUMMARY, ///< Dropdown that adjusts at once the level for all settings.
WID_MO_LABEL_SUMMARY, ///< Label of the summary drop down.
WID_MO_SOUNDTICKER, ///< Button for (de)activating sound on events.
WID_MO_SOUNDTICKER_LABEL, ///< Label of the soundticker button.
WID_MO_START_OPTION, ///< First widget that is part of a group [<][label][>] [description].
WID_MO_END_OPTION = WID_MO_START_OPTION + NT_END * MOS_WIDG_PER_SETTING, ///< First widget after the groups.
};
#endif /* WIDGETS_NEWS_WIDGET_H */

View File

@@ -19,7 +19,7 @@ enum OnScreenKeyboardWidgets {
WID_OSK_CANCEL, ///< Cancel key.
WID_OSK_OK, ///< Ok key.
WID_OSK_BACKSPACE, ///< Backspace key.
WID_OSK_SPECIAL, ///< Special key (at keyborads often used for tab key).
WID_OSK_SPECIAL, ///< Special key (at keyboards often used for tab key).
WID_OSK_CAPS, ///< Capslock key.
WID_OSK_SHIFT, ///< Shift(lock) key.
WID_OSK_SPACE, ///< Space bar.

View File

@@ -12,7 +12,7 @@
#ifndef WIDGETS_RAIL_WIDGET_H
#define WIDGETS_RAIL_WIDGET_H
/** Widgets of the #BuildRailToolbarWindow ckass. */
/** Widgets of the #BuildRailToolbarWindow class. */
enum RailToolbarWidgets {
/* Name starts with RA instead of R, because of collision with RoadToolbarWidgets */
WID_RAT_CAPTION, ///< Caption of the window.
@@ -64,6 +64,7 @@ enum BuildRailStationWidgets {
WID_BRAS_IMAGE, ///< Panel used at each cell of the matrix.
WID_BRAS_MATRIX_SCROLL, ///< Scrollbar of the matrix widget.
WID_BRAS_SHOW_NEWST_DEFSIZE, ///< Selection for default-size button for newstation.
WID_BRAS_SHOW_NEWST_ADDITIONS, ///< Selection for newstation class selection list.
WID_BRAS_SHOW_NEWST_MATRIX, ///< Selection for newstation image matrix.
WID_BRAS_SHOW_NEWST_RESIZE, ///< Selection for panel and resize at bottom right for newstation.
@@ -98,10 +99,10 @@ enum BuildSignalWidgets {
/** Widgets of the #BuildRailDepotWindow class. */
enum BuildRailDepotWidgets {
/* Name starts with BRA instead of BR, because of collision with BuildRoadDepotWidgets */
WID_BRAD_DEPOT_NE, ///< Build a depot with the entrace in the north east.
WID_BRAD_DEPOT_SE, ///< Build a depot with the entrace in the south east.
WID_BRAD_DEPOT_SW, ///< Build a depot with the entrace in the south west.
WID_BRAD_DEPOT_NW, ///< Build a depot with the entrace in the north west.
WID_BRAD_DEPOT_NE, ///< Build a depot with the entrance in the north east.
WID_BRAD_DEPOT_SE, ///< Build a depot with the entrance in the south east.
WID_BRAD_DEPOT_SW, ///< Build a depot with the entrance in the south west.
WID_BRAD_DEPOT_NW, ///< Build a depot with the entrance in the north west.
};
/** Widgets of the #BuildRailWaypointWindow class. */

View File

@@ -23,7 +23,7 @@ enum GameOptionsWidgets {
WID_GO_LANG_DROPDOWN, ///< Language dropdown.
WID_GO_RESOLUTION_DROPDOWN, ///< Dropdown for the resolution.
WID_GO_FULLSCREEN_BUTTON, ///< Toggle fullscreen.
WID_GO_SCREENSHOT_DROPDOWN, ///< Select the screenshot type... please use PNG!.
WID_GO_GUI_ZOOM_DROPDOWN, ///< Dropdown for the GUI zoom level.
WID_GO_BASE_GRF_DROPDOWN, ///< Use to select a base GRF.
WID_GO_BASE_GRF_STATUS, ///< Info about missing files etc.
WID_GO_BASE_GRF_TEXTFILE, ///< Open base GRF readme, changelog (+1) or license (+2).
@@ -37,24 +37,18 @@ enum GameOptionsWidgets {
WID_GO_BASE_MUSIC_DESCRIPTION = WID_GO_BASE_MUSIC_TEXTFILE + TFT_END, ///< Description of selected base music set.
};
/** Widgets of the #GameDifficultyWindow class. */
enum GameDifficultyWidgets {
WID_GD_LVL_EASY, ///< Easy level button.
WID_GD_LVL_MEDIUM, ///< Medium level button.
WID_GD_LVL_HARD, ///< Hard level button.
WID_GD_LVL_CUSTOM, ///< Custom level button.
WID_GD_HIGHSCORE, ///< Highscore button.
WID_GD_ACCEPT, ///< Accept button.
WID_GD_CANCEL, ///< Cancel button.
WID_GD_OPTIONS_START, ///< Start of the options.
};
/** Widgets of the #GameSettingsWindow class. */
enum GameSettingsWidgets {
WID_GS_OPTIONSPANEL, ///< Panel widget containing the option lists.
WID_GS_SCROLLBAR, ///< Scrollbar.
WID_GS_HELP_TEXT, ///< Information area to display help text of the selected option.
WID_GS_FILTER, ///< Text filter.
WID_GS_OPTIONSPANEL, ///< Panel widget containing the option lists.
WID_GS_SCROLLBAR, ///< Scrollbar.
WID_GS_HELP_TEXT, ///< Information area to display help text of the selected option.
WID_GS_EXPAND_ALL, ///< Expand all button.
WID_GS_COLLAPSE_ALL, ///< Collapse all button.
WID_GS_RESTRICT_CATEGORY, ///< Label upfront to the category drop-down box to restrict the list of settings to show
WID_GS_RESTRICT_TYPE, ///< Label upfront to the type drop-down box to restrict the list of settings to show
WID_GS_RESTRICT_DROPDOWN, ///< The drop down box to restrict the list of settings
WID_GS_TYPE_DROPDOWN, ///< The drop down box to choose client/game/company/all settings
};
/** Widgets of the #CustomCurrencyWindow class. */
@@ -62,8 +56,8 @@ enum CustomCurrencyWidgets {
WID_CC_RATE_DOWN, ///< Down button.
WID_CC_RATE_UP, ///< Up button.
WID_CC_RATE, ///< Rate of currency.
WID_CC_SEPARATOR_EDIT, ///< Seperator edit button.
WID_CC_SEPARATOR, ///< Current seperator.
WID_CC_SEPARATOR_EDIT, ///< Separator edit button.
WID_CC_SEPARATOR, ///< Current separator.
WID_CC_PREFIX_EDIT, ///< Prefix edit button.
WID_CC_PREFIX, ///< Current prefix.
WID_CC_SUFFIX_EDIT, ///< Suffix edit button.

View File

@@ -20,7 +20,7 @@ enum SignListWidgets {
WID_SIL_SCROLLBAR, ///< Scrollbar of list.
WID_SIL_FILTER_TEXT, ///< Text box for typing a filter string.
WID_SIL_FILTER_MATCH_CASE_BTN, ///< Button to toggle if case sensitive filtering should be used.
WID_SIL_FILTER_CLEAR_BTN, ///< Button to clear the filter.
WID_SIL_FILTER_ENTER_BTN, ///< Scroll to first sign.
};
/** Widgets of the #SignWindow class. */
@@ -34,4 +34,4 @@ enum QueryEditSignWidgets {
WID_QES_NEXT, ///< Next button.
};
#endif /* */
#endif /* SIGN_WIDGET_H */

View File

@@ -18,11 +18,13 @@ enum SmallMapWidgets {
WID_SM_MAP_BORDER, ///< Border around the smallmap.
WID_SM_MAP, ///< Panel containing the smallmap.
WID_SM_LEGEND, ///< Bottom panel to display smallmap legends.
WID_SM_BLANK, ///< Empty button as placeholder.
WID_SM_ZOOM_IN, ///< Button to zoom in one step.
WID_SM_ZOOM_OUT, ///< Button to zoom out one step.
WID_SM_CONTOUR, ///< Button to select the contour view (height map).
WID_SM_VEHICLES, ///< Button to select the vehicles view.
WID_SM_INDUSTRIES, ///< Button to select the industries view.
WID_SM_LINKSTATS, ///< Button to select the link stats view.
WID_SM_ROUTES, ///< Button to select the routes view.
WID_SM_VEGETATION, ///< Button to select the vegetation view.
WID_SM_OWNERS, ///< Button to select the owners view.

View File

@@ -15,6 +15,10 @@
/** Widgets of the #StationViewWindow class. */
enum StationViewWidgets {
WID_SV_CAPTION, ///< Caption of the window.
WID_SV_SORT_ORDER, ///< 'Sort order' button
WID_SV_SORT_BY, ///< 'Sort by' button
WID_SV_GROUP, ///< label for "group by"
WID_SV_GROUP_BY, ///< 'Group by' button
WID_SV_WAITING, ///< List of waiting cargo.
WID_SV_SCROLLBAR, ///< Scrollbar.
WID_SV_ACCEPT_RATING_LIST, ///< List of accepted cargoes / rating of cargoes.

View File

@@ -13,7 +13,7 @@
#define WIDGETS_STATUSBAR_WIDGET_H
/** Widgets of the #StatusBarWindow class. */
enum StatusbarWidget {
enum StatusbarWidgets {
WID_S_LEFT, ///< Left part of the statusbar; date is shown there.
WID_S_MIDDLE, ///< Middle part; current news or company name or *** SAVING *** or *** PAUSED ***.
WID_S_RIGHT, ///< Right part; bank balance.

View File

@@ -0,0 +1,26 @@
/* $Id$ */
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/** @file story_widget.h Types related to the story widgets. */
#ifndef WIDGETS_STORY_WIDGET_H
#define WIDGETS_STORY_WIDGET_H
/** Widgets of the #GoalListWindow class. */
enum StoryBookWidgets {
WID_SB_CAPTION, ///< Caption of the window.
WID_SB_SEL_PAGE, ///< Page selector.
WID_SB_PAGE_PANEL,///< Page body.
WID_SB_SCROLLBAR, ///< Scrollbar of the goal list.
WID_SB_PREV_PAGE, ///< Prev button.
WID_SB_NEXT_PAGE, ///< Next button.
};
#endif /* WIDGETS_STORY_WIDGET_H */

View File

@@ -21,7 +21,7 @@ enum TerraformToolbarWidgets {
WID_TT_LEVEL_LAND, ///< Level land button.
WID_TT_DEMOLISH, ///< Demolish aka dynamite button.
WID_TT_BUY_LAND, ///< Buy land button.
WID_TT_PLANT_TREES, ///< Plant trees button (note: opens seperate window, no place-push-button).
WID_TT_PLANT_TREES, ///< Plant trees button (note: opens separate window, no place-push-button).
WID_TT_PLACE_SIGN, ///< Place sign button.
WID_TT_PLACE_OBJECT, ///< Place object button.
};

View File

@@ -24,6 +24,8 @@ enum ToolbarNormalWidgets {
WID_TN_STATIONS, ///< Station menu.
WID_TN_FINANCES, ///< Finance menu.
WID_TN_COMPANIES, ///< Company menu.
WID_TN_STORY, ///< Story menu.
WID_TN_GOAL, ///< Goal menu.
WID_TN_GRAPHS, ///< Graph menu.
WID_TN_LEAGUE, ///< Company league menu.
WID_TN_INDUSTRIES, ///< Industry menu.

View File

@@ -14,8 +14,8 @@
/** Widgets of the #TownDirectoryWindow class. */
enum TownDirectoryWidgets {
WID_TD_SORT_NAME, ///< Sort by town name.
WID_TD_SORT_POPULATION, ///< Sort by town population.
WID_TD_SORT_ORDER, ///< Direction of sort dropdown.
WID_TD_SORT_CRITERIA, ///< Criteria of sort dropdown.
WID_TD_LIST, ///< List of towns.
WID_TD_SCROLLBAR, ///< Scrollbar for the town list.
WID_TD_WORLD_POPULATION, ///< The world's population.

View File

@@ -49,6 +49,7 @@ enum VehicleDetailsWidgets {
WID_VD_TOP_DETAILS, ///< Panel with generic details.
WID_VD_INCREASE_SERVICING_INTERVAL, ///< Increase the servicing interval.
WID_VD_DECREASE_SERVICING_INTERVAL, ///< Decrease the servicing interval.
WID_VD_SERVICE_INTERVAL_DROPDOWN, ///< Dropdown to select default/days/percent service interval.
WID_VD_SERVICING_INTERVAL, ///< Information about the servicing interval.
WID_VD_MIDDLE_DETAILS, ///< Details for non-trains.
WID_VD_MATRIX, ///< List of details for trains.
@@ -56,7 +57,7 @@ enum VehicleDetailsWidgets {
WID_VD_DETAILS_CARGO_CARRIED, ///< Show carried cargo per part of the train.
WID_VD_DETAILS_TRAIN_VEHICLES, ///< Show all parts of the train with their description.
WID_VD_DETAILS_CAPACITY_OF_EACH, ///< Show the capacity of all train parts.
WID_VD_DETAILS_TOTAL_CARGO, ///< Show the capacity and carried cargo amounts aggregrated per cargo of the train.
WID_VD_DETAILS_TOTAL_CARGO, ///< Show the capacity and carried cargo amounts aggregated per cargo of the train.
};
/** Widgets of the #VehicleListWindow class. */