mirror of https://github.com/OpenTTD/OpenTTD
(svn r23531) -Codechange: document and rename widgets to be consistent and understandable
parent
b90aa80e77
commit
e9f584ac21
|
@ -59,7 +59,7 @@ struct AIListWindow : public Window {
|
|||
this->ai_info_list = AI::GetUniqueInfoList();
|
||||
|
||||
this->CreateNestedTree(desc);
|
||||
this->vscroll = this->GetScrollbar(AIL_WIDGET_SCROLLBAR);
|
||||
this->vscroll = this->GetScrollbar(WID_AIL_SCROLLBAR);
|
||||
this->FinishInitNested(desc); // Initializes 'this->line_height' as side effect.
|
||||
|
||||
this->vscroll->SetCount((int)this->ai_info_list->size() + 1);
|
||||
|
@ -80,7 +80,7 @@ struct AIListWindow : public Window {
|
|||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||
{
|
||||
if (widget == AIL_WIDGET_LIST) {
|
||||
if (widget == WID_AIL_LIST) {
|
||||
this->line_height = FONT_HEIGHT_NORMAL + WD_MATRIX_TOP + WD_MATRIX_BOTTOM;
|
||||
|
||||
resize->width = 1;
|
||||
|
@ -92,9 +92,9 @@ struct AIListWindow : public Window {
|
|||
virtual void DrawWidget(const Rect &r, int widget) const
|
||||
{
|
||||
switch (widget) {
|
||||
case AIL_WIDGET_LIST: {
|
||||
case WID_AIL_LIST: {
|
||||
/* Draw a list of all available AIs. */
|
||||
int y = this->GetWidget<NWidgetBase>(AIL_WIDGET_LIST)->pos_y;
|
||||
int y = this->GetWidget<NWidgetBase>(WID_AIL_LIST)->pos_y;
|
||||
/* First AI in the list is hardcoded to random */
|
||||
if (this->vscroll->IsVisible(0)) {
|
||||
DrawString(r.left + WD_MATRIX_LEFT, r.right - WD_MATRIX_LEFT, y + WD_MATRIX_TOP, STR_AI_CONFIG_RANDOM_AI, this->selected == -1 ? TC_WHITE : TC_BLACK);
|
||||
|
@ -109,7 +109,7 @@ struct AIListWindow : public Window {
|
|||
}
|
||||
break;
|
||||
}
|
||||
case AIL_WIDGET_INFO_BG: {
|
||||
case WID_AIL_INFO_BG: {
|
||||
AIInfo *selected_info = NULL;
|
||||
ScriptInfoList::const_iterator it = this->ai_info_list->begin();
|
||||
for (int i = 1; selected_info == NULL && it != this->ai_info_list->end(); i++, it++) {
|
||||
|
@ -155,8 +155,8 @@ struct AIListWindow : public Window {
|
|||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case AIL_WIDGET_LIST: { // Select one of the AIs
|
||||
int sel = this->vscroll->GetScrolledRowFromWidget(pt.y, this, AIL_WIDGET_LIST, 0, this->line_height) - 1;
|
||||
case WID_AIL_LIST: { // Select one of the AIs
|
||||
int sel = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_AIL_LIST, 0, this->line_height) - 1;
|
||||
if (sel < (int)this->ai_info_list->size()) {
|
||||
this->selected = sel;
|
||||
this->SetDirty();
|
||||
|
@ -168,13 +168,13 @@ struct AIListWindow : public Window {
|
|||
break;
|
||||
}
|
||||
|
||||
case AIL_WIDGET_ACCEPT: {
|
||||
case WID_AIL_ACCEPT: {
|
||||
this->ChangeAI();
|
||||
delete this;
|
||||
break;
|
||||
}
|
||||
|
||||
case AIL_WIDGET_CANCEL:
|
||||
case WID_AIL_CANCEL:
|
||||
delete this;
|
||||
break;
|
||||
}
|
||||
|
@ -182,7 +182,7 @@ struct AIListWindow : public Window {
|
|||
|
||||
virtual void OnResize()
|
||||
{
|
||||
NWidgetCore *nwi = this->GetWidget<NWidgetCore>(AIL_WIDGET_LIST);
|
||||
NWidgetCore *nwi = this->GetWidget<NWidgetCore>(WID_AIL_LIST);
|
||||
this->vscroll->SetCapacity(nwi->current_y / this->line_height);
|
||||
nwi->widget_data = (this->vscroll->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
|
||||
}
|
||||
|
@ -215,15 +215,15 @@ static const NWidgetPart _nested_ai_list_widgets[] = {
|
|||
NWidget(WWT_CAPTION, COLOUR_MAUVE), SetDataTip(STR_AI_LIST_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_MATRIX, COLOUR_MAUVE, AIL_WIDGET_LIST), SetMinimalSize(188, 112), SetFill(1, 1), SetResize(1, 1), SetDataTip(0x501, STR_AI_LIST_TOOLTIP), SetScrollbar(AIL_WIDGET_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, AIL_WIDGET_SCROLLBAR),
|
||||
NWidget(WWT_MATRIX, COLOUR_MAUVE, WID_AIL_LIST), SetMinimalSize(188, 112), SetFill(1, 1), SetResize(1, 1), SetDataTip(0x501, STR_AI_LIST_TOOLTIP), SetScrollbar(WID_AIL_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, WID_AIL_SCROLLBAR),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_MAUVE, AIL_WIDGET_INFO_BG), SetMinimalTextLines(8, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM), SetResize(1, 0),
|
||||
NWidget(WWT_PANEL, COLOUR_MAUVE, WID_AIL_INFO_BG), SetMinimalTextLines(8, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM), SetResize(1, 0),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, AIL_WIDGET_ACCEPT), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_LIST_ACCEPT, STR_AI_LIST_ACCEPT_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, AIL_WIDGET_CANCEL), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_LIST_CANCEL, STR_AI_LIST_CANCEL_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, WID_AIL_ACCEPT), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_LIST_ACCEPT, STR_AI_LIST_ACCEPT_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, WID_AIL_CANCEL), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_LIST_CANCEL, STR_AI_LIST_CANCEL_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_MAUVE),
|
||||
EndContainer(),
|
||||
|
@ -276,10 +276,10 @@ struct AISettingsWindow : public Window {
|
|||
this->RebuildVisibleSettings();
|
||||
|
||||
this->CreateNestedTree(desc);
|
||||
this->vscroll = this->GetScrollbar(AIS_WIDGET_SCROLLBAR);
|
||||
this->vscroll = this->GetScrollbar(WID_AIS_SCROLLBAR);
|
||||
this->FinishInitNested(desc, slot); // Initializes 'this->line_height' as side effect.
|
||||
|
||||
this->SetWidgetDisabledState(AIS_WIDGET_RESET, _game_mode != GM_MENU && Company::IsValidID(this->slot));
|
||||
this->SetWidgetDisabledState(WID_AIS_RESET, _game_mode != GM_MENU && Company::IsValidID(this->slot));
|
||||
|
||||
this->vscroll->SetCount((int)this->visible_settings.size());
|
||||
}
|
||||
|
@ -304,7 +304,7 @@ struct AISettingsWindow : public Window {
|
|||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||
{
|
||||
if (widget == AIS_WIDGET_BACKGROUND) {
|
||||
if (widget == WID_AIS_BACKGROUND) {
|
||||
this->line_height = FONT_HEIGHT_NORMAL + WD_MATRIX_TOP + WD_MATRIX_BOTTOM;
|
||||
|
||||
resize->width = 1;
|
||||
|
@ -315,7 +315,7 @@ struct AISettingsWindow : public Window {
|
|||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const
|
||||
{
|
||||
if (widget != AIS_WIDGET_BACKGROUND) return;
|
||||
if (widget != WID_AIS_BACKGROUND) return;
|
||||
|
||||
AIConfig *config = this->ai_config;
|
||||
VisibleSettingsList::const_iterator it = this->visible_settings.begin();
|
||||
|
@ -383,8 +383,8 @@ struct AISettingsWindow : public Window {
|
|||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case AIS_WIDGET_BACKGROUND: {
|
||||
const NWidgetBase *wid = this->GetWidget<NWidgetBase>(AIS_WIDGET_BACKGROUND);
|
||||
case WID_AIS_BACKGROUND: {
|
||||
const NWidgetBase *wid = this->GetWidget<NWidgetBase>(WID_AIS_BACKGROUND);
|
||||
int num = (pt.y - wid->pos_y) / this->line_height + this->vscroll->GetPosition();
|
||||
if (num >= (int)this->visible_settings.size()) break;
|
||||
|
||||
|
@ -433,11 +433,11 @@ struct AISettingsWindow : public Window {
|
|||
break;
|
||||
}
|
||||
|
||||
case AIS_WIDGET_ACCEPT:
|
||||
case WID_AIS_ACCEPT:
|
||||
delete this;
|
||||
break;
|
||||
|
||||
case AIS_WIDGET_RESET:
|
||||
case WID_AIS_RESET:
|
||||
if (_game_mode == GM_MENU || !Company::IsValidID(this->slot)) {
|
||||
this->ai_config->ResetSettings();
|
||||
this->SetDirty();
|
||||
|
@ -460,7 +460,7 @@ struct AISettingsWindow : public Window {
|
|||
|
||||
virtual void OnResize()
|
||||
{
|
||||
NWidgetCore *nwi = this->GetWidget<NWidgetCore>(AIS_WIDGET_BACKGROUND);
|
||||
NWidgetCore *nwi = this->GetWidget<NWidgetCore>(WID_AIS_BACKGROUND);
|
||||
this->vscroll->SetCapacity(nwi->current_y / this->line_height);
|
||||
nwi->widget_data = (this->vscroll->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
|
||||
}
|
||||
|
@ -495,13 +495,13 @@ static const NWidgetPart _nested_ai_settings_widgets[] = {
|
|||
NWidget(WWT_CAPTION, COLOUR_MAUVE), SetDataTip(STR_AI_SETTINGS_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_MATRIX, COLOUR_MAUVE, AIS_WIDGET_BACKGROUND), SetMinimalSize(188, 182), SetResize(1, 1), SetFill(1, 0), SetDataTip(0x501, STR_NULL), SetScrollbar(AIS_WIDGET_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, AIS_WIDGET_SCROLLBAR),
|
||||
NWidget(WWT_MATRIX, COLOUR_MAUVE, WID_AIS_BACKGROUND), SetMinimalSize(188, 182), SetResize(1, 1), SetFill(1, 0), SetDataTip(0x501, STR_NULL), SetScrollbar(WID_AIS_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, WID_AIS_SCROLLBAR),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, AIS_WIDGET_ACCEPT), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_SETTINGS_CLOSE, STR_NULL),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, AIS_WIDGET_RESET), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_SETTINGS_RESET, STR_NULL),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, WID_AIS_ACCEPT), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_SETTINGS_CLOSE, STR_NULL),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, WID_AIS_RESET), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_SETTINGS_RESET, STR_NULL),
|
||||
EndContainer(),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_MAUVE),
|
||||
EndContainer(),
|
||||
|
@ -532,30 +532,30 @@ static const NWidgetPart _nested_ai_config_widgets[] = {
|
|||
NWidget(WWT_CLOSEBOX, COLOUR_MAUVE),
|
||||
NWidget(WWT_CAPTION, COLOUR_MAUVE), SetDataTip(STR_AI_CONFIG_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_MAUVE, AIC_WIDGET_BACKGROUND),
|
||||
NWidget(WWT_PANEL, COLOUR_MAUVE, WID_AIC_BACKGROUND),
|
||||
NWidget(NWID_VERTICAL), SetPIP(4, 4, 4),
|
||||
NWidget(NWID_HORIZONTAL), SetPIP(10, 0, 10),
|
||||
NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, AIC_WIDGET_DECREASE), SetFill(0, 1), SetDataTip(AWV_DECREASE, STR_NULL),
|
||||
NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, AIC_WIDGET_INCREASE), SetFill(0, 1), SetDataTip(AWV_INCREASE, STR_NULL),
|
||||
NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_DECREASE), SetFill(0, 1), SetDataTip(AWV_DECREASE, STR_NULL),
|
||||
NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_INCREASE), SetFill(0, 1), SetDataTip(AWV_INCREASE, STR_NULL),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(6, 0),
|
||||
NWidget(WWT_TEXT, COLOUR_MAUVE, AIC_WIDGET_NUMBER), SetDataTip(STR_DIFFICULTY_LEVEL_SETTING_MAXIMUM_NO_COMPETITORS, STR_NULL), SetFill(1, 0), SetPadding(1, 0, 0, 0),
|
||||
NWidget(WWT_TEXT, COLOUR_MAUVE, WID_AIC_NUMBER), SetDataTip(STR_DIFFICULTY_LEVEL_SETTING_MAXIMUM_NO_COMPETITORS, STR_NULL), SetFill(1, 0), SetPadding(1, 0, 0, 0),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(10, 0, 10),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, AIC_WIDGET_MOVE_UP), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_CONFIG_MOVE_UP, STR_AI_CONFIG_MOVE_UP_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, AIC_WIDGET_MOVE_DOWN), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_CONFIG_MOVE_DOWN, STR_AI_CONFIG_MOVE_DOWN_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_MOVE_UP), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_CONFIG_MOVE_UP, STR_AI_CONFIG_MOVE_UP_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_MOVE_DOWN), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_CONFIG_MOVE_DOWN, STR_AI_CONFIG_MOVE_DOWN_TOOLTIP),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_MATRIX, COLOUR_MAUVE, AIC_WIDGET_LIST), SetMinimalSize(288, 112), SetFill(1, 0), SetDataTip(0x801, STR_AI_CONFIG_LIST_TOOLTIP), SetScrollbar(AIC_WIDGET_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, AIC_WIDGET_SCROLLBAR),
|
||||
NWidget(WWT_MATRIX, COLOUR_MAUVE, WID_AIC_LIST), SetMinimalSize(288, 112), SetFill(1, 0), SetDataTip(0x801, STR_AI_CONFIG_LIST_TOOLTIP), SetScrollbar(WID_AIC_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, WID_AIC_SCROLLBAR),
|
||||
EndContainer(),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(0, 9),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(5, 0, 5),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, AIC_WIDGET_CHANGE), SetFill(1, 0), SetMinimalSize(93, 12), SetDataTip(STR_AI_CONFIG_CHANGE, STR_AI_CONFIG_CHANGE_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, AIC_WIDGET_CONFIGURE), SetFill(1, 0), SetMinimalSize(93, 12), SetDataTip(STR_AI_CONFIG_CONFIGURE, STR_AI_CONFIG_CONFIGURE_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, AIC_WIDGET_CLOSE), SetFill(1, 0), SetMinimalSize(93, 12), SetDataTip(STR_AI_SETTINGS_CLOSE, STR_NULL),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_CHANGE), SetFill(1, 0), SetMinimalSize(93, 12), SetDataTip(STR_AI_CONFIG_CHANGE, STR_AI_CONFIG_CHANGE_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_CONFIGURE), SetFill(1, 0), SetMinimalSize(93, 12), SetDataTip(STR_AI_CONFIG_CONFIGURE, STR_AI_CONFIG_CONFIGURE_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_CLOSE), SetFill(1, 0), SetMinimalSize(93, 12), SetDataTip(STR_AI_SETTINGS_CLOSE, STR_NULL),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, AIC_WIDGET_CONTENT_DOWNLOAD), SetFill(1, 0), SetMinimalSize(279, 12), SetPadding(0, 5, 9, 5), SetDataTip(STR_INTRO_ONLINE_CONTENT, STR_INTRO_TOOLTIP_ONLINE_CONTENT),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_CONTENT_DOWNLOAD), SetFill(1, 0), SetMinimalSize(279, 12), SetPadding(0, 5, 9, 5), SetDataTip(STR_INTRO_ONLINE_CONTENT, STR_INTRO_TOOLTIP_ONLINE_CONTENT),
|
||||
EndContainer(),
|
||||
};
|
||||
|
||||
|
@ -578,9 +578,9 @@ struct AIConfigWindow : public Window {
|
|||
AIConfigWindow() : Window()
|
||||
{
|
||||
this->InitNested(&_ai_config_desc); // Initializes 'this->line_height' as a side effect.
|
||||
this->vscroll = this->GetScrollbar(AIC_WIDGET_SCROLLBAR);
|
||||
this->vscroll = this->GetScrollbar(WID_AIC_SCROLLBAR);
|
||||
this->selected_slot = INVALID_COMPANY;
|
||||
NWidgetCore *nwi = this->GetWidget<NWidgetCore>(AIC_WIDGET_LIST);
|
||||
NWidgetCore *nwi = this->GetWidget<NWidgetCore>(WID_AIC_LIST);
|
||||
this->vscroll->SetCapacity(nwi->current_y / this->line_height);
|
||||
this->vscroll->SetCount(MAX_COMPANIES);
|
||||
nwi->widget_data = (this->vscroll->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
|
||||
|
@ -596,7 +596,7 @@ struct AIConfigWindow : public Window {
|
|||
virtual void SetStringParameters(int widget) const
|
||||
{
|
||||
switch (widget) {
|
||||
case AIC_WIDGET_NUMBER:
|
||||
case WID_AIC_NUMBER:
|
||||
SetDParam(0, GetGameSettings().difficulty.max_no_competitors);
|
||||
break;
|
||||
}
|
||||
|
@ -605,7 +605,7 @@ struct AIConfigWindow : public Window {
|
|||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||
{
|
||||
switch (widget) {
|
||||
case AIC_WIDGET_LIST:
|
||||
case WID_AIC_LIST:
|
||||
this->line_height = FONT_HEIGHT_NORMAL + WD_MATRIX_TOP + WD_MATRIX_BOTTOM;
|
||||
size->height = GB(this->GetWidget<NWidgetCore>(widget)->widget_data, MAT_ROW_START, MAT_ROW_BITS) * this->line_height;
|
||||
break;
|
||||
|
@ -634,7 +634,7 @@ struct AIConfigWindow : public Window {
|
|||
virtual void DrawWidget(const Rect &r, int widget) const
|
||||
{
|
||||
switch (widget) {
|
||||
case AIC_WIDGET_LIST: {
|
||||
case WID_AIC_LIST: {
|
||||
int y = r.top;
|
||||
for (int i = this->vscroll->GetPosition(); this->vscroll->IsVisible(i) && i < MAX_COMPANIES; i++) {
|
||||
StringID text;
|
||||
|
@ -659,10 +659,10 @@ struct AIConfigWindow : public Window {
|
|||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case AIC_WIDGET_DECREASE:
|
||||
case AIC_WIDGET_INCREASE: {
|
||||
case WID_AIC_DECREASE:
|
||||
case WID_AIC_INCREASE: {
|
||||
int new_value;
|
||||
if (widget == AIC_WIDGET_DECREASE) {
|
||||
if (widget == WID_AIC_DECREASE) {
|
||||
new_value = max(0, GetGameSettings().difficulty.max_no_competitors - 1);
|
||||
} else {
|
||||
new_value = min(MAX_COMPANIES - 1, GetGameSettings().difficulty.max_no_competitors + 1);
|
||||
|
@ -672,14 +672,14 @@ struct AIConfigWindow : public Window {
|
|||
break;
|
||||
}
|
||||
|
||||
case AIC_WIDGET_LIST: { // Select a slot
|
||||
case WID_AIC_LIST: { // Select a slot
|
||||
this->selected_slot = (CompanyID)this->vscroll->GetScrolledRowFromWidget(pt.y, this, widget, 0, this->line_height);
|
||||
this->InvalidateData();
|
||||
if (click_count > 1 && this->selected_slot != INVALID_COMPANY) ShowAIListWindow((CompanyID)this->selected_slot);
|
||||
break;
|
||||
}
|
||||
|
||||
case AIC_WIDGET_MOVE_UP:
|
||||
case WID_AIC_MOVE_UP:
|
||||
if (IsEditable(this->selected_slot) && IsEditable((CompanyID)(this->selected_slot - 1))) {
|
||||
Swap(GetGameSettings().ai_config[this->selected_slot], GetGameSettings().ai_config[this->selected_slot - 1]);
|
||||
this->selected_slot--;
|
||||
|
@ -688,7 +688,7 @@ struct AIConfigWindow : public Window {
|
|||
}
|
||||
break;
|
||||
|
||||
case AIC_WIDGET_MOVE_DOWN:
|
||||
case WID_AIC_MOVE_DOWN:
|
||||
if (IsEditable(this->selected_slot) && IsEditable((CompanyID)(this->selected_slot + 1))) {
|
||||
Swap(GetGameSettings().ai_config[this->selected_slot], GetGameSettings().ai_config[this->selected_slot + 1]);
|
||||
this->selected_slot++;
|
||||
|
@ -697,19 +697,19 @@ struct AIConfigWindow : public Window {
|
|||
}
|
||||
break;
|
||||
|
||||
case AIC_WIDGET_CHANGE: // choose other AI
|
||||
case WID_AIC_CHANGE: // choose other AI
|
||||
ShowAIListWindow((CompanyID)this->selected_slot);
|
||||
break;
|
||||
|
||||
case AIC_WIDGET_CONFIGURE: // change the settings for an AI
|
||||
case WID_AIC_CONFIGURE: // change the settings for an AI
|
||||
ShowAISettingsWindow((CompanyID)this->selected_slot);
|
||||
break;
|
||||
|
||||
case AIC_WIDGET_CLOSE:
|
||||
case WID_AIC_CLOSE:
|
||||
delete this;
|
||||
break;
|
||||
|
||||
case AIC_WIDGET_CONTENT_DOWNLOAD:
|
||||
case WID_AIC_CONTENT_DOWNLOAD:
|
||||
if (!_network_available) {
|
||||
ShowErrorMessage(STR_NETWORK_ERROR_NOTAVAILABLE, INVALID_STRING_ID, WL_ERROR);
|
||||
} else {
|
||||
|
@ -734,12 +734,12 @@ struct AIConfigWindow : public Window {
|
|||
|
||||
if (!gui_scope) return;
|
||||
|
||||
this->SetWidgetDisabledState(AIC_WIDGET_DECREASE, GetGameSettings().difficulty.max_no_competitors == 0);
|
||||
this->SetWidgetDisabledState(AIC_WIDGET_INCREASE, GetGameSettings().difficulty.max_no_competitors == MAX_COMPANIES - 1);
|
||||
this->SetWidgetDisabledState(AIC_WIDGET_CHANGE, this->selected_slot == INVALID_COMPANY);
|
||||
this->SetWidgetDisabledState(AIC_WIDGET_CONFIGURE, this->selected_slot == INVALID_COMPANY);
|
||||
this->SetWidgetDisabledState(AIC_WIDGET_MOVE_UP, this->selected_slot == INVALID_COMPANY || !IsEditable((CompanyID)(this->selected_slot - 1)));
|
||||
this->SetWidgetDisabledState(AIC_WIDGET_MOVE_DOWN, this->selected_slot == INVALID_COMPANY || !IsEditable((CompanyID)(this->selected_slot + 1)));
|
||||
this->SetWidgetDisabledState(WID_AIC_DECREASE, GetGameSettings().difficulty.max_no_competitors == 0);
|
||||
this->SetWidgetDisabledState(WID_AIC_INCREASE, GetGameSettings().difficulty.max_no_competitors == MAX_COMPANIES - 1);
|
||||
this->SetWidgetDisabledState(WID_AIC_CHANGE, this->selected_slot == INVALID_COMPANY);
|
||||
this->SetWidgetDisabledState(WID_AIC_CONFIGURE, this->selected_slot == INVALID_COMPANY);
|
||||
this->SetWidgetDisabledState(WID_AIC_MOVE_UP, this->selected_slot == INVALID_COMPANY || !IsEditable((CompanyID)(this->selected_slot - 1)));
|
||||
this->SetWidgetDisabledState(WID_AIC_MOVE_DOWN, this->selected_slot == INVALID_COMPANY || !IsEditable((CompanyID)(this->selected_slot + 1)));
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -754,8 +754,8 @@ void ShowAIConfigWindow()
|
|||
* Window with everything an AI prints via ScriptLog.
|
||||
*/
|
||||
struct AIDebugWindow : public QueryStringBaseWindow {
|
||||
static const int top_offset; ///< Offset of the text at the top of the AID_WIDGET_LOG_PANEL.
|
||||
static const int bottom_offset; ///< Offset of the text at the bottom of the AID_WIDGET_LOG_PANEL.
|
||||
static const int top_offset; ///< Offset of the text at the top of the WID_AID_LOG_PANEL.
|
||||
static const int bottom_offset; ///< Offset of the text at the bottom of the WID_AID_LOG_PANEL.
|
||||
|
||||
static const unsigned int MAX_BREAK_STR_STRING_LENGTH = 256; ///< Maximum length of the break string.
|
||||
|
||||
|
@ -778,19 +778,19 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
|||
AIDebugWindow(const WindowDesc *desc, WindowNumber number) : QueryStringBaseWindow(MAX_BREAK_STR_STRING_LENGTH)
|
||||
{
|
||||
this->CreateNestedTree(desc);
|
||||
this->vscroll = this->GetScrollbar(AID_WIDGET_SCROLLBAR);
|
||||
this->vscroll = this->GetScrollbar(WID_AID_SCROLLBAR);
|
||||
this->show_break_box = _settings_client.gui.ai_developer_tools;
|
||||
this->GetWidget<NWidgetStacked>(AID_BREAK_STRING_WIDGETS)->SetDisplayedPlane(this->show_break_box ? 0 : SZSP_HORIZONTAL);
|
||||
this->GetWidget<NWidgetStacked>(WID_AID_BREAK_STRING_WIDGETS)->SetDisplayedPlane(this->show_break_box ? 0 : SZSP_HORIZONTAL);
|
||||
this->FinishInitNested(desc, number);
|
||||
|
||||
if (!this->show_break_box) break_check_enabled = false;
|
||||
/* Disable the companies who are not active or not an AI */
|
||||
for (CompanyID i = COMPANY_FIRST; i < MAX_COMPANIES; i++) {
|
||||
this->SetWidgetDisabledState(i + AID_WIDGET_COMPANY_BUTTON_START, !Company::IsValidAiID(i));
|
||||
this->SetWidgetDisabledState(i + WID_AID_COMPANY_BUTTON_START, !Company::IsValidAiID(i));
|
||||
}
|
||||
this->DisableWidget(AID_WIDGET_RELOAD_TOGGLE);
|
||||
this->DisableWidget(AID_WIDGET_SETTINGS);
|
||||
this->DisableWidget(AID_WIDGET_CONTINUE_BTN);
|
||||
this->DisableWidget(WID_AID_RELOAD_TOGGLE);
|
||||
this->DisableWidget(WID_AID_SETTINGS);
|
||||
this->DisableWidget(WID_AID_CONTINUE_BTN);
|
||||
|
||||
this->last_vscroll_pos = 0;
|
||||
this->autoscroll = true;
|
||||
|
@ -802,15 +802,15 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
|||
UpdateTextBufferSize(&this->text);
|
||||
|
||||
/* Restore button state from static class variables */
|
||||
if (ai_debug_company != INVALID_COMPANY) this->LowerWidget(ai_debug_company + AID_WIDGET_COMPANY_BUTTON_START);
|
||||
this->SetWidgetLoweredState(AID_WIDGET_BREAK_STR_ON_OFF_BTN, this->break_check_enabled);
|
||||
this->SetWidgetLoweredState(AID_WIDGET_MATCH_CASE_BTN, this->case_sensitive_break_check);
|
||||
if (ai_debug_company != INVALID_COMPANY) this->LowerWidget(ai_debug_company + WID_AID_COMPANY_BUTTON_START);
|
||||
this->SetWidgetLoweredState(WID_AID_BREAK_STR_ON_OFF_BTN, this->break_check_enabled);
|
||||
this->SetWidgetLoweredState(WID_AID_MATCH_CASE_BTN, this->case_sensitive_break_check);
|
||||
|
||||
}
|
||||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||
{
|
||||
if (widget == AID_WIDGET_LOG_PANEL) {
|
||||
if (widget == WID_AID_LOG_PANEL) {
|
||||
resize->height = FONT_HEIGHT_NORMAL + WD_PAR_VSEP_NORMAL;
|
||||
size->height = 14 * resize->height + this->top_offset + this->bottom_offset;
|
||||
}
|
||||
|
@ -822,7 +822,7 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
|||
if (ai_debug_company == INVALID_COMPANY || !Company::IsValidAiID(ai_debug_company)) {
|
||||
if (ai_debug_company != INVALID_COMPANY) {
|
||||
/* Raise the widget for the previous selection. */
|
||||
this->RaiseWidget(ai_debug_company + AID_WIDGET_COMPANY_BUTTON_START);
|
||||
this->RaiseWidget(ai_debug_company + WID_AID_COMPANY_BUTTON_START);
|
||||
|
||||
ai_debug_company = INVALID_COMPANY;
|
||||
}
|
||||
|
@ -831,7 +831,7 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
|||
FOR_ALL_COMPANIES(c) {
|
||||
if (c->is_ai) {
|
||||
/* Lower the widget corresponding to this company. */
|
||||
this->LowerWidget(c->index + AID_WIDGET_COMPANY_BUTTON_START);
|
||||
this->LowerWidget(c->index + WID_AID_COMPANY_BUTTON_START);
|
||||
|
||||
ai_debug_company = c->index;
|
||||
break;
|
||||
|
@ -841,8 +841,8 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
|||
|
||||
/* Update "Reload AI" and "AI settings" buttons */
|
||||
this->SetWidgetsDisabledState(ai_debug_company == INVALID_COMPANY,
|
||||
AID_WIDGET_RELOAD_TOGGLE,
|
||||
AID_WIDGET_SETTINGS,
|
||||
WID_AID_RELOAD_TOGGLE,
|
||||
WID_AID_SETTINGS,
|
||||
WIDGET_LIST_END);
|
||||
|
||||
/* Draw standard stuff */
|
||||
|
@ -850,11 +850,11 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
|||
|
||||
if (this->IsShaded()) return; // Don't draw anything when the window is shaded.
|
||||
|
||||
if (this->show_break_box) this->DrawEditBox(AID_WIDGET_BREAK_STR_EDIT_BOX);
|
||||
if (this->show_break_box) this->DrawEditBox(WID_AID_BREAK_STR_EDIT_BOX);
|
||||
|
||||
/* Paint the company icons */
|
||||
for (CompanyID i = COMPANY_FIRST; i < MAX_COMPANIES; i++) {
|
||||
NWidgetCore *button = this->GetWidget<NWidgetCore>(i + AID_WIDGET_COMPANY_BUTTON_START);
|
||||
NWidgetCore *button = this->GetWidget<NWidgetCore>(i + WID_AID_COMPANY_BUTTON_START);
|
||||
bool dirty = false;
|
||||
|
||||
bool valid = Company::IsValidAiID(i);
|
||||
|
@ -879,7 +879,7 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
|||
if (!valid) continue;
|
||||
|
||||
byte offset = (i == ai_debug_company) ? 1 : 0;
|
||||
DrawCompanyIcon(i, button->pos_x + button->current_x / 2 - 7 + offset, this->GetWidget<NWidgetBase>(AID_WIDGET_COMPANY_BUTTON_START + i)->pos_y + 2 + offset);
|
||||
DrawCompanyIcon(i, button->pos_x + button->current_x / 2 - 7 + offset, this->GetWidget<NWidgetBase>(WID_AID_COMPANY_BUTTON_START + i)->pos_y + 2 + offset);
|
||||
}
|
||||
|
||||
/* If there are no active companies, don't display anything else. */
|
||||
|
@ -892,7 +892,7 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
|||
this->vscroll->SetCount(scroll_count);
|
||||
|
||||
/* We need a repaint */
|
||||
this->SetWidgetDirty(AID_WIDGET_SCROLLBAR);
|
||||
this->SetWidgetDirty(WID_AID_SCROLLBAR);
|
||||
}
|
||||
|
||||
if (log == NULL) return;
|
||||
|
@ -908,8 +908,8 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
|||
this->vscroll->SetPosition(scroll_pos);
|
||||
|
||||
/* We need a repaint */
|
||||
this->SetWidgetDirty(AID_WIDGET_SCROLLBAR);
|
||||
this->SetWidgetDirty(AID_WIDGET_LOG_PANEL);
|
||||
this->SetWidgetDirty(WID_AID_SCROLLBAR);
|
||||
this->SetWidgetDirty(WID_AID_LOG_PANEL);
|
||||
}
|
||||
}
|
||||
this->last_vscroll_pos = this->vscroll->GetPosition();
|
||||
|
@ -918,7 +918,7 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
|||
virtual void SetStringParameters(int widget) const
|
||||
{
|
||||
switch (widget) {
|
||||
case AID_WIDGET_NAME_TEXT:
|
||||
case WID_AID_NAME_TEXT:
|
||||
if (ai_debug_company == INVALID_COMPANY || !Company::IsValidAiID(ai_debug_company)) {
|
||||
SetDParam(0, STR_EMPTY);
|
||||
} else {
|
||||
|
@ -937,7 +937,7 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
|||
if (ai_debug_company == INVALID_COMPANY) return;
|
||||
|
||||
switch (widget) {
|
||||
case AID_WIDGET_LOG_PANEL: {
|
||||
case WID_AID_LOG_PANEL: {
|
||||
ScriptLog::LogData *log = (ScriptLog::LogData *)Company::Get(ai_debug_company)->ai_instance->GetLogPointer();
|
||||
if (log == NULL) return;
|
||||
|
||||
|
@ -976,13 +976,13 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
|||
*/
|
||||
void ChangeToAI(CompanyID show_ai)
|
||||
{
|
||||
this->RaiseWidget(ai_debug_company + AID_WIDGET_COMPANY_BUTTON_START);
|
||||
this->RaiseWidget(ai_debug_company + WID_AID_COMPANY_BUTTON_START);
|
||||
ai_debug_company = show_ai;
|
||||
|
||||
ScriptLog::LogData *log = (ScriptLog::LogData *)Company::Get(ai_debug_company)->ai_instance->GetLogPointer();
|
||||
this->vscroll->SetCount((log == NULL) ? 0 : log->used);
|
||||
|
||||
this->LowerWidget(ai_debug_company + AID_WIDGET_COMPANY_BUTTON_START);
|
||||
this->LowerWidget(ai_debug_company + WID_AID_COMPANY_BUTTON_START);
|
||||
this->autoscroll = true;
|
||||
this->last_vscroll_pos = this->vscroll->GetPosition();
|
||||
this->SetDirty();
|
||||
|
@ -993,60 +993,60 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
|||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
/* Check which button is clicked */
|
||||
if (IsInsideMM(widget, AID_WIDGET_COMPANY_BUTTON_START, AID_WIDGET_COMPANY_BUTTON_END + 1)) {
|
||||
if (IsInsideMM(widget, WID_AID_COMPANY_BUTTON_START, WID_AID_COMPANY_BUTTON_END + 1)) {
|
||||
/* Is it no on disable? */
|
||||
if (!this->IsWidgetDisabled(widget)) {
|
||||
ChangeToAI((CompanyID)(widget - AID_WIDGET_COMPANY_BUTTON_START));
|
||||
ChangeToAI((CompanyID)(widget - WID_AID_COMPANY_BUTTON_START));
|
||||
}
|
||||
}
|
||||
|
||||
switch (widget) {
|
||||
case AID_WIDGET_RELOAD_TOGGLE:
|
||||
case WID_AID_RELOAD_TOGGLE:
|
||||
/* First kill the company of the AI, then start a new one. This should start the current AI again */
|
||||
DoCommandP(0, 2 | ai_debug_company << 16, CRR_MANUAL, CMD_COMPANY_CTRL);
|
||||
DoCommandP(0, 1 | ai_debug_company << 16, 0, CMD_COMPANY_CTRL);
|
||||
break;
|
||||
|
||||
case AID_WIDGET_SETTINGS:
|
||||
case WID_AID_SETTINGS:
|
||||
ShowAISettingsWindow(ai_debug_company);
|
||||
break;
|
||||
|
||||
case AID_WIDGET_BREAK_STR_ON_OFF_BTN:
|
||||
case WID_AID_BREAK_STR_ON_OFF_BTN:
|
||||
this->break_check_enabled = !this->break_check_enabled;
|
||||
this->SetWidgetLoweredState(AID_WIDGET_BREAK_STR_ON_OFF_BTN, this->break_check_enabled);
|
||||
this->SetWidgetDirty(AID_WIDGET_BREAK_STR_ON_OFF_BTN);
|
||||
this->SetWidgetLoweredState(WID_AID_BREAK_STR_ON_OFF_BTN, this->break_check_enabled);
|
||||
this->SetWidgetDirty(WID_AID_BREAK_STR_ON_OFF_BTN);
|
||||
break;
|
||||
|
||||
case AID_WIDGET_MATCH_CASE_BTN:
|
||||
case WID_AID_MATCH_CASE_BTN:
|
||||
this->case_sensitive_break_check = !this->case_sensitive_break_check;
|
||||
this->SetWidgetLoweredState(AID_WIDGET_MATCH_CASE_BTN, this->case_sensitive_break_check);
|
||||
this->SetWidgetLoweredState(WID_AID_MATCH_CASE_BTN, this->case_sensitive_break_check);
|
||||
break;
|
||||
|
||||
case AID_WIDGET_CONTINUE_BTN:
|
||||
case WID_AID_CONTINUE_BTN:
|
||||
/* Unpause */
|
||||
DoCommandP(0, PM_PAUSED_NORMAL, 0, CMD_PAUSE);
|
||||
this->DisableWidget(AID_WIDGET_CONTINUE_BTN);
|
||||
this->RaiseWidget(AID_WIDGET_CONTINUE_BTN); // Disabled widgets don't raise themself
|
||||
this->DisableWidget(WID_AID_CONTINUE_BTN);
|
||||
this->RaiseWidget(WID_AID_CONTINUE_BTN); // Disabled widgets don't raise themself
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
virtual void OnTimeout()
|
||||
{
|
||||
this->RaiseWidget(AID_WIDGET_RELOAD_TOGGLE);
|
||||
this->RaiseWidget(AID_WIDGET_SETTINGS);
|
||||
this->RaiseWidget(WID_AID_RELOAD_TOGGLE);
|
||||
this->RaiseWidget(WID_AID_SETTINGS);
|
||||
this->SetDirty();
|
||||
}
|
||||
|
||||
virtual void OnMouseLoop()
|
||||
{
|
||||
this->HandleEditBox(AID_WIDGET_BREAK_STR_EDIT_BOX);
|
||||
this->HandleEditBox(WID_AID_BREAK_STR_EDIT_BOX);
|
||||
}
|
||||
|
||||
virtual EventState OnKeyPress(uint16 key, uint16 keycode)
|
||||
{
|
||||
EventState state = ES_NOT_HANDLED;
|
||||
if (this->HandleEditBoxKey(AID_WIDGET_BREAK_STR_EDIT_BOX, key, keycode, state) != HEBR_NOT_FOCUSED) {
|
||||
if (this->HandleEditBoxKey(WID_AID_BREAK_STR_EDIT_BOX, key, keycode, state) != HEBR_NOT_FOCUSED) {
|
||||
/* Save the current string to static member so it can be restored next time the window is opened */
|
||||
strecpy(this->break_string, this->edit_str_buf, lastof(this->break_string));
|
||||
}
|
||||
|
@ -1067,9 +1067,9 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
|||
* it was previously paused by the break string ( = a line in the log
|
||||
* was highlighted )*/
|
||||
if ((_pause_mode & PM_PAUSED_NORMAL) == PM_UNPAUSED && this->highlight_row != -1) {
|
||||
this->DisableWidget(AID_WIDGET_CONTINUE_BTN);
|
||||
this->SetWidgetDirty(AID_WIDGET_CONTINUE_BTN);
|
||||
this->SetWidgetDirty(AID_WIDGET_LOG_PANEL);
|
||||
this->DisableWidget(WID_AID_CONTINUE_BTN);
|
||||
this->SetWidgetDirty(WID_AID_CONTINUE_BTN);
|
||||
this->SetWidgetDirty(WID_AID_LOG_PANEL);
|
||||
this->highlight_row = -1;
|
||||
}
|
||||
}
|
||||
|
@ -1090,8 +1090,8 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
|||
}
|
||||
|
||||
/* Make it possible to click on the continue button */
|
||||
this->EnableWidget(AID_WIDGET_CONTINUE_BTN);
|
||||
this->SetWidgetDirty(AID_WIDGET_CONTINUE_BTN);
|
||||
this->EnableWidget(WID_AID_CONTINUE_BTN);
|
||||
this->SetWidgetDirty(WID_AID_CONTINUE_BTN);
|
||||
|
||||
/* Highlight row that matched */
|
||||
this->highlight_row = log->pos;
|
||||
|
@ -1101,7 +1101,7 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
|||
|
||||
virtual void OnResize()
|
||||
{
|
||||
this->vscroll->SetCapacityFromWidget(this, AID_WIDGET_LOG_PANEL);
|
||||
this->vscroll->SetCapacityFromWidget(this, WID_AID_LOG_PANEL);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1115,7 +1115,7 @@ bool AIDebugWindow::case_sensitive_break_check = false;
|
|||
/** Make a number of rows with buttons for each company for the AI debug window. */
|
||||
NWidgetBase *MakeCompanyButtonRowsAIDebug(int *biggest_index)
|
||||
{
|
||||
return MakeCompanyButtonRows(biggest_index, AID_WIDGET_COMPANY_BUTTON_START, AID_WIDGET_COMPANY_BUTTON_END, 8, STR_AI_DEBUG_SELECT_AI_TOOLTIP);
|
||||
return MakeCompanyButtonRows(biggest_index, WID_AID_COMPANY_BUTTON_START, WID_AID_COMPANY_BUTTON_END, 8, STR_AI_DEBUG_SELECT_AI_TOOLTIP);
|
||||
}
|
||||
|
||||
/** Widgets for the AI debug window. */
|
||||
|
@ -1126,36 +1126,36 @@ static const NWidgetPart _nested_ai_debug_widgets[] = {
|
|||
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_VIEW),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_AID_VIEW),
|
||||
NWidgetFunction(MakeCompanyButtonRowsAIDebug), SetPadding(0, 2, 1, 2),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_GREY, AID_WIDGET_NAME_TEXT), SetFill(1, 0), SetResize(1, 0), SetDataTip(STR_JUST_STRING, STR_AI_DEBUG_NAME_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, AID_WIDGET_SETTINGS), SetMinimalSize(100, 20), SetDataTip(STR_AI_DEBUG_SETTINGS, STR_AI_DEBUG_SETTINGS_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, AID_WIDGET_RELOAD_TOGGLE), SetMinimalSize(100, 20), SetDataTip(STR_AI_DEBUG_RELOAD, STR_AI_DEBUG_RELOAD_TOOLTIP),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_AID_NAME_TEXT), SetFill(1, 0), SetResize(1, 0), SetDataTip(STR_JUST_STRING, STR_AI_DEBUG_NAME_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_AID_SETTINGS), SetMinimalSize(100, 20), SetDataTip(STR_AI_DEBUG_SETTINGS, STR_AI_DEBUG_SETTINGS_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_AID_RELOAD_TOGGLE), SetMinimalSize(100, 20), SetDataTip(STR_AI_DEBUG_RELOAD, STR_AI_DEBUG_RELOAD_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_VERTICAL),
|
||||
/* Log panel */
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, AID_WIDGET_LOG_PANEL), SetMinimalSize(287, 180), SetResize(1, 1), SetScrollbar(AID_WIDGET_SCROLLBAR),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_AID_LOG_PANEL), SetMinimalSize(287, 180), SetResize(1, 1), SetScrollbar(WID_AID_SCROLLBAR),
|
||||
EndContainer(),
|
||||
/* Break string widgets */
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, AID_BREAK_STRING_WIDGETS),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_AID_BREAK_STRING_WIDGETS),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_IMGBTN_2, COLOUR_GREY, AID_WIDGET_BREAK_STR_ON_OFF_BTN), SetFill(0, 1), SetDataTip(SPR_FLAG_VEH_STOPPED, STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP),
|
||||
NWidget(WWT_IMGBTN_2, COLOUR_GREY, WID_AID_BREAK_STR_ON_OFF_BTN), SetFill(0, 1), SetDataTip(SPR_FLAG_VEH_STOPPED, STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_LABEL, COLOUR_GREY), SetPadding(2, 2, 2, 4), SetDataTip(STR_AI_DEBUG_BREAK_ON_LABEL, 0x0),
|
||||
NWidget(WWT_EDITBOX, COLOUR_WHITE, AID_WIDGET_BREAK_STR_EDIT_BOX), SetFill(1, 1), SetResize(1, 0), SetPadding(2, 2, 2, 2), SetDataTip(STR_AI_DEBUG_BREAK_STR_OSKTITLE, STR_AI_DEBUG_BREAK_STR_TOOLTIP),
|
||||
NWidget(WWT_EDITBOX, COLOUR_WHITE, WID_AID_BREAK_STR_EDIT_BOX), SetFill(1, 1), SetResize(1, 0), SetPadding(2, 2, 2, 2), SetDataTip(STR_AI_DEBUG_BREAK_STR_OSKTITLE, STR_AI_DEBUG_BREAK_STR_TOOLTIP),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, AID_WIDGET_MATCH_CASE_BTN), SetMinimalSize(100, 0), SetFill(0, 1), SetDataTip(STR_AI_DEBUG_MATCH_CASE, STR_AI_DEBUG_MATCH_CASE_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, AID_WIDGET_CONTINUE_BTN), SetMinimalSize(100, 0), SetFill(0, 1), SetDataTip(STR_AI_DEBUG_CONTINUE, STR_AI_DEBUG_CONTINUE_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_AID_MATCH_CASE_BTN), SetMinimalSize(100, 0), SetFill(0, 1), SetDataTip(STR_AI_DEBUG_MATCH_CASE, STR_AI_DEBUG_MATCH_CASE_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_AID_CONTINUE_BTN), SetMinimalSize(100, 0), SetFill(0, 1), SetDataTip(STR_AI_DEBUG_CONTINUE, STR_AI_DEBUG_CONTINUE_TOOLTIP),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, AID_WIDGET_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_AID_SCROLLBAR),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
|
|
|
@ -84,15 +84,15 @@ struct BuildAirToolbarWindow : Window {
|
|||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case ATW_AIRPORT:
|
||||
if (HandlePlacePushButton(this, ATW_AIRPORT, SPR_CURSOR_AIRPORT, HT_RECT)) {
|
||||
case WID_AT_AIRPORT:
|
||||
if (HandlePlacePushButton(this, WID_AT_AIRPORT, SPR_CURSOR_AIRPORT, HT_RECT)) {
|
||||
ShowBuildAirportPicker(this);
|
||||
this->last_user_action = widget;
|
||||
}
|
||||
break;
|
||||
|
||||
case ATW_DEMOLISH:
|
||||
HandlePlacePushButton(this, ATW_DEMOLISH, ANIMCURSOR_DEMOLISH, HT_RECT | HT_DIAGONAL);
|
||||
case WID_AT_DEMOLISH:
|
||||
HandlePlacePushButton(this, WID_AT_DEMOLISH, ANIMCURSOR_DEMOLISH, HT_RECT | HT_DIAGONAL);
|
||||
this->last_user_action = widget;
|
||||
break;
|
||||
|
||||
|
@ -112,11 +112,11 @@ struct BuildAirToolbarWindow : Window {
|
|||
virtual void OnPlaceObject(Point pt, TileIndex tile)
|
||||
{
|
||||
switch (this->last_user_action) {
|
||||
case ATW_AIRPORT:
|
||||
case WID_AT_AIRPORT:
|
||||
PlaceAirport(tile);
|
||||
break;
|
||||
|
||||
case ATW_DEMOLISH:
|
||||
case WID_AT_DEMOLISH:
|
||||
PlaceProc_DemolishArea(tile);
|
||||
break;
|
||||
|
||||
|
@ -148,8 +148,8 @@ struct BuildAirToolbarWindow : Window {
|
|||
};
|
||||
|
||||
Hotkey<BuildAirToolbarWindow> BuildAirToolbarWindow::airtoolbar_hotkeys[] = {
|
||||
Hotkey<BuildAirToolbarWindow>('1', "airport", ATW_AIRPORT),
|
||||
Hotkey<BuildAirToolbarWindow>('2', "demolish", ATW_DEMOLISH),
|
||||
Hotkey<BuildAirToolbarWindow>('1', "airport", WID_AT_AIRPORT),
|
||||
Hotkey<BuildAirToolbarWindow>('2', "demolish", WID_AT_DEMOLISH),
|
||||
HOTKEY_LIST_END(BuildAirToolbarWindow)
|
||||
};
|
||||
Hotkey<BuildAirToolbarWindow> *_airtoolbar_hotkeys = BuildAirToolbarWindow::airtoolbar_hotkeys;
|
||||
|
@ -161,9 +161,9 @@ static const NWidgetPart _nested_air_toolbar_widgets[] = {
|
|||
NWidget(WWT_STICKYBOX, COLOUR_DARK_GREEN),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, ATW_AIRPORT), SetFill(0, 1), SetMinimalSize(42, 22), SetDataTip(SPR_IMG_AIRPORT, STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_AT_AIRPORT), SetFill(0, 1), SetMinimalSize(42, 22), SetDataTip(SPR_IMG_AIRPORT, STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetMinimalSize(4, 22), SetFill(1, 1), EndContainer(),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, ATW_DEMOLISH), SetFill(0, 1), SetMinimalSize(22, 22), SetDataTip(SPR_IMG_DYNAMITE, STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_AT_DEMOLISH), SetFill(0, 1), SetMinimalSize(22, 22), SetDataTip(SPR_IMG_DYNAMITE, STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC),
|
||||
EndContainer(),
|
||||
};
|
||||
|
||||
|
@ -221,14 +221,14 @@ public:
|
|||
{
|
||||
this->CreateNestedTree(desc);
|
||||
|
||||
this->vscroll = this->GetScrollbar(BAIRW_SCROLLBAR);
|
||||
this->vscroll = this->GetScrollbar(WID_AP_SCROLLBAR);
|
||||
this->vscroll->SetCapacity(5);
|
||||
this->vscroll->SetPosition(0);
|
||||
|
||||
this->FinishInitNested(desc, TRANSPORT_AIR);
|
||||
|
||||
this->SetWidgetLoweredState(BAIRW_BTN_DONTHILIGHT, !_settings_client.gui.station_show_coverage);
|
||||
this->SetWidgetLoweredState(BAIRW_BTN_DOHILIGHT, _settings_client.gui.station_show_coverage);
|
||||
this->SetWidgetLoweredState(WID_AP_BTN_DONTHILIGHT, !_settings_client.gui.station_show_coverage);
|
||||
this->SetWidgetLoweredState(WID_AP_BTN_DOHILIGHT, _settings_client.gui.station_show_coverage);
|
||||
this->OnInvalidateData();
|
||||
|
||||
this->vscroll->SetCount(AirportClass::GetCount(_selected_airport_class));
|
||||
|
@ -243,11 +243,11 @@ public:
|
|||
virtual void SetStringParameters(int widget) const
|
||||
{
|
||||
switch (widget) {
|
||||
case BAIRW_CLASS_DROPDOWN:
|
||||
case WID_AP_CLASS_DROPDOWN:
|
||||
SetDParam(0, AirportClass::GetName(_selected_airport_class));
|
||||
break;
|
||||
|
||||
case BAIRW_LAYOUT_NUM:
|
||||
case WID_AP_LAYOUT_NUM:
|
||||
SetDParam(0, STR_EMPTY);
|
||||
if (_selected_airport_index != -1) {
|
||||
const AirportSpec *as = AirportClass::Get(_selected_airport_class, _selected_airport_index);
|
||||
|
@ -268,7 +268,7 @@ public:
|
|||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||
{
|
||||
switch (widget) {
|
||||
case BAIRW_CLASS_DROPDOWN: {
|
||||
case WID_AP_CLASS_DROPDOWN: {
|
||||
Dimension d = {0, 0};
|
||||
for (uint i = 0; i < AirportClass::GetCount(); i++) {
|
||||
SetDParam(0, AirportClass::GetName((AirportClassID)i));
|
||||
|
@ -280,7 +280,7 @@ public:
|
|||
break;
|
||||
}
|
||||
|
||||
case BAIRW_AIRPORT_LIST: {
|
||||
case WID_AP_AIRPORT_LIST: {
|
||||
for (int i = 0; i < NUM_AIRPORTS; i++) {
|
||||
const AirportSpec *as = AirportSpec::Get(i);
|
||||
if (!as->enabled) continue;
|
||||
|
@ -293,7 +293,7 @@ public:
|
|||
break;
|
||||
}
|
||||
|
||||
case BAIRW_AIRPORT_SPRITE:
|
||||
case WID_AP_AIRPORT_SPRITE:
|
||||
for (int i = 0; i < NUM_AIRPORTS; i++) {
|
||||
const AirportSpec *as = AirportSpec::Get(i);
|
||||
if (!as->enabled) continue;
|
||||
|
@ -309,7 +309,7 @@ public:
|
|||
}
|
||||
break;
|
||||
|
||||
case BAIRW_EXTRA_TEXT:
|
||||
case WID_AP_EXTRA_TEXT:
|
||||
for (int i = NEW_AIRPORT_OFFSET; i < NUM_AIRPORTS; i++) {
|
||||
const AirportSpec *as = AirportSpec::Get(i);
|
||||
if (!as->enabled) continue;
|
||||
|
@ -332,7 +332,7 @@ public:
|
|||
virtual void DrawWidget(const Rect &r, int widget) const
|
||||
{
|
||||
switch (widget) {
|
||||
case BAIRW_AIRPORT_LIST: {
|
||||
case WID_AP_AIRPORT_LIST: {
|
||||
int y = r.top;
|
||||
for (uint i = this->vscroll->GetPosition(); this->vscroll->IsVisible(i) && i < AirportClass::GetCount(_selected_airport_class); i++) {
|
||||
const AirportSpec *as = AirportClass::Get(_selected_airport_class, i);
|
||||
|
@ -345,14 +345,14 @@ public:
|
|||
break;
|
||||
}
|
||||
|
||||
case BAIRW_AIRPORT_SPRITE:
|
||||
case WID_AP_AIRPORT_SPRITE:
|
||||
if (this->preview_sprite != 0) {
|
||||
Dimension d = GetSpriteSize(this->preview_sprite);
|
||||
DrawSprite(this->preview_sprite, COMPANY_SPRITE_COLOUR(_local_company), (r.left + r.right - d.width) / 2, (r.top + r.bottom - d.height) / 2);
|
||||
}
|
||||
break;
|
||||
|
||||
case BAIRW_EXTRA_TEXT:
|
||||
case WID_AP_EXTRA_TEXT:
|
||||
if (_selected_airport_index != -1) {
|
||||
const AirportSpec *as = AirportClass::Get(_selected_airport_class, _selected_airport_index);
|
||||
StringID string = GetAirportTextCallback(as, _selected_airport_layout, CBID_AIRPORT_ADDITIONAL_TEXT);
|
||||
|
@ -369,8 +369,8 @@ public:
|
|||
{
|
||||
this->DrawWidgets();
|
||||
|
||||
uint16 top = this->GetWidget<NWidgetBase>(BAIRW_BTN_DOHILIGHT)->pos_y + this->GetWidget<NWidgetBase>(BAIRW_BTN_DOHILIGHT)->current_y + WD_PAR_VSEP_NORMAL;
|
||||
NWidgetBase *panel_nwi = this->GetWidget<NWidgetBase>(BAIRW_BOTTOMPANEL);
|
||||
uint16 top = this->GetWidget<NWidgetBase>(WID_AP_BTN_DOHILIGHT)->pos_y + this->GetWidget<NWidgetBase>(WID_AP_BTN_DOHILIGHT)->current_y + WD_PAR_VSEP_NORMAL;
|
||||
NWidgetBase *panel_nwi = this->GetWidget<NWidgetBase>(WID_AP_BOTTOMPANEL);
|
||||
|
||||
int right = panel_nwi->pos_x + panel_nwi->current_x;
|
||||
int bottom = panel_nwi->pos_y + panel_nwi->current_y;
|
||||
|
@ -411,8 +411,8 @@ public:
|
|||
{
|
||||
if (_selected_airport_index == -1) {
|
||||
SetTileSelectSize(1, 1);
|
||||
this->DisableWidget(BAIRW_LAYOUT_DECREASE);
|
||||
this->DisableWidget(BAIRW_LAYOUT_INCREASE);
|
||||
this->DisableWidget(WID_AP_LAYOUT_DECREASE);
|
||||
this->DisableWidget(WID_AP_LAYOUT_INCREASE);
|
||||
} else {
|
||||
const AirportSpec *as = AirportClass::Get(_selected_airport_class, _selected_airport_index);
|
||||
int w = as->size_x;
|
||||
|
@ -423,8 +423,8 @@ public:
|
|||
|
||||
this->preview_sprite = GetCustomAirportSprite(as, _selected_airport_layout);
|
||||
|
||||
this->SetWidgetDisabledState(BAIRW_LAYOUT_DECREASE, _selected_airport_layout == 0);
|
||||
this->SetWidgetDisabledState(BAIRW_LAYOUT_INCREASE, _selected_airport_layout + 1 >= as->num_table);
|
||||
this->SetWidgetDisabledState(WID_AP_LAYOUT_DECREASE, _selected_airport_layout == 0);
|
||||
this->SetWidgetDisabledState(WID_AP_LAYOUT_INCREASE, _selected_airport_layout + 1 >= as->num_table);
|
||||
|
||||
int rad = _settings_game.station.modified_catchment ? as->catchment : (uint)CA_UNMODIFIED;
|
||||
if (_settings_client.gui.station_show_coverage) SetTileSelectBigSize(-rad, -rad, 2 * rad, 2 * rad);
|
||||
|
@ -434,11 +434,11 @@ public:
|
|||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case BAIRW_CLASS_DROPDOWN:
|
||||
ShowDropDownList(this, BuildAirportClassDropDown(), _selected_airport_class, BAIRW_CLASS_DROPDOWN);
|
||||
case WID_AP_CLASS_DROPDOWN:
|
||||
ShowDropDownList(this, BuildAirportClassDropDown(), _selected_airport_class, WID_AP_CLASS_DROPDOWN);
|
||||
break;
|
||||
|
||||
case BAIRW_AIRPORT_LIST: {
|
||||
case WID_AP_AIRPORT_LIST: {
|
||||
int num_clicked = this->vscroll->GetPosition() + (pt.y - this->nested_array[widget]->pos_y) / this->line_height;
|
||||
if (num_clicked >= this->vscroll->GetCount()) break;
|
||||
const AirportSpec *as = AirportClass::Get(_selected_airport_class, num_clicked);
|
||||
|
@ -446,22 +446,22 @@ public:
|
|||
break;
|
||||
}
|
||||
|
||||
case BAIRW_BTN_DONTHILIGHT: case BAIRW_BTN_DOHILIGHT:
|
||||
_settings_client.gui.station_show_coverage = (widget != BAIRW_BTN_DONTHILIGHT);
|
||||
this->SetWidgetLoweredState(BAIRW_BTN_DONTHILIGHT, !_settings_client.gui.station_show_coverage);
|
||||
this->SetWidgetLoweredState(BAIRW_BTN_DOHILIGHT, _settings_client.gui.station_show_coverage);
|
||||
case WID_AP_BTN_DONTHILIGHT: case WID_AP_BTN_DOHILIGHT:
|
||||
_settings_client.gui.station_show_coverage = (widget != WID_AP_BTN_DONTHILIGHT);
|
||||
this->SetWidgetLoweredState(WID_AP_BTN_DONTHILIGHT, !_settings_client.gui.station_show_coverage);
|
||||
this->SetWidgetLoweredState(WID_AP_BTN_DOHILIGHT, _settings_client.gui.station_show_coverage);
|
||||
this->SetDirty();
|
||||
SndPlayFx(SND_15_BEEP);
|
||||
this->UpdateSelectSize();
|
||||
break;
|
||||
|
||||
case BAIRW_LAYOUT_DECREASE:
|
||||
case WID_AP_LAYOUT_DECREASE:
|
||||
_selected_airport_layout--;
|
||||
this->UpdateSelectSize();
|
||||
this->SetDirty();
|
||||
break;
|
||||
|
||||
case BAIRW_LAYOUT_INCREASE:
|
||||
case WID_AP_LAYOUT_INCREASE:
|
||||
_selected_airport_layout++;
|
||||
this->UpdateSelectSize();
|
||||
this->SetDirty();
|
||||
|
@ -504,7 +504,7 @@ public:
|
|||
|
||||
virtual void OnDropdownSelect(int widget, int index)
|
||||
{
|
||||
assert(widget == BAIRW_CLASS_DROPDOWN);
|
||||
assert(widget == WID_AP_CLASS_DROPDOWN);
|
||||
_selected_airport_class = (AirportClassID)index;
|
||||
this->vscroll->SetCount(AirportClass::GetCount(_selected_airport_class));
|
||||
this->SelectFirstAvailableAirport(false);
|
||||
|
@ -523,28 +523,28 @@ static const NWidgetPart _nested_build_airport_widgets[] = {
|
|||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetFill(1, 0), SetPIP(2, 0, 2),
|
||||
NWidget(WWT_LABEL, COLOUR_DARK_GREEN), SetDataTip(STR_STATION_BUILD_AIRPORT_CLASS_LABEL, STR_NULL), SetFill(1, 0),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_GREY, BAIRW_CLASS_DROPDOWN), SetFill(1, 0), SetDataTip(STR_BLACK_STRING, STR_STATION_BUILD_AIRPORT_TOOLTIP),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_AP_CLASS_DROPDOWN), SetFill(1, 0), SetDataTip(STR_BLACK_STRING, STR_STATION_BUILD_AIRPORT_TOOLTIP),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_MATRIX, COLOUR_GREY, BAIRW_AIRPORT_LIST), SetFill(1, 0), SetDataTip(0x501, STR_STATION_BUILD_AIRPORT_TOOLTIP), SetScrollbar(BAIRW_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, BAIRW_SCROLLBAR),
|
||||
NWidget(WWT_MATRIX, COLOUR_GREY, WID_AP_AIRPORT_LIST), SetFill(1, 0), SetDataTip(0x501, STR_STATION_BUILD_AIRPORT_TOOLTIP), SetScrollbar(WID_AP_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_AP_SCROLLBAR),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, BAIRW_LAYOUT_DECREASE), SetMinimalSize(12, 0), SetDataTip(AWV_DECREASE, STR_NULL),
|
||||
NWidget(WWT_LABEL, COLOUR_GREY, BAIRW_LAYOUT_NUM), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_BLACK_STRING, STR_NULL),
|
||||
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, BAIRW_LAYOUT_INCREASE), SetMinimalSize(12, 0), SetDataTip(AWV_INCREASE, STR_NULL),
|
||||
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_AP_LAYOUT_DECREASE), SetMinimalSize(12, 0), SetDataTip(AWV_DECREASE, STR_NULL),
|
||||
NWidget(WWT_LABEL, COLOUR_GREY, WID_AP_LAYOUT_NUM), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_BLACK_STRING, STR_NULL),
|
||||
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_AP_LAYOUT_INCREASE), SetMinimalSize(12, 0), SetDataTip(AWV_INCREASE, STR_NULL),
|
||||
EndContainer(),
|
||||
NWidget(WWT_EMPTY, COLOUR_DARK_GREEN, BAIRW_AIRPORT_SPRITE), SetFill(1, 0),
|
||||
NWidget(WWT_EMPTY, COLOUR_DARK_GREEN, BAIRW_EXTRA_TEXT), SetFill(1, 0), SetMinimalSize(150, 0),
|
||||
NWidget(WWT_EMPTY, COLOUR_DARK_GREEN, WID_AP_AIRPORT_SPRITE), SetFill(1, 0),
|
||||
NWidget(WWT_EMPTY, COLOUR_DARK_GREEN, WID_AP_EXTRA_TEXT), SetFill(1, 0), SetMinimalSize(150, 0),
|
||||
EndContainer(),
|
||||
/* Bottom panel. */
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, BAIRW_BOTTOMPANEL), SetPIP(2, 2, 2),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_AP_BOTTOMPANEL), SetPIP(2, 2, 2),
|
||||
NWidget(WWT_LABEL, COLOUR_DARK_GREEN), SetDataTip(STR_STATION_BUILD_COVERAGE_AREA_TITLE, STR_NULL), SetFill(1, 0),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(14, 0), SetFill(1, 0),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_GREY, BAIRW_BTN_DONTHILIGHT), SetMinimalSize(60, 12), SetFill(1, 0),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_AP_BTN_DONTHILIGHT), SetMinimalSize(60, 12), SetFill(1, 0),
|
||||
SetDataTip(STR_STATION_BUILD_COVERAGE_OFF, STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_GREY, BAIRW_BTN_DOHILIGHT), SetMinimalSize(60, 12), SetFill(1, 0),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_AP_BTN_DOHILIGHT), SetMinimalSize(60, 12), SetFill(1, 0),
|
||||
SetDataTip(STR_STATION_BUILD_COVERAGE_ON, STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(14, 0), SetFill(1, 0),
|
||||
|
|
|
@ -202,8 +202,8 @@ public:
|
|||
this->sel_engine[1] = INVALID_ENGINE;
|
||||
|
||||
this->CreateNestedTree(desc);
|
||||
this->vscroll[0] = this->GetScrollbar(RVW_WIDGET_LEFT_SCROLLBAR);
|
||||
this->vscroll[1] = this->GetScrollbar(RVW_WIDGET_RIGHT_SCROLLBAR);
|
||||
this->vscroll[0] = this->GetScrollbar(WID_RV_LEFT_SCROLLBAR);
|
||||
this->vscroll[1] = this->GetScrollbar(WID_RV_RIGHT_SCROLLBAR);
|
||||
this->FinishInitNested(desc, vehicletype);
|
||||
|
||||
this->owner = _local_company;
|
||||
|
@ -213,18 +213,18 @@ public:
|
|||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||
{
|
||||
switch (widget) {
|
||||
case RVW_WIDGET_LEFT_MATRIX:
|
||||
case RVW_WIDGET_RIGHT_MATRIX:
|
||||
case WID_RV_LEFT_MATRIX:
|
||||
case WID_RV_RIGHT_MATRIX:
|
||||
resize->height = GetEngineListHeight((VehicleType)this->window_number);
|
||||
size->height = (this->window_number <= VEH_ROAD ? 8 : 4) * resize->height;
|
||||
break;
|
||||
|
||||
case RVW_WIDGET_LEFT_DETAILS:
|
||||
case RVW_WIDGET_RIGHT_DETAILS:
|
||||
case WID_RV_LEFT_DETAILS:
|
||||
case WID_RV_RIGHT_DETAILS:
|
||||
size->height = this->details_height;
|
||||
break;
|
||||
|
||||
case RVW_WIDGET_TRAIN_WAGONREMOVE_TOGGLE: {
|
||||
case WID_RV_TRAIN_WAGONREMOVE_TOGGLE: {
|
||||
StringID str = this->GetWidget<NWidgetCore>(widget)->widget_data;
|
||||
SetDParam(0, STR_CONFIG_SETTING_ON);
|
||||
Dimension d = GetStringBoundingBox(str);
|
||||
|
@ -236,7 +236,7 @@ public:
|
|||
break;
|
||||
}
|
||||
|
||||
case RVW_WIDGET_TRAIN_ENGINEWAGON_TOGGLE: {
|
||||
case WID_RV_TRAIN_ENGINEWAGON_TOGGLE: {
|
||||
StringID str = this->GetWidget<NWidgetCore>(widget)->widget_data;
|
||||
SetDParam(0, STR_REPLACE_ENGINES);
|
||||
Dimension d = GetStringBoundingBox(str);
|
||||
|
@ -248,7 +248,7 @@ public:
|
|||
break;
|
||||
}
|
||||
|
||||
case RVW_WIDGET_INFO_TAB: {
|
||||
case WID_RV_INFO_TAB: {
|
||||
SetDParam(0, STR_REPLACE_NOT_REPLACING);
|
||||
Dimension d = GetStringBoundingBox(STR_BLACK_STRING);
|
||||
SetDParam(0, STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED);
|
||||
|
@ -259,7 +259,7 @@ public:
|
|||
break;
|
||||
}
|
||||
|
||||
case RVW_WIDGET_TRAIN_RAILTYPE_DROPDOWN: {
|
||||
case WID_RV_TRAIN_RAILTYPE_DROPDOWN: {
|
||||
Dimension d = {0, 0};
|
||||
for (RailType rt = RAILTYPE_BEGIN; rt != RAILTYPE_END; rt++) {
|
||||
const RailtypeInfo *rti = GetRailTypeInfo(rt);
|
||||
|
@ -278,17 +278,17 @@ public:
|
|||
virtual void SetStringParameters(int widget) const
|
||||
{
|
||||
switch (widget) {
|
||||
case RVW_WIDGET_CAPTION:
|
||||
case WID_RV_CAPTION:
|
||||
SetDParam(0, STR_REPLACE_VEHICLE_TRAIN + this->window_number);
|
||||
break;
|
||||
|
||||
case RVW_WIDGET_TRAIN_WAGONREMOVE_TOGGLE: {
|
||||
case WID_RV_TRAIN_WAGONREMOVE_TOGGLE: {
|
||||
const Company *c = Company::Get(_local_company);
|
||||
SetDParam(0, c->settings.renew_keep_length ? STR_CONFIG_SETTING_ON : STR_CONFIG_SETTING_OFF);
|
||||
break;
|
||||
}
|
||||
|
||||
case RVW_WIDGET_TRAIN_ENGINEWAGON_TOGGLE:
|
||||
case WID_RV_TRAIN_ENGINEWAGON_TOGGLE:
|
||||
SetDParam(0, this->replace_engines ? STR_REPLACE_ENGINES : STR_REPLACE_WAGONS);
|
||||
break;
|
||||
}
|
||||
|
@ -297,7 +297,7 @@ public:
|
|||
virtual void DrawWidget(const Rect &r, int widget) const
|
||||
{
|
||||
switch (widget) {
|
||||
case RVW_WIDGET_INFO_TAB: {
|
||||
case WID_RV_INFO_TAB: {
|
||||
const Company *c = Company::Get(_local_company);
|
||||
if (this->sel_engine[0] != INVALID_ENGINE) {
|
||||
if (!EngineHasReplacementForCompany(c, this->sel_engine[0], this->sel_group)) {
|
||||
|
@ -314,9 +314,9 @@ public:
|
|||
break;
|
||||
}
|
||||
|
||||
case RVW_WIDGET_LEFT_MATRIX:
|
||||
case RVW_WIDGET_RIGHT_MATRIX: {
|
||||
int side = (widget == RVW_WIDGET_LEFT_MATRIX) ? 0 : 1;
|
||||
case WID_RV_LEFT_MATRIX:
|
||||
case WID_RV_RIGHT_MATRIX: {
|
||||
int side = (widget == WID_RV_LEFT_MATRIX) ? 0 : 1;
|
||||
EngineID start = this->vscroll[side]->GetPosition(); // what is the offset for the start (scrolling)
|
||||
EngineID end = min(this->vscroll[side]->GetCapacity() + start, this->engines[side].Length());
|
||||
|
||||
|
@ -338,7 +338,7 @@ public:
|
|||
* Either engines list is empty
|
||||
* or The selected replacement engine has a replacement (to prevent loops)
|
||||
* or The right engines list (new replacement) has the existing replacement vehicle selected */
|
||||
this->SetWidgetDisabledState(RVW_WIDGET_START_REPLACE,
|
||||
this->SetWidgetDisabledState(WID_RV_START_REPLACE,
|
||||
this->sel_engine[0] == INVALID_ENGINE ||
|
||||
this->sel_engine[1] == INVALID_ENGINE ||
|
||||
EngineReplacementForCompany(c, this->sel_engine[1], this->sel_group) != INVALID_ENGINE ||
|
||||
|
@ -347,7 +347,7 @@ public:
|
|||
/* Disable the "Stop Replacing" button if:
|
||||
* The left engines list (existing vehicle) is empty
|
||||
* or The selected vehicle has no replacement set up */
|
||||
this->SetWidgetDisabledState(RVW_WIDGET_STOP_REPLACE,
|
||||
this->SetWidgetDisabledState(WID_RV_STOP_REPLACE,
|
||||
this->sel_engine[0] == INVALID_ENGINE ||
|
||||
!EngineHasReplacementForCompany(c, this->sel_engine[0], this->sel_group));
|
||||
|
||||
|
@ -356,11 +356,11 @@ public:
|
|||
|
||||
if (this->window_number == VEH_TRAIN) {
|
||||
/* sets the colour of that art thing */
|
||||
this->GetWidget<NWidgetCore>(RVW_WIDGET_TRAIN_FLUFF_LEFT)->colour = _company_colours[_local_company];
|
||||
this->GetWidget<NWidgetCore>(RVW_WIDGET_TRAIN_FLUFF_RIGHT)->colour = _company_colours[_local_company];
|
||||
this->GetWidget<NWidgetCore>(WID_RV_TRAIN_FLUFF_LEFT)->colour = _company_colours[_local_company];
|
||||
this->GetWidget<NWidgetCore>(WID_RV_TRAIN_FLUFF_RIGHT)->colour = _company_colours[_local_company];
|
||||
|
||||
/* Show the selected railtype in the pulldown menu */
|
||||
this->GetWidget<NWidgetCore>(RVW_WIDGET_TRAIN_RAILTYPE_DROPDOWN)->widget_data = GetRailTypeInfo(sel_railtype)->strings.replace_text;
|
||||
this->GetWidget<NWidgetCore>(WID_RV_TRAIN_RAILTYPE_DROPDOWN)->widget_data = GetRailTypeInfo(sel_railtype)->strings.replace_text;
|
||||
}
|
||||
|
||||
this->DrawWidgets();
|
||||
|
@ -370,7 +370,7 @@ public:
|
|||
/* Draw details panels. */
|
||||
for (int side = 0; side < 2; side++) {
|
||||
if (this->sel_engine[side] != INVALID_ENGINE) {
|
||||
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(side == 0 ? RVW_WIDGET_LEFT_DETAILS : RVW_WIDGET_RIGHT_DETAILS);
|
||||
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(side == 0 ? WID_RV_LEFT_DETAILS : WID_RV_RIGHT_DETAILS);
|
||||
int text_end = DrawVehiclePurchaseInfo(nwi->pos_x + WD_FRAMETEXT_LEFT, nwi->pos_x + nwi->current_x - WD_FRAMETEXT_RIGHT,
|
||||
nwi->pos_y + WD_FRAMERECT_TOP, this->sel_engine[side]);
|
||||
needed_height = max(needed_height, text_end - (int)nwi->pos_y + WD_FRAMERECT_BOTTOM);
|
||||
|
@ -387,22 +387,22 @@ public:
|
|||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case RVW_WIDGET_TRAIN_ENGINEWAGON_TOGGLE:
|
||||
case WID_RV_TRAIN_ENGINEWAGON_TOGGLE:
|
||||
this->replace_engines = !(this->replace_engines);
|
||||
this->engines[0].ForceRebuild();
|
||||
this->reset_sel_engine = true;
|
||||
this->SetDirty();
|
||||
break;
|
||||
|
||||
case RVW_WIDGET_TRAIN_RAILTYPE_DROPDOWN: // Railtype selection dropdown menu
|
||||
ShowDropDownList(this, GetRailTypeDropDownList(true), sel_railtype, RVW_WIDGET_TRAIN_RAILTYPE_DROPDOWN);
|
||||
case WID_RV_TRAIN_RAILTYPE_DROPDOWN: // Railtype selection dropdown menu
|
||||
ShowDropDownList(this, GetRailTypeDropDownList(true), sel_railtype, WID_RV_TRAIN_RAILTYPE_DROPDOWN);
|
||||
break;
|
||||
|
||||
case RVW_WIDGET_TRAIN_WAGONREMOVE_TOGGLE: // toggle renew_keep_length
|
||||
case WID_RV_TRAIN_WAGONREMOVE_TOGGLE: // toggle renew_keep_length
|
||||
DoCommandP(0, GetCompanySettingIndex("company.renew_keep_length"), Company::Get(_local_company)->settings.renew_keep_length ? 0 : 1, CMD_CHANGE_COMPANY_SETTING);
|
||||
break;
|
||||
|
||||
case RVW_WIDGET_START_REPLACE: { // Start replacing
|
||||
case WID_RV_START_REPLACE: { // Start replacing
|
||||
EngineID veh_from = this->sel_engine[0];
|
||||
EngineID veh_to = this->sel_engine[1];
|
||||
DoCommandP(0, this->sel_group << 16, veh_from + (veh_to << 16), CMD_SET_AUTOREPLACE);
|
||||
|
@ -410,17 +410,17 @@ public:
|
|||
break;
|
||||
}
|
||||
|
||||
case RVW_WIDGET_STOP_REPLACE: { // Stop replacing
|
||||
case WID_RV_STOP_REPLACE: { // Stop replacing
|
||||
EngineID veh_from = this->sel_engine[0];
|
||||
DoCommandP(0, this->sel_group << 16, veh_from + (INVALID_ENGINE << 16), CMD_SET_AUTOREPLACE);
|
||||
this->SetDirty();
|
||||
break;
|
||||
}
|
||||
|
||||
case RVW_WIDGET_LEFT_MATRIX:
|
||||
case RVW_WIDGET_RIGHT_MATRIX: {
|
||||
case WID_RV_LEFT_MATRIX:
|
||||
case WID_RV_RIGHT_MATRIX: {
|
||||
byte click_side;
|
||||
if (widget == RVW_WIDGET_LEFT_MATRIX) {
|
||||
if (widget == WID_RV_LEFT_MATRIX) {
|
||||
click_side = 0;
|
||||
} else {
|
||||
click_side = 1;
|
||||
|
@ -458,11 +458,11 @@ public:
|
|||
|
||||
virtual void OnResize()
|
||||
{
|
||||
this->vscroll[0]->SetCapacityFromWidget(this, RVW_WIDGET_LEFT_MATRIX);
|
||||
this->vscroll[1]->SetCapacityFromWidget(this, RVW_WIDGET_RIGHT_MATRIX);
|
||||
this->vscroll[0]->SetCapacityFromWidget(this, WID_RV_LEFT_MATRIX);
|
||||
this->vscroll[1]->SetCapacityFromWidget(this, WID_RV_RIGHT_MATRIX);
|
||||
|
||||
this->GetWidget<NWidgetCore>(RVW_WIDGET_LEFT_MATRIX)->widget_data =
|
||||
this->GetWidget<NWidgetCore>(RVW_WIDGET_RIGHT_MATRIX)->widget_data = (this->vscroll[0]->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
|
||||
this->GetWidget<NWidgetCore>(WID_RV_LEFT_MATRIX)->widget_data =
|
||||
this->GetWidget<NWidgetCore>(WID_RV_RIGHT_MATRIX)->widget_data = (this->vscroll[0]->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -484,32 +484,32 @@ public:
|
|||
static const NWidgetPart _nested_replace_rail_vehicle_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY, RVW_WIDGET_CAPTION), SetDataTip(STR_REPLACE_VEHICLES_WHITE, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY, WID_RV_CAPTION), SetDataTip(STR_REPLACE_VEHICLES_WHITE, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||
NWidget(WWT_MATRIX, COLOUR_GREY, RVW_WIDGET_LEFT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetDataTip(0x1, STR_REPLACE_HELP_LEFT_ARRAY), SetResize(1, 1), SetScrollbar(RVW_WIDGET_LEFT_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, RVW_WIDGET_LEFT_SCROLLBAR),
|
||||
NWidget(WWT_MATRIX, COLOUR_GREY, RVW_WIDGET_RIGHT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetDataTip(0x1, STR_REPLACE_HELP_RIGHT_ARRAY), SetResize(1, 1), SetScrollbar(RVW_WIDGET_RIGHT_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, RVW_WIDGET_RIGHT_SCROLLBAR),
|
||||
NWidget(WWT_MATRIX, COLOUR_GREY, WID_RV_LEFT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetDataTip(0x1, STR_REPLACE_HELP_LEFT_ARRAY), SetResize(1, 1), SetScrollbar(WID_RV_LEFT_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_RV_LEFT_SCROLLBAR),
|
||||
NWidget(WWT_MATRIX, COLOUR_GREY, WID_RV_RIGHT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetDataTip(0x1, STR_REPLACE_HELP_RIGHT_ARRAY), SetResize(1, 1), SetScrollbar(WID_RV_RIGHT_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_RV_RIGHT_SCROLLBAR),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, RVW_WIDGET_LEFT_DETAILS), SetMinimalSize(228, 102), SetResize(1, 0), EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, RVW_WIDGET_RIGHT_DETAILS), SetMinimalSize(228, 102), SetResize(1, 0), EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_RV_LEFT_DETAILS), SetMinimalSize(228, 102), SetResize(1, 0), EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_RV_RIGHT_DETAILS), SetMinimalSize(228, 102), SetResize(1, 0), EndContainer(),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, RVW_WIDGET_START_REPLACE), SetMinimalSize(139, 12), SetDataTip(STR_REPLACE_VEHICLES_START, STR_REPLACE_HELP_START_BUTTON),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, RVW_WIDGET_INFO_TAB), SetMinimalSize(167, 12), SetDataTip(0x0, STR_REPLACE_HELP_REPLACE_INFO_TAB), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_RV_START_REPLACE), SetMinimalSize(139, 12), SetDataTip(STR_REPLACE_VEHICLES_START, STR_REPLACE_HELP_START_BUTTON),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_RV_INFO_TAB), SetMinimalSize(167, 12), SetDataTip(0x0, STR_REPLACE_HELP_REPLACE_INFO_TAB), SetResize(1, 0),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, RVW_WIDGET_STOP_REPLACE), SetMinimalSize(150, 12), SetDataTip(STR_REPLACE_VEHICLES_STOP, STR_REPLACE_HELP_STOP_BUTTON),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_RV_STOP_REPLACE), SetMinimalSize(150, 12), SetDataTip(STR_REPLACE_VEHICLES_STOP, STR_REPLACE_HELP_STOP_BUTTON),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, RVW_WIDGET_TRAIN_ENGINEWAGON_TOGGLE), SetMinimalSize(139, 12), SetDataTip(STR_REPLACE_ENGINE_WAGON_SELECT, STR_REPLACE_ENGINE_WAGON_SELECT_HELP),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, RVW_WIDGET_TRAIN_FLUFF_LEFT), SetMinimalSize(15, 12), EndContainer(),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_GREY, RVW_WIDGET_TRAIN_RAILTYPE_DROPDOWN), SetMinimalSize(136, 12), SetDataTip(0x0, STR_REPLACE_HELP_RAILTYPE), SetResize(1, 0),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, RVW_WIDGET_TRAIN_FLUFF_RIGHT), SetMinimalSize(16, 12), EndContainer(),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, RVW_WIDGET_TRAIN_WAGONREMOVE_TOGGLE), SetMinimalSize(138, 12), SetDataTip(STR_REPLACE_REMOVE_WAGON, STR_REPLACE_REMOVE_WAGON_HELP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_RV_TRAIN_ENGINEWAGON_TOGGLE), SetMinimalSize(139, 12), SetDataTip(STR_REPLACE_ENGINE_WAGON_SELECT, STR_REPLACE_ENGINE_WAGON_SELECT_HELP),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_RV_TRAIN_FLUFF_LEFT), SetMinimalSize(15, 12), EndContainer(),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_RV_TRAIN_RAILTYPE_DROPDOWN), SetMinimalSize(136, 12), SetDataTip(0x0, STR_REPLACE_HELP_RAILTYPE), SetResize(1, 0),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_RV_TRAIN_FLUFF_RIGHT), SetMinimalSize(16, 12), EndContainer(),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_RV_TRAIN_WAGONREMOVE_TOGGLE), SetMinimalSize(138, 12), SetDataTip(STR_REPLACE_REMOVE_WAGON, STR_REPLACE_REMOVE_WAGON_HELP),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
};
|
||||
|
@ -524,24 +524,24 @@ static const WindowDesc _replace_rail_vehicle_desc(
|
|||
static const NWidgetPart _nested_replace_vehicle_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY, RVW_WIDGET_CAPTION), SetMinimalSize(433, 14), SetDataTip(STR_REPLACE_VEHICLES_WHITE, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY, WID_RV_CAPTION), SetMinimalSize(433, 14), SetDataTip(STR_REPLACE_VEHICLES_WHITE, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||
NWidget(WWT_MATRIX, COLOUR_GREY, RVW_WIDGET_LEFT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetDataTip(0x1, STR_REPLACE_HELP_LEFT_ARRAY), SetResize(1, 1), SetScrollbar(RVW_WIDGET_LEFT_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, RVW_WIDGET_LEFT_SCROLLBAR),
|
||||
NWidget(WWT_MATRIX, COLOUR_GREY, RVW_WIDGET_RIGHT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetDataTip(0x1, STR_REPLACE_HELP_RIGHT_ARRAY), SetResize(1, 1), SetScrollbar(RVW_WIDGET_RIGHT_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, RVW_WIDGET_RIGHT_SCROLLBAR),
|
||||
NWidget(WWT_MATRIX, COLOUR_GREY, WID_RV_LEFT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetDataTip(0x1, STR_REPLACE_HELP_LEFT_ARRAY), SetResize(1, 1), SetScrollbar(WID_RV_LEFT_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_RV_LEFT_SCROLLBAR),
|
||||
NWidget(WWT_MATRIX, COLOUR_GREY, WID_RV_RIGHT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetDataTip(0x1, STR_REPLACE_HELP_RIGHT_ARRAY), SetResize(1, 1), SetScrollbar(WID_RV_RIGHT_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_RV_RIGHT_SCROLLBAR),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, RVW_WIDGET_LEFT_DETAILS), SetMinimalSize(228, 92), SetResize(1, 0), EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, RVW_WIDGET_RIGHT_DETAILS), SetMinimalSize(228, 92), SetResize(1, 0), EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_RV_LEFT_DETAILS), SetMinimalSize(228, 92), SetResize(1, 0), EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_RV_RIGHT_DETAILS), SetMinimalSize(228, 92), SetResize(1, 0), EndContainer(),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, RVW_WIDGET_START_REPLACE), SetMinimalSize(139, 12), SetDataTip(STR_REPLACE_VEHICLES_START, STR_REPLACE_HELP_START_BUTTON),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, RVW_WIDGET_INFO_TAB), SetMinimalSize(167, 12), SetDataTip(0x0, STR_REPLACE_HELP_REPLACE_INFO_TAB), SetResize(1, 0), EndContainer(),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, RVW_WIDGET_STOP_REPLACE), SetMinimalSize(138, 12), SetDataTip(STR_REPLACE_VEHICLES_STOP, STR_REPLACE_HELP_STOP_BUTTON),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_RV_START_REPLACE), SetMinimalSize(139, 12), SetDataTip(STR_REPLACE_VEHICLES_START, STR_REPLACE_HELP_START_BUTTON),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_RV_INFO_TAB), SetMinimalSize(167, 12), SetDataTip(0x0, STR_REPLACE_HELP_REPLACE_INFO_TAB), SetResize(1, 0), EndContainer(),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_RV_STOP_REPLACE), SetMinimalSize(138, 12), SetDataTip(STR_REPLACE_VEHICLES_STOP, STR_REPLACE_HELP_STOP_BUTTON),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
};
|
||||
|
|
|
@ -108,10 +108,10 @@ static const NWidgetPart _bootstrap_query_widgets[] = {
|
|||
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_MISSING_GRAPHICS_SET_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, BAFDW_QUESTION), EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_BAFD_QUESTION), EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, BAFDW_YES), SetDataTip(STR_MISSING_GRAPHICS_YES_DOWNLOAD, STR_NULL),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, BAFDW_NO), SetDataTip(STR_MISSING_GRAPHICS_NO_QUIT, STR_NULL),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_BAFD_YES), SetDataTip(STR_MISSING_GRAPHICS_YES_DOWNLOAD, STR_NULL),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_BAFD_NO), SetDataTip(STR_MISSING_GRAPHICS_NO_QUIT, STR_NULL),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
};
|
||||
|
@ -152,14 +152,14 @@ public:
|
|||
}
|
||||
|
||||
switch (widget) {
|
||||
case BAFDW_QUESTION:
|
||||
case WID_BAFD_QUESTION:
|
||||
/* The question is twice as wide as the buttons, and determine the height based on the width. */
|
||||
size->width = this->button_size.width * 2;
|
||||
size->height = GetStringHeight(STR_MISSING_GRAPHICS_SET_MESSAGE, size->width - WD_FRAMETEXT_LEFT - WD_FRAMETEXT_RIGHT) + WD_FRAMETEXT_BOTTOM + WD_FRAMETEXT_TOP;
|
||||
break;
|
||||
|
||||
case BAFDW_YES:
|
||||
case BAFDW_NO:
|
||||
case WID_BAFD_YES:
|
||||
case WID_BAFD_NO:
|
||||
*size = this->button_size;
|
||||
break;
|
||||
}
|
||||
|
@ -175,12 +175,12 @@ public:
|
|||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case BAFDW_YES:
|
||||
case WID_BAFD_YES:
|
||||
/* We got permission to connect! Yay! */
|
||||
_network_content_client.Connect();
|
||||
break;
|
||||
|
||||
case BAFDW_NO:
|
||||
case WID_BAFD_NO:
|
||||
_exit_game = true;
|
||||
break;
|
||||
|
||||
|
|
|
@ -88,7 +88,7 @@ private:
|
|||
TileIndex end_tile;
|
||||
uint32 type;
|
||||
GUIBridgeList *bridges;
|
||||
int bridgetext_offset; ///< Horizontal offset of the text describing the bridge properties in #BBSW_BRIDGE_LIST relative to the left edge.
|
||||
int bridgetext_offset; ///< Horizontal offset of the text describing the bridge properties in #WID_BBS_BRIDGE_LIST relative to the left edge.
|
||||
Scrollbar *vscroll;
|
||||
|
||||
/** Sort the bridges by their index */
|
||||
|
@ -126,11 +126,11 @@ private:
|
|||
this->bridges->Sort();
|
||||
|
||||
/* Display the current sort variant */
|
||||
this->GetWidget<NWidgetCore>(BBSW_DROPDOWN_CRITERIA)->widget_data = this->sorter_names[this->bridges->SortType()];
|
||||
this->GetWidget<NWidgetCore>(WID_BBS_DROPDOWN_CRITERIA)->widget_data = this->sorter_names[this->bridges->SortType()];
|
||||
|
||||
/* Set the modified widgets dirty */
|
||||
this->SetWidgetDirty(BBSW_DROPDOWN_CRITERIA);
|
||||
this->SetWidgetDirty(BBSW_BRIDGE_LIST);
|
||||
this->SetWidgetDirty(WID_BBS_DROPDOWN_CRITERIA);
|
||||
this->SetWidgetDirty(WID_BBS_BRIDGE_LIST);
|
||||
}
|
||||
|
||||
public:
|
||||
|
@ -141,9 +141,9 @@ public:
|
|||
bridges(bl)
|
||||
{
|
||||
this->CreateNestedTree(desc);
|
||||
this->vscroll = this->GetScrollbar(BBSW_SCROLLBAR);
|
||||
this->vscroll = this->GetScrollbar(WID_BBS_SCROLLBAR);
|
||||
/* Change the data, or the caption of the gui. Set it to road or rail, accordingly. */
|
||||
this->GetWidget<NWidgetCore>(BBSW_CAPTION)->widget_data = (GB(this->type, 15, 2) == TRANSPORT_ROAD) ? STR_SELECT_ROAD_BRIDGE_CAPTION : STR_SELECT_RAIL_BRIDGE_CAPTION;
|
||||
this->GetWidget<NWidgetCore>(WID_BBS_CAPTION)->widget_data = (GB(this->type, 15, 2) == TRANSPORT_ROAD) ? STR_SELECT_ROAD_BRIDGE_CAPTION : STR_SELECT_RAIL_BRIDGE_CAPTION;
|
||||
this->FinishInitNested(desc, GB(br_type, 15, 2)); // Initializes 'this->bridgetext_offset'.
|
||||
|
||||
this->parent = FindWindowById(WC_BUILD_TOOLBAR, GB(this->type, 15, 2));
|
||||
|
@ -159,7 +159,7 @@ public:
|
|||
if (this->last_size > this->vscroll->GetCapacity()) {
|
||||
ResizeWindow(this, 0, (this->last_size - this->vscroll->GetCapacity()) * this->resize.step_height);
|
||||
}
|
||||
this->GetWidget<NWidgetCore>(BBSW_BRIDGE_LIST)->widget_data = (this->vscroll->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
|
||||
this->GetWidget<NWidgetCore>(WID_BBS_BRIDGE_LIST)->widget_data = (this->vscroll->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
|
||||
}
|
||||
|
||||
~BuildBridgeWindow()
|
||||
|
@ -172,14 +172,14 @@ public:
|
|||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||
{
|
||||
switch (widget) {
|
||||
case BBSW_DROPDOWN_ORDER: {
|
||||
case WID_BBS_DROPDOWN_ORDER: {
|
||||
Dimension d = GetStringBoundingBox(this->GetWidget<NWidgetCore>(widget)->widget_data);
|
||||
d.width += padding.width + WD_SORTBUTTON_ARROW_WIDTH * 2; // Doubled since the string is centred and it also looks better.
|
||||
d.height += padding.height;
|
||||
*size = maxdim(*size, d);
|
||||
break;
|
||||
}
|
||||
case BBSW_DROPDOWN_CRITERIA: {
|
||||
case WID_BBS_DROPDOWN_CRITERIA: {
|
||||
Dimension d = {0, 0};
|
||||
for (const StringID *str = this->sorter_names; *str != INVALID_STRING_ID; str++) {
|
||||
d = maxdim(d, GetStringBoundingBox(*str));
|
||||
|
@ -189,7 +189,7 @@ public:
|
|||
*size = maxdim(*size, d);
|
||||
break;
|
||||
}
|
||||
case BBSW_BRIDGE_LIST: {
|
||||
case WID_BBS_BRIDGE_LIST: {
|
||||
Dimension sprite_dim = {0, 0}; // Biggest bridge sprite dimension
|
||||
Dimension text_dim = {0, 0}; // Biggest text dimension
|
||||
for (int i = 0; i < (int)this->bridges->Length(); i++) {
|
||||
|
@ -216,7 +216,7 @@ public:
|
|||
virtual Point OnInitialPosition(const WindowDesc *desc, int16 sm_width, int16 sm_height, int window_number)
|
||||
{
|
||||
/* Position the window so hopefully the first bridge from the list is under the mouse pointer. */
|
||||
NWidgetBase *list = this->GetWidget<NWidgetBase>(BBSW_BRIDGE_LIST);
|
||||
NWidgetBase *list = this->GetWidget<NWidgetBase>(WID_BBS_BRIDGE_LIST);
|
||||
Point corner; // point of the top left corner of the window.
|
||||
corner.y = Clamp(_cursor.pos.y - list->pos_y - 5, GetMainViewTop(), GetMainViewBottom() - sm_height);
|
||||
corner.x = Clamp(_cursor.pos.x - list->pos_x - 5, 0, _screen.width - sm_width);
|
||||
|
@ -226,11 +226,11 @@ public:
|
|||
virtual void DrawWidget(const Rect &r, int widget) const
|
||||
{
|
||||
switch (widget) {
|
||||
case BBSW_DROPDOWN_ORDER:
|
||||
case WID_BBS_DROPDOWN_ORDER:
|
||||
this->DrawSortButtonState(widget, this->bridges->IsDescSortOrder() ? SBS_DOWN : SBS_UP);
|
||||
break;
|
||||
|
||||
case BBSW_BRIDGE_LIST: {
|
||||
case WID_BBS_BRIDGE_LIST: {
|
||||
uint y = r.top;
|
||||
for (int i = this->vscroll->GetPosition(); this->vscroll->IsVisible(i) && i < (int)this->bridges->Length(); i++) {
|
||||
const BridgeSpec *b = this->bridges->Get(i)->spec;
|
||||
|
@ -265,8 +265,8 @@ public:
|
|||
{
|
||||
switch (widget) {
|
||||
default: break;
|
||||
case BBSW_BRIDGE_LIST: {
|
||||
uint i = this->vscroll->GetScrolledRowFromWidget(pt.y, this, BBSW_BRIDGE_LIST);
|
||||
case WID_BBS_BRIDGE_LIST: {
|
||||
uint i = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_BBS_BRIDGE_LIST);
|
||||
if (i < this->bridges->Length()) {
|
||||
this->BuildBridge(i);
|
||||
delete this;
|
||||
|
@ -274,20 +274,20 @@ public:
|
|||
break;
|
||||
}
|
||||
|
||||
case BBSW_DROPDOWN_ORDER:
|
||||
case WID_BBS_DROPDOWN_ORDER:
|
||||
this->bridges->ToggleSortOrder();
|
||||
this->SetDirty();
|
||||
break;
|
||||
|
||||
case BBSW_DROPDOWN_CRITERIA:
|
||||
ShowDropDownMenu(this, this->sorter_names, this->bridges->SortType(), BBSW_DROPDOWN_CRITERIA, 0, 0);
|
||||
case WID_BBS_DROPDOWN_CRITERIA:
|
||||
ShowDropDownMenu(this, this->sorter_names, this->bridges->SortType(), WID_BBS_DROPDOWN_CRITERIA, 0, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
virtual void OnDropdownSelect(int widget, int index)
|
||||
{
|
||||
if (widget == BBSW_DROPDOWN_CRITERIA && this->bridges->SortType() != index) {
|
||||
if (widget == WID_BBS_DROPDOWN_CRITERIA && this->bridges->SortType() != index) {
|
||||
this->bridges->SetSortType(index);
|
||||
|
||||
this->SortBridgeList();
|
||||
|
@ -296,8 +296,8 @@ public:
|
|||
|
||||
virtual void OnResize()
|
||||
{
|
||||
this->vscroll->SetCapacityFromWidget(this, BBSW_BRIDGE_LIST);
|
||||
this->GetWidget<NWidgetCore>(BBSW_BRIDGE_LIST)->widget_data = (this->vscroll->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
|
||||
this->vscroll->SetCapacityFromWidget(this, WID_BBS_BRIDGE_LIST);
|
||||
this->GetWidget<NWidgetCore>(WID_BBS_BRIDGE_LIST)->widget_data = (this->vscroll->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
|
||||
|
||||
this->last_size = max(this->vscroll->GetCapacity(), this->last_size);
|
||||
}
|
||||
|
@ -328,23 +328,23 @@ static const NWidgetPart _nested_build_bridge_widgets[] = {
|
|||
/* Header */
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_DARK_GREEN),
|
||||
NWidget(WWT_CAPTION, COLOUR_DARK_GREEN, BBSW_CAPTION), SetDataTip(STR_SELECT_RAIL_BRIDGE_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
NWidget(WWT_CAPTION, COLOUR_DARK_GREEN, WID_BBS_CAPTION), SetDataTip(STR_SELECT_RAIL_BRIDGE_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
EndContainer(),
|
||||
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_VERTICAL),
|
||||
/* Sort order + criteria buttons */
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_DARK_GREEN, BBSW_DROPDOWN_ORDER), SetFill(1, 0), SetDataTip(STR_BUTTON_SORT_BY, STR_TOOLTIP_SORT_ORDER),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_DARK_GREEN, BBSW_DROPDOWN_CRITERIA), SetFill(1, 0), SetDataTip(0x0, STR_TOOLTIP_SORT_CRITERIA),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_DARK_GREEN, WID_BBS_DROPDOWN_ORDER), SetFill(1, 0), SetDataTip(STR_BUTTON_SORT_BY, STR_TOOLTIP_SORT_ORDER),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_DARK_GREEN, WID_BBS_DROPDOWN_CRITERIA), SetFill(1, 0), SetDataTip(0x0, STR_TOOLTIP_SORT_CRITERIA),
|
||||
EndContainer(),
|
||||
/* Matrix. */
|
||||
NWidget(WWT_MATRIX, COLOUR_DARK_GREEN, BBSW_BRIDGE_LIST), SetFill(1, 0), SetResize(0, 22), SetDataTip(0x401, STR_SELECT_BRIDGE_SELECTION_TOOLTIP), SetScrollbar(BBSW_SCROLLBAR),
|
||||
NWidget(WWT_MATRIX, COLOUR_DARK_GREEN, WID_BBS_BRIDGE_LIST), SetFill(1, 0), SetResize(0, 22), SetDataTip(0x401, STR_SELECT_BRIDGE_SELECTION_TOOLTIP), SetScrollbar(WID_BBS_SCROLLBAR),
|
||||
EndContainer(),
|
||||
|
||||
/* scrollbar + resize button */
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_DARK_GREEN, BBSW_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_DARK_GREEN, WID_BBS_SCROLLBAR),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_DARK_GREEN),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
|
|
|
@ -48,35 +48,35 @@ uint GetEngineListHeight(VehicleType type)
|
|||
static const NWidgetPart _nested_build_vehicle_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY, BUILD_VEHICLE_WIDGET_CAPTION), SetDataTip(STR_WHITE_STRING, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY, WID_BV_CAPTION), SetDataTip(STR_WHITE_STRING, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, BUILD_VEHICLE_WIDGET_SORT_ASSENDING_DESCENDING), SetDataTip(STR_BUTTON_SORT_BY, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_BV_SORT_ASSENDING_DESCENDING), SetDataTip(STR_BUTTON_SORT_BY, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0),
|
||||
NWidget(NWID_SPACER), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_GREY, BUILD_VEHICLE_WIDGET_SORT_DROPDOWN), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_JUST_STRING, STR_TOOLTIP_SORT_CRITERIA),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_GREY, BUILD_VEHICLE_WIDGET_CARGO_FILTER_DROPDOWN), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_JUST_STRING, STR_TOOLTIP_FILTER_CRITERIA),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_BV_SORT_DROPDOWN), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_JUST_STRING, STR_TOOLTIP_SORT_CRITERIA),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_BV_CARGO_FILTER_DROPDOWN), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_JUST_STRING, STR_TOOLTIP_FILTER_CRITERIA),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
/* Vehicle list. */
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_MATRIX, COLOUR_GREY, BUILD_VEHICLE_WIDGET_LIST), SetResize(1, 1), SetFill(1, 0), SetDataTip(0x101, STR_NULL), SetScrollbar(BUILD_VEHICLE_WIDGET_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, BUILD_VEHICLE_WIDGET_SCROLLBAR),
|
||||
NWidget(WWT_MATRIX, COLOUR_GREY, WID_BV_LIST), SetResize(1, 1), SetFill(1, 0), SetDataTip(0x101, STR_NULL), SetScrollbar(WID_BV_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_BV_SCROLLBAR),
|
||||
EndContainer(),
|
||||
/* Panel with details. */
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, BUILD_VEHICLE_WIDGET_PANEL), SetMinimalSize(240, 122), SetResize(1, 0), EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_BV_PANEL), SetMinimalSize(240, 122), SetResize(1, 0), EndContainer(),
|
||||
/* Build/rename buttons, resize button. */
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, BUILD_VEHICLE_WIDGET_BUILD_SEL),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, BUILD_VEHICLE_WIDGET_BUILD), SetResize(1, 0), SetFill(1, 0),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BV_BUILD_SEL),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_BV_BUILD), SetResize(1, 0), SetFill(1, 0),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, BUILD_VEHICLE_WIDGET_RENAME), SetResize(1, 0), SetFill(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_BV_RENAME), SetResize(1, 0), SetFill(1, 0),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
};
|
||||
|
@ -950,20 +950,20 @@ struct BuildVehicleWindow : Window {
|
|||
|
||||
this->CreateNestedTree(desc);
|
||||
|
||||
this->vscroll = this->GetScrollbar(BUILD_VEHICLE_WIDGET_SCROLLBAR);
|
||||
this->vscroll = this->GetScrollbar(WID_BV_SCROLLBAR);
|
||||
|
||||
/* If we are just viewing the list of vehicles, we do not need the Build button.
|
||||
* So we just hide it, and enlarge the Rename buton by the now vacant place. */
|
||||
if (this->listview_mode) this->GetWidget<NWidgetStacked>(BUILD_VEHICLE_WIDGET_BUILD_SEL)->SetDisplayedPlane(SZSP_NONE);
|
||||
if (this->listview_mode) this->GetWidget<NWidgetStacked>(WID_BV_BUILD_SEL)->SetDisplayedPlane(SZSP_NONE);
|
||||
|
||||
NWidgetCore *widget = this->GetWidget<NWidgetCore>(BUILD_VEHICLE_WIDGET_LIST);
|
||||
NWidgetCore *widget = this->GetWidget<NWidgetCore>(WID_BV_LIST);
|
||||
widget->tool_tip = STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP + type;
|
||||
|
||||
widget = this->GetWidget<NWidgetCore>(BUILD_VEHICLE_WIDGET_BUILD);
|
||||
widget = this->GetWidget<NWidgetCore>(WID_BV_BUILD);
|
||||
widget->widget_data = STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON + type;
|
||||
widget->tool_tip = STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP + type;
|
||||
|
||||
widget = this->GetWidget<NWidgetCore>(BUILD_VEHICLE_WIDGET_RENAME);
|
||||
widget = this->GetWidget<NWidgetCore>(WID_BV_RENAME);
|
||||
widget->widget_data = STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON + type;
|
||||
widget->tool_tip = STR_BUY_VEHICLE_TRAIN_RENAME_TOOLTIP + type;
|
||||
|
||||
|
@ -1194,23 +1194,23 @@ struct BuildVehicleWindow : Window {
|
|||
void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case BUILD_VEHICLE_WIDGET_SORT_ASSENDING_DESCENDING:
|
||||
case WID_BV_SORT_ASSENDING_DESCENDING:
|
||||
this->descending_sort_order ^= true;
|
||||
_last_sort_order[this->vehicle_type] = this->descending_sort_order;
|
||||
this->eng_list.ForceRebuild();
|
||||
this->SetDirty();
|
||||
break;
|
||||
|
||||
case BUILD_VEHICLE_WIDGET_LIST: {
|
||||
uint i = this->vscroll->GetScrolledRowFromWidget(pt.y, this, BUILD_VEHICLE_WIDGET_LIST);
|
||||
case WID_BV_LIST: {
|
||||
uint i = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_BV_LIST);
|
||||
size_t num_items = this->eng_list.Length();
|
||||
this->sel_engine = (i < num_items) ? this->eng_list[i] : INVALID_ENGINE;
|
||||
this->SetDirty();
|
||||
if (click_count > 1 && !this->listview_mode) this->OnClick(pt, BUILD_VEHICLE_WIDGET_BUILD, 1);
|
||||
if (click_count > 1 && !this->listview_mode) this->OnClick(pt, WID_BV_BUILD, 1);
|
||||
break;
|
||||
}
|
||||
|
||||
case BUILD_VEHICLE_WIDGET_SORT_DROPDOWN: { // Select sorting criteria dropdown menu
|
||||
case WID_BV_SORT_DROPDOWN: { // Select sorting criteria dropdown menu
|
||||
uint32 hidden_mask = 0;
|
||||
/* Disable sorting by power or tractive effort when the original acceleration model for road vehicles is being used. */
|
||||
if (this->vehicle_type == VEH_ROAD &&
|
||||
|
@ -1224,15 +1224,15 @@ struct BuildVehicleWindow : Window {
|
|||
_settings_game.vehicle.train_acceleration_model == AM_ORIGINAL) {
|
||||
SetBit(hidden_mask, 4); // tractive effort
|
||||
}
|
||||
ShowDropDownMenu(this, _sort_listing[this->vehicle_type], this->sort_criteria, BUILD_VEHICLE_WIDGET_SORT_DROPDOWN, 0, hidden_mask);
|
||||
ShowDropDownMenu(this, _sort_listing[this->vehicle_type], this->sort_criteria, WID_BV_SORT_DROPDOWN, 0, hidden_mask);
|
||||
break;
|
||||
}
|
||||
|
||||
case BUILD_VEHICLE_WIDGET_CARGO_FILTER_DROPDOWN: // Select cargo filtering criteria dropdown menu
|
||||
ShowDropDownMenu(this, this->cargo_filter_texts, this->cargo_filter_criteria, BUILD_VEHICLE_WIDGET_CARGO_FILTER_DROPDOWN, 0, 0);
|
||||
case WID_BV_CARGO_FILTER_DROPDOWN: // Select cargo filtering criteria dropdown menu
|
||||
ShowDropDownMenu(this, this->cargo_filter_texts, this->cargo_filter_criteria, WID_BV_CARGO_FILTER_DROPDOWN, 0, 0);
|
||||
break;
|
||||
|
||||
case BUILD_VEHICLE_WIDGET_BUILD: {
|
||||
case WID_BV_BUILD: {
|
||||
EngineID sel_eng = this->sel_engine;
|
||||
if (sel_eng != INVALID_ENGINE) {
|
||||
CommandCallback *callback = (this->vehicle_type == VEH_TRAIN && RailVehInfo(sel_eng)->railveh_type == RAILVEH_WAGON) ? CcBuildWagon : CcBuildPrimaryVehicle;
|
||||
|
@ -1241,7 +1241,7 @@ struct BuildVehicleWindow : Window {
|
|||
break;
|
||||
}
|
||||
|
||||
case BUILD_VEHICLE_WIDGET_RENAME: {
|
||||
case WID_BV_RENAME: {
|
||||
EngineID sel_eng = this->sel_engine;
|
||||
if (sel_eng != INVALID_ENGINE) {
|
||||
this->rename_engine = sel_eng;
|
||||
|
@ -1274,7 +1274,7 @@ struct BuildVehicleWindow : Window {
|
|||
virtual void SetStringParameters(int widget) const
|
||||
{
|
||||
switch (widget) {
|
||||
case BUILD_VEHICLE_WIDGET_CAPTION:
|
||||
case WID_BV_CAPTION:
|
||||
if (this->vehicle_type == VEH_TRAIN && !this->listview_mode) {
|
||||
const RailtypeInfo *rti = GetRailTypeInfo(this->filter.railtype);
|
||||
SetDParam(0, rti->strings.build_caption);
|
||||
|
@ -1283,11 +1283,11 @@ struct BuildVehicleWindow : Window {
|
|||
}
|
||||
break;
|
||||
|
||||
case BUILD_VEHICLE_WIDGET_SORT_DROPDOWN:
|
||||
case WID_BV_SORT_DROPDOWN:
|
||||
SetDParam(0, _sort_listing[this->vehicle_type][this->sort_criteria]);
|
||||
break;
|
||||
|
||||
case BUILD_VEHICLE_WIDGET_CARGO_FILTER_DROPDOWN:
|
||||
case WID_BV_CARGO_FILTER_DROPDOWN:
|
||||
SetDParam(0, this->cargo_filter_texts[this->cargo_filter_criteria]);
|
||||
}
|
||||
}
|
||||
|
@ -1295,16 +1295,16 @@ struct BuildVehicleWindow : Window {
|
|||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||
{
|
||||
switch (widget) {
|
||||
case BUILD_VEHICLE_WIDGET_LIST:
|
||||
case WID_BV_LIST:
|
||||
resize->height = GetEngineListHeight(this->vehicle_type);
|
||||
size->height = 3 * resize->height;
|
||||
break;
|
||||
|
||||
case BUILD_VEHICLE_WIDGET_PANEL:
|
||||
case WID_BV_PANEL:
|
||||
size->height = this->details_height;
|
||||
break;
|
||||
|
||||
case BUILD_VEHICLE_WIDGET_SORT_ASSENDING_DESCENDING: {
|
||||
case WID_BV_SORT_ASSENDING_DESCENDING: {
|
||||
Dimension d = GetStringBoundingBox(this->GetWidget<NWidgetCore>(widget)->widget_data);
|
||||
d.width += padding.width + WD_SORTBUTTON_ARROW_WIDTH * 2; // Doubled since the string is centred and it also looks better.
|
||||
d.height += padding.height;
|
||||
|
@ -1317,12 +1317,12 @@ struct BuildVehicleWindow : Window {
|
|||
virtual void DrawWidget(const Rect &r, int widget) const
|
||||
{
|
||||
switch (widget) {
|
||||
case BUILD_VEHICLE_WIDGET_LIST:
|
||||
case WID_BV_LIST:
|
||||
DrawEngineList(this->vehicle_type, r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, r.top + WD_FRAMERECT_TOP, &this->eng_list, this->vscroll->GetPosition(), min(this->vscroll->GetPosition() + this->vscroll->GetCapacity(), this->eng_list.Length()), this->sel_engine, false, DEFAULT_GROUP);
|
||||
break;
|
||||
|
||||
case BUILD_VEHICLE_WIDGET_SORT_ASSENDING_DESCENDING:
|
||||
this->DrawSortButtonState(BUILD_VEHICLE_WIDGET_SORT_ASSENDING_DESCENDING, this->descending_sort_order ? SBS_DOWN : SBS_UP);
|
||||
case WID_BV_SORT_ASSENDING_DESCENDING:
|
||||
this->DrawSortButtonState(WID_BV_SORT_ASSENDING_DESCENDING, this->descending_sort_order ? SBS_DOWN : SBS_UP);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1338,7 +1338,7 @@ struct BuildVehicleWindow : Window {
|
|||
int needed_height = this->details_height;
|
||||
/* Draw details panels. */
|
||||
if (this->sel_engine != INVALID_ENGINE) {
|
||||
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(BUILD_VEHICLE_WIDGET_PANEL);
|
||||
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(WID_BV_PANEL);
|
||||
int text_end = DrawVehiclePurchaseInfo(nwi->pos_x + WD_FRAMETEXT_LEFT, nwi->pos_x + nwi->current_x - WD_FRAMETEXT_RIGHT,
|
||||
nwi->pos_y + WD_FRAMERECT_TOP, this->sel_engine);
|
||||
needed_height = max(needed_height, text_end - (int)nwi->pos_y + WD_FRAMERECT_BOTTOM);
|
||||
|
@ -1362,7 +1362,7 @@ struct BuildVehicleWindow : Window {
|
|||
virtual void OnDropdownSelect(int widget, int index)
|
||||
{
|
||||
switch (widget) {
|
||||
case BUILD_VEHICLE_WIDGET_SORT_DROPDOWN:
|
||||
case WID_BV_SORT_DROPDOWN:
|
||||
if (this->sort_criteria != index) {
|
||||
this->sort_criteria = index;
|
||||
_last_sort_criteria[this->vehicle_type] = this->sort_criteria;
|
||||
|
@ -1370,7 +1370,7 @@ struct BuildVehicleWindow : Window {
|
|||
}
|
||||
break;
|
||||
|
||||
case BUILD_VEHICLE_WIDGET_CARGO_FILTER_DROPDOWN: // Select a cargo filter criteria
|
||||
case WID_BV_CARGO_FILTER_DROPDOWN: // Select a cargo filter criteria
|
||||
if (this->cargo_filter_criteria != index) {
|
||||
this->cargo_filter_criteria = index;
|
||||
_last_filter_criteria[this->vehicle_type] = this->cargo_filter[this->cargo_filter_criteria];
|
||||
|
@ -1385,8 +1385,8 @@ struct BuildVehicleWindow : Window {
|
|||
|
||||
virtual void OnResize()
|
||||
{
|
||||
this->vscroll->SetCapacityFromWidget(this, BUILD_VEHICLE_WIDGET_LIST);
|
||||
this->GetWidget<NWidgetCore>(BUILD_VEHICLE_WIDGET_LIST)->widget_data = (this->vscroll->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
|
||||
this->vscroll->SetCapacityFromWidget(this, WID_BV_LIST);
|
||||
this->GetWidget<NWidgetCore>(WID_BV_LIST)->widget_data = (this->vscroll->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -187,7 +187,7 @@ static const NWidgetPart _nested_cheat_widgets[] = {
|
|||
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, CW_PANEL), SetDataTip(0x0, STR_CHEATS_TOOLTIP), EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_C_PANEL), SetDataTip(0x0, STR_CHEATS_TOOLTIP), EndContainer(),
|
||||
};
|
||||
|
||||
/** GUI for the cheats. */
|
||||
|
@ -202,7 +202,7 @@ struct CheatWindow : Window {
|
|||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const
|
||||
{
|
||||
if (widget != CW_PANEL) return;
|
||||
if (widget != WID_C_PANEL) return;
|
||||
|
||||
int y = r.top + WD_FRAMERECT_TOP + this->header_height;
|
||||
DrawStringMultiLine(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_LEFT, r.top + WD_FRAMERECT_TOP, y, STR_CHEATS_WARNING, TC_FROMSTRING, SA_CENTER);
|
||||
|
@ -265,7 +265,7 @@ struct CheatWindow : Window {
|
|||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||
{
|
||||
if (widget != CW_PANEL) return;
|
||||
if (widget != WID_C_PANEL) return;
|
||||
|
||||
uint width = 0;
|
||||
for (int i = 0; i != lengthof(_cheats_ui); i++) {
|
||||
|
@ -316,7 +316,7 @@ struct CheatWindow : Window {
|
|||
|
||||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
const NWidgetBase *wid = this->GetWidget<NWidgetBase>(CW_PANEL);
|
||||
const NWidgetBase *wid = this->GetWidget<NWidgetBase>(WID_C_PANEL);
|
||||
uint btn = (pt.y - wid->pos_y - WD_FRAMERECT_TOP - this->header_height) / (FONT_HEIGHT_NORMAL + WD_PAR_VSEP_NORMAL);
|
||||
uint x = pt.x - wid->pos_x;
|
||||
bool rtl = _current_text_dir == TD_RTL;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -155,7 +155,7 @@ static const char *IConsoleHistoryAdd(const char *cmd);
|
|||
static void IConsoleHistoryNavigate(int direction);
|
||||
|
||||
static const struct NWidgetPart _nested_console_window_widgets[] = {
|
||||
NWidget(WWT_EMPTY, INVALID_COLOUR, CW_BACKGROUND), SetResize(1, 1),
|
||||
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_C_BACKGROUND), SetResize(1, 1),
|
||||
};
|
||||
|
||||
static const WindowDesc _console_window_desc(
|
||||
|
|
|
@ -72,21 +72,21 @@ struct SetDateWindow : Window {
|
|||
switch (widget) {
|
||||
default: NOT_REACHED();
|
||||
|
||||
case SDW_DAY:
|
||||
case WID_SD_DAY:
|
||||
for (uint i = 0; i < 31; i++) {
|
||||
list->push_back(new DropDownListStringItem(STR_ORDINAL_NUMBER_1ST + i, i + 1, false));
|
||||
}
|
||||
selected = this->date.day;
|
||||
break;
|
||||
|
||||
case SDW_MONTH:
|
||||
case WID_SD_MONTH:
|
||||
for (uint i = 0; i < 12; i++) {
|
||||
list->push_back(new DropDownListStringItem(STR_MONTH_JAN + i, i, false));
|
||||
}
|
||||
selected = this->date.month;
|
||||
break;
|
||||
|
||||
case SDW_YEAR:
|
||||
case WID_SD_YEAR:
|
||||
for (Year i = this->min_year; i <= this->max_year; i++) {
|
||||
DropDownListParamStringItem *item = new DropDownListParamStringItem(STR_JUST_INT, i, false);
|
||||
item->SetParam(0, i);
|
||||
|
@ -105,19 +105,19 @@ struct SetDateWindow : Window {
|
|||
switch (widget) {
|
||||
default: return;
|
||||
|
||||
case SDW_DAY:
|
||||
case WID_SD_DAY:
|
||||
for (uint i = 0; i < 31; i++) {
|
||||
d = maxdim(d, GetStringBoundingBox(STR_ORDINAL_NUMBER_1ST + i));
|
||||
}
|
||||
break;
|
||||
|
||||
case SDW_MONTH:
|
||||
case WID_SD_MONTH:
|
||||
for (uint i = 0; i < 12; i++) {
|
||||
d = maxdim(d, GetStringBoundingBox(STR_MONTH_JAN + i));
|
||||
}
|
||||
break;
|
||||
|
||||
case SDW_YEAR:
|
||||
case WID_SD_YEAR:
|
||||
for (Year i = this->min_year; i <= this->max_year; i++) {
|
||||
SetDParam(0, i);
|
||||
d = maxdim(d, GetStringBoundingBox(STR_JUST_INT));
|
||||
|
@ -133,22 +133,22 @@ struct SetDateWindow : Window {
|
|||
virtual void SetStringParameters(int widget) const
|
||||
{
|
||||
switch (widget) {
|
||||
case SDW_DAY: SetDParam(0, this->date.day - 1 + STR_ORDINAL_NUMBER_1ST); break;
|
||||
case SDW_MONTH: SetDParam(0, this->date.month + STR_MONTH_JAN); break;
|
||||
case SDW_YEAR: SetDParam(0, this->date.year); break;
|
||||
case WID_SD_DAY: SetDParam(0, this->date.day - 1 + STR_ORDINAL_NUMBER_1ST); break;
|
||||
case WID_SD_MONTH: SetDParam(0, this->date.month + STR_MONTH_JAN); break;
|
||||
case WID_SD_YEAR: SetDParam(0, this->date.year); break;
|
||||
}
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case SDW_DAY:
|
||||
case SDW_MONTH:
|
||||
case SDW_YEAR:
|
||||
case WID_SD_DAY:
|
||||
case WID_SD_MONTH:
|
||||
case WID_SD_YEAR:
|
||||
ShowDateDropDown(widget);
|
||||
break;
|
||||
|
||||
case SDW_SET_DATE:
|
||||
case WID_SD_SET_DATE:
|
||||
if (this->callback != NULL) this->callback(this->parent, ConvertYMDToDate(this->date.year, this->date.month, this->date.day));
|
||||
delete this;
|
||||
break;
|
||||
|
@ -158,15 +158,15 @@ struct SetDateWindow : Window {
|
|||
virtual void OnDropdownSelect(int widget, int index)
|
||||
{
|
||||
switch (widget) {
|
||||
case SDW_DAY:
|
||||
case WID_SD_DAY:
|
||||
this->date.day = index;
|
||||
break;
|
||||
|
||||
case SDW_MONTH:
|
||||
case WID_SD_MONTH:
|
||||
this->date.month = index;
|
||||
break;
|
||||
|
||||
case SDW_YEAR:
|
||||
case WID_SD_YEAR:
|
||||
this->date.year = index;
|
||||
break;
|
||||
}
|
||||
|
@ -183,13 +183,13 @@ static const NWidgetPart _nested_set_date_widgets[] = {
|
|||
NWidget(WWT_PANEL, COLOUR_BROWN),
|
||||
NWidget(NWID_VERTICAL), SetPIP(6, 6, 6),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(6, 6, 6),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, SDW_DAY), SetFill(1, 0), SetDataTip(STR_JUST_STRING, STR_DATE_DAY_TOOLTIP),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, SDW_MONTH), SetFill(1, 0), SetDataTip(STR_JUST_STRING, STR_DATE_MONTH_TOOLTIP),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, SDW_YEAR), SetFill(1, 0), SetDataTip(STR_JUST_INT, STR_DATE_YEAR_TOOLTIP),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_SD_DAY), SetFill(1, 0), SetDataTip(STR_JUST_STRING, STR_DATE_DAY_TOOLTIP),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_SD_MONTH), SetFill(1, 0), SetDataTip(STR_JUST_STRING, STR_DATE_MONTH_TOOLTIP),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_SD_YEAR), SetFill(1, 0), SetDataTip(STR_JUST_INT, STR_DATE_YEAR_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_SPACER), SetFill(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, SDW_SET_DATE), SetMinimalSize(100, 12), SetDataTip(STR_DATE_SET_DATE, STR_DATE_SET_DATE_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_SD_SET_DATE), SetMinimalSize(100, 12), SetDataTip(STR_DATE_SET_DATE, STR_DATE_SET_DATE_TOOLTIP),
|
||||
NWidget(NWID_SPACER), SetFill(1, 0),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
|
|
|
@ -44,37 +44,37 @@
|
|||
static const NWidgetPart _nested_train_depot_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY, DEPOT_WIDGET_CAPTION), SetDataTip(STR_DEPOT_CAPTION, STR_NULL),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY, WID_VD_CAPTION), SetDataTip(STR_DEPOT_CAPTION, STR_NULL),
|
||||
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(WWT_MATRIX, COLOUR_GREY, DEPOT_WIDGET_MATRIX), SetDataTip(0x0, STR_NULL), SetResize(1, 1), SetScrollbar(DEPOT_WIDGET_V_SCROLL),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, DEPOT_WIDGET_SHOW_H_SCROLL),
|
||||
NWidget(NWID_HSCROLLBAR, COLOUR_GREY, DEPOT_WIDGET_H_SCROLL),
|
||||
NWidget(WWT_MATRIX, COLOUR_GREY, WID_VD_MATRIX), SetDataTip(0x0, STR_NULL), SetResize(1, 1), SetScrollbar(WID_VD_V_SCROLL),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_VD_SHOW_H_SCROLL),
|
||||
NWidget(NWID_HSCROLLBAR, COLOUR_GREY, WID_VD_H_SCROLL),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(WWT_IMGBTN, COLOUR_GREY, DEPOT_WIDGET_SELL), SetDataTip(0x0, STR_NULL), SetResize(0, 1), SetFill(0, 1),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, DEPOT_WIDGET_SHOW_SELL_CHAIN),
|
||||
NWidget(WWT_IMGBTN, COLOUR_GREY, DEPOT_WIDGET_SELL_CHAIN), SetDataTip(SPR_SELL_CHAIN_TRAIN, STR_DEPOT_DRAG_WHOLE_TRAIN_TO_SELL_TOOLTIP), SetResize(0, 1), SetFill(0, 1),
|
||||
NWidget(WWT_IMGBTN, COLOUR_GREY, WID_VD_SELL), SetDataTip(0x0, STR_NULL), SetResize(0, 1), SetFill(0, 1),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_VD_SHOW_SELL_CHAIN),
|
||||
NWidget(WWT_IMGBTN, COLOUR_GREY, WID_VD_SELL_CHAIN), SetDataTip(SPR_SELL_CHAIN_TRAIN, STR_DEPOT_DRAG_WHOLE_TRAIN_TO_SELL_TOOLTIP), SetResize(0, 1), SetFill(0, 1),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, DEPOT_WIDGET_SELL_ALL), SetDataTip(0x0, STR_NULL),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, DEPOT_WIDGET_AUTOREPLACE), SetDataTip(0x0, STR_NULL),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_VD_SELL_ALL), SetDataTip(0x0, STR_NULL),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_VD_AUTOREPLACE), SetDataTip(0x0, STR_NULL),
|
||||
EndContainer(),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, DEPOT_WIDGET_V_SCROLL),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_VD_V_SCROLL),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, DEPOT_WIDGET_BUILD), SetDataTip(0x0, STR_NULL), SetFill(1, 1), SetResize(1, 0),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_GREY, DEPOT_WIDGET_CLONE), SetDataTip(0x0, STR_NULL), SetFill(1, 1), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, DEPOT_WIDGET_LOCATION), SetDataTip(STR_BUTTON_LOCATION, STR_NULL), SetFill(1, 1), SetResize(1, 0),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, DEPOT_WIDGET_SHOW_RENAME), // rename button
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, DEPOT_WIDGET_RENAME), SetDataTip(STR_BUTTON_RENAME, STR_DEPOT_RENAME_TOOLTIP), SetFill(1, 1), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_VD_BUILD), SetDataTip(0x0, STR_NULL), SetFill(1, 1), SetResize(1, 0),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_VD_CLONE), SetDataTip(0x0, STR_NULL), SetFill(1, 1), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_VD_LOCATION), SetDataTip(STR_BUTTON_LOCATION, STR_NULL), SetFill(1, 1), SetResize(1, 0),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_VD_SHOW_RENAME), // rename button
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_VD_RENAME), SetDataTip(STR_BUTTON_RENAME, STR_DEPOT_RENAME_TOOLTIP), SetFill(1, 1), SetResize(1, 0),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, DEPOT_WIDGET_VEHICLE_LIST), SetDataTip(0x0, STR_NULL), SetFill(0, 1),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, DEPOT_WIDGET_STOP_ALL), SetDataTip(SPR_FLAG_VEH_STOPPED, STR_NULL), SetFill(0, 1),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, DEPOT_WIDGET_START_ALL), SetDataTip(SPR_FLAG_VEH_RUNNING, STR_NULL), SetFill(0, 1),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_VD_VEHICLE_LIST), SetDataTip(0x0, STR_NULL), SetFill(0, 1),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_VD_STOP_ALL), SetDataTip(SPR_FLAG_VEH_STOPPED, STR_NULL), SetFill(0, 1),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_VD_START_ALL), SetDataTip(SPR_FLAG_VEH_RUNNING, STR_NULL), SetFill(0, 1),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
};
|
||||
|
@ -144,7 +144,7 @@ static void TrainDepotMoveVehicle(const Vehicle *wagon, VehicleID sel, const Veh
|
|||
}
|
||||
|
||||
/**
|
||||
* Array containing the cell size in pixels of the #DEPOT_WIDGET_MATRIX widget for each vehicle type.
|
||||
* Array containing the cell size in pixels of the #WID_VD_MATRIX widget for each vehicle type.
|
||||
* @note The train vehicle type uses the entire row for each train.
|
||||
*/
|
||||
static Dimension _base_block_sizes[4];
|
||||
|
@ -221,13 +221,13 @@ struct DepotWindow : Window {
|
|||
this->num_columns = 1; // for non-trains this gets set in FinishInitNested()
|
||||
|
||||
this->CreateNestedTree(desc);
|
||||
this->hscroll = (this->type == VEH_TRAIN ? this->GetScrollbar(DEPOT_WIDGET_H_SCROLL) : NULL);
|
||||
this->vscroll = this->GetScrollbar(DEPOT_WIDGET_V_SCROLL);
|
||||
this->hscroll = (this->type == VEH_TRAIN ? this->GetScrollbar(WID_VD_H_SCROLL) : NULL);
|
||||
this->vscroll = this->GetScrollbar(WID_VD_V_SCROLL);
|
||||
/* Don't show 'rename button' of aircraft hangar */
|
||||
this->GetWidget<NWidgetStacked>(DEPOT_WIDGET_SHOW_RENAME)->SetDisplayedPlane(type == VEH_AIRCRAFT ? SZSP_NONE : 0);
|
||||
this->GetWidget<NWidgetStacked>(WID_VD_SHOW_RENAME)->SetDisplayedPlane(type == VEH_AIRCRAFT ? SZSP_NONE : 0);
|
||||
/* Only train depots have a horizontal scrollbar and a 'sell chain' button */
|
||||
this->GetWidget<NWidgetStacked>(DEPOT_WIDGET_SHOW_H_SCROLL)->SetDisplayedPlane(type == VEH_TRAIN ? 0 : SZSP_HORIZONTAL);
|
||||
this->GetWidget<NWidgetStacked>(DEPOT_WIDGET_SHOW_SELL_CHAIN)->SetDisplayedPlane(type == VEH_TRAIN ? 0 : SZSP_NONE);
|
||||
this->GetWidget<NWidgetStacked>(WID_VD_SHOW_H_SCROLL)->SetDisplayedPlane(type == VEH_TRAIN ? 0 : SZSP_HORIZONTAL);
|
||||
this->GetWidget<NWidgetStacked>(WID_VD_SHOW_SELL_CHAIN)->SetDisplayedPlane(type == VEH_TRAIN ? 0 : SZSP_NONE);
|
||||
this->SetupWidgetData(type);
|
||||
this->FinishInitNested(desc, tile);
|
||||
|
||||
|
@ -310,12 +310,12 @@ struct DepotWindow : Window {
|
|||
|
||||
void DrawWidget(const Rect &r, int widget) const
|
||||
{
|
||||
if (widget != DEPOT_WIDGET_MATRIX) return;
|
||||
if (widget != WID_VD_MATRIX) return;
|
||||
|
||||
bool rtl = _current_text_dir == TD_RTL;
|
||||
|
||||
/* Set the row and number of boxes in each row based on the number of boxes drawn in the matrix */
|
||||
uint16 mat_data = this->GetWidget<NWidgetCore>(DEPOT_WIDGET_MATRIX)->widget_data;
|
||||
uint16 mat_data = this->GetWidget<NWidgetCore>(WID_VD_MATRIX)->widget_data;
|
||||
uint16 rows_in_display = GB(mat_data, MAT_ROW_START, MAT_ROW_BITS);
|
||||
uint16 boxes_in_each_row = GB(mat_data, MAT_COL_START, MAT_COL_BITS);
|
||||
|
||||
|
@ -346,7 +346,7 @@ struct DepotWindow : Window {
|
|||
|
||||
void SetStringParameters(int widget) const
|
||||
{
|
||||
if (widget != DEPOT_WIDGET_CAPTION) return;
|
||||
if (widget != WID_VD_CAPTION) return;
|
||||
|
||||
/* locate the depot struct */
|
||||
TileIndex tile = this->window_number;
|
||||
|
@ -368,7 +368,7 @@ struct DepotWindow : Window {
|
|||
|
||||
DepotGUIAction GetVehicleFromDepotWndPt(int x, int y, const Vehicle **veh, GetDepotVehiclePtData *d) const
|
||||
{
|
||||
const NWidgetCore *matrix_widget = this->GetWidget<NWidgetCore>(DEPOT_WIDGET_MATRIX);
|
||||
const NWidgetCore *matrix_widget = this->GetWidget<NWidgetCore>(WID_VD_MATRIX);
|
||||
/* In case of RTL the widgets are swapped as a whole */
|
||||
if (_current_text_dir == TD_RTL) x = matrix_widget->current_x - x;
|
||||
|
||||
|
@ -514,56 +514,56 @@ struct DepotWindow : Window {
|
|||
*/
|
||||
void SetupWidgetData(VehicleType type)
|
||||
{
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_STOP_ALL)->tool_tip = STR_DEPOT_MASS_STOP_DEPOT_TRAIN_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_START_ALL)->tool_tip = STR_DEPOT_MASS_START_DEPOT_TRAIN_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_SELL)->tool_tip = STR_DEPOT_TRAIN_SELL_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_SELL_ALL)->tool_tip = STR_DEPOT_SELL_ALL_BUTTON_TRAIN_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_STOP_ALL)->tool_tip = STR_DEPOT_MASS_STOP_DEPOT_TRAIN_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_START_ALL)->tool_tip = STR_DEPOT_MASS_START_DEPOT_TRAIN_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL)->tool_tip = STR_DEPOT_TRAIN_SELL_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL_ALL)->tool_tip = STR_DEPOT_SELL_ALL_BUTTON_TRAIN_TOOLTIP + type;
|
||||
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_BUILD)->SetDataTip(STR_DEPOT_TRAIN_NEW_VEHICLES_BUTTON + type, STR_DEPOT_TRAIN_NEW_VEHICLES_TOOLTIP + type);
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_CLONE)->SetDataTip(STR_DEPOT_CLONE_TRAIN + type, STR_DEPOT_CLONE_TRAIN_DEPOT_INFO + type);
|
||||
this->GetWidget<NWidgetCore>(WID_VD_BUILD)->SetDataTip(STR_DEPOT_TRAIN_NEW_VEHICLES_BUTTON + type, STR_DEPOT_TRAIN_NEW_VEHICLES_TOOLTIP + type);
|
||||
this->GetWidget<NWidgetCore>(WID_VD_CLONE)->SetDataTip(STR_DEPOT_CLONE_TRAIN + type, STR_DEPOT_CLONE_TRAIN_DEPOT_INFO + type);
|
||||
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_LOCATION)->tool_tip = STR_DEPOT_TRAIN_LOCATION_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_VEHICLE_LIST)->tool_tip = STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_AUTOREPLACE)->tool_tip = STR_DEPOT_AUTOREPLACE_TRAIN_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_MATRIX)->tool_tip = STR_DEPOT_TRAIN_LIST_TOOLTIP + this->type;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_LOCATION)->tool_tip = STR_DEPOT_TRAIN_LOCATION_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_VEHICLE_LIST)->tool_tip = STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_AUTOREPLACE)->tool_tip = STR_DEPOT_AUTOREPLACE_TRAIN_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_MATRIX)->tool_tip = STR_DEPOT_TRAIN_LIST_TOOLTIP + this->type;
|
||||
|
||||
switch (type) {
|
||||
default: NOT_REACHED();
|
||||
|
||||
case VEH_TRAIN:
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_VEHICLE_LIST)->widget_data = STR_TRAIN;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_VEHICLE_LIST)->widget_data = STR_TRAIN;
|
||||
|
||||
/* Sprites */
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_SELL)->widget_data = SPR_SELL_TRAIN;
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_SELL_ALL)->widget_data = SPR_SELL_ALL_TRAIN;
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_AUTOREPLACE)->widget_data = SPR_REPLACE_TRAIN;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL)->widget_data = SPR_SELL_TRAIN;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL_ALL)->widget_data = SPR_SELL_ALL_TRAIN;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_AUTOREPLACE)->widget_data = SPR_REPLACE_TRAIN;
|
||||
break;
|
||||
|
||||
case VEH_ROAD:
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_VEHICLE_LIST)->widget_data = STR_LORRY;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_VEHICLE_LIST)->widget_data = STR_LORRY;
|
||||
|
||||
/* Sprites */
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_SELL)->widget_data = SPR_SELL_ROADVEH;
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_SELL_ALL)->widget_data = SPR_SELL_ALL_ROADVEH;
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_AUTOREPLACE)->widget_data = SPR_REPLACE_ROADVEH;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL)->widget_data = SPR_SELL_ROADVEH;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL_ALL)->widget_data = SPR_SELL_ALL_ROADVEH;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_AUTOREPLACE)->widget_data = SPR_REPLACE_ROADVEH;
|
||||
break;
|
||||
|
||||
case VEH_SHIP:
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_VEHICLE_LIST)->widget_data = STR_SHIP;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_VEHICLE_LIST)->widget_data = STR_SHIP;
|
||||
|
||||
/* Sprites */
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_SELL)->widget_data = SPR_SELL_SHIP;
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_SELL_ALL)->widget_data = SPR_SELL_ALL_SHIP;
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_AUTOREPLACE)->widget_data = SPR_REPLACE_SHIP;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL)->widget_data = SPR_SELL_SHIP;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL_ALL)->widget_data = SPR_SELL_ALL_SHIP;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_AUTOREPLACE)->widget_data = SPR_REPLACE_SHIP;
|
||||
break;
|
||||
|
||||
case VEH_AIRCRAFT:
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_VEHICLE_LIST)->widget_data = STR_PLANE;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_VEHICLE_LIST)->widget_data = STR_PLANE;
|
||||
|
||||
/* Sprites */
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_SELL)->widget_data = SPR_SELL_AIRCRAFT;
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_SELL_ALL)->widget_data = SPR_SELL_ALL_AIRCRAFT;
|
||||
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_AUTOREPLACE)->widget_data = SPR_REPLACE_AIRCRAFT;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL)->widget_data = SPR_SELL_AIRCRAFT;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL_ALL)->widget_data = SPR_SELL_ALL_AIRCRAFT;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_AUTOREPLACE)->widget_data = SPR_REPLACE_AIRCRAFT;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -576,7 +576,7 @@ struct DepotWindow : Window {
|
|||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||
{
|
||||
switch (widget) {
|
||||
case DEPOT_WIDGET_MATRIX: {
|
||||
case WID_VD_MATRIX: {
|
||||
uint min_height = 0;
|
||||
|
||||
if (this->type == VEH_TRAIN) {
|
||||
|
@ -658,15 +658,15 @@ struct DepotWindow : Window {
|
|||
/* Setup disabled buttons. */
|
||||
TileIndex tile = this->window_number;
|
||||
this->SetWidgetsDisabledState(!IsTileOwner(tile, _local_company),
|
||||
DEPOT_WIDGET_STOP_ALL,
|
||||
DEPOT_WIDGET_START_ALL,
|
||||
DEPOT_WIDGET_SELL,
|
||||
DEPOT_WIDGET_SELL_CHAIN,
|
||||
DEPOT_WIDGET_SELL_ALL,
|
||||
DEPOT_WIDGET_BUILD,
|
||||
DEPOT_WIDGET_CLONE,
|
||||
DEPOT_WIDGET_RENAME,
|
||||
DEPOT_WIDGET_AUTOREPLACE,
|
||||
WID_VD_STOP_ALL,
|
||||
WID_VD_START_ALL,
|
||||
WID_VD_SELL,
|
||||
WID_VD_SELL_CHAIN,
|
||||
WID_VD_SELL_ALL,
|
||||
WID_VD_BUILD,
|
||||
WID_VD_CLONE,
|
||||
WID_VD_RENAME,
|
||||
WID_VD_AUTOREPLACE,
|
||||
WIDGET_LIST_END);
|
||||
|
||||
this->DrawWidgets();
|
||||
|
@ -675,22 +675,22 @@ struct DepotWindow : Window {
|
|||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case DEPOT_WIDGET_MATRIX: { // List
|
||||
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(DEPOT_WIDGET_MATRIX);
|
||||
case WID_VD_MATRIX: { // List
|
||||
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(WID_VD_MATRIX);
|
||||
this->DepotClick(pt.x - nwi->pos_x, pt.y - nwi->pos_y);
|
||||
break;
|
||||
}
|
||||
|
||||
case DEPOT_WIDGET_BUILD: // Build vehicle
|
||||
case WID_VD_BUILD: // Build vehicle
|
||||
ResetObjectToPlace();
|
||||
ShowBuildVehicleWindow(this->window_number, this->type);
|
||||
break;
|
||||
|
||||
case DEPOT_WIDGET_CLONE: // Clone button
|
||||
this->SetWidgetDirty(DEPOT_WIDGET_CLONE);
|
||||
this->ToggleWidgetLoweredState(DEPOT_WIDGET_CLONE);
|
||||
case WID_VD_CLONE: // Clone button
|
||||
this->SetWidgetDirty(WID_VD_CLONE);
|
||||
this->ToggleWidgetLoweredState(WID_VD_CLONE);
|
||||
|
||||
if (this->IsWidgetLowered(DEPOT_WIDGET_CLONE)) {
|
||||
if (this->IsWidgetLowered(WID_VD_CLONE)) {
|
||||
static const CursorID clone_icons[] = {
|
||||
SPR_CURSOR_CLONE_TRAIN, SPR_CURSOR_CLONE_ROADVEH,
|
||||
SPR_CURSOR_CLONE_SHIP, SPR_CURSOR_CLONE_AIRPLANE
|
||||
|
@ -702,7 +702,7 @@ struct DepotWindow : Window {
|
|||
}
|
||||
break;
|
||||
|
||||
case DEPOT_WIDGET_LOCATION:
|
||||
case WID_VD_LOCATION:
|
||||
if (_ctrl_pressed) {
|
||||
ShowExtraViewPortWindow(this->window_number);
|
||||
} else {
|
||||
|
@ -710,20 +710,20 @@ struct DepotWindow : Window {
|
|||
}
|
||||
break;
|
||||
|
||||
case DEPOT_WIDGET_RENAME: // Rename button
|
||||
case WID_VD_RENAME: // Rename button
|
||||
SetDParam(0, this->type);
|
||||
SetDParam(1, Depot::GetByTile((TileIndex)this->window_number)->index);
|
||||
ShowQueryString(STR_DEPOT_NAME, STR_DEPOT_RENAME_DEPOT_CAPTION, MAX_LENGTH_DEPOT_NAME_CHARS, this, CS_ALPHANUMERAL, QSF_ENABLE_DEFAULT | QSF_LEN_IN_CHARS);
|
||||
break;
|
||||
|
||||
case DEPOT_WIDGET_STOP_ALL:
|
||||
case DEPOT_WIDGET_START_ALL: {
|
||||
case WID_VD_STOP_ALL:
|
||||
case WID_VD_START_ALL: {
|
||||
VehicleListIdentifier vli(VL_DEPOT_LIST, this->type, this->owner);
|
||||
DoCommandP(this->window_number, (widget == DEPOT_WIDGET_START_ALL ? (1 << 0) : 0), vli.Pack(), CMD_MASS_START_STOP);
|
||||
DoCommandP(this->window_number, (widget == WID_VD_START_ALL ? (1 << 0) : 0), vli.Pack(), CMD_MASS_START_STOP);
|
||||
break;
|
||||
}
|
||||
|
||||
case DEPOT_WIDGET_SELL_ALL:
|
||||
case WID_VD_SELL_ALL:
|
||||
/* Only open the confimation window if there are anything to sell */
|
||||
if (this->vehicle_list.Length() != 0 || this->wagon_list.Length() != 0) {
|
||||
TileIndex tile = this->window_number;
|
||||
|
@ -740,11 +740,11 @@ struct DepotWindow : Window {
|
|||
}
|
||||
break;
|
||||
|
||||
case DEPOT_WIDGET_VEHICLE_LIST:
|
||||
case WID_VD_VEHICLE_LIST:
|
||||
ShowVehicleListWindow(GetTileOwner(this->window_number), this->type, (TileIndex)this->window_number);
|
||||
break;
|
||||
|
||||
case DEPOT_WIDGET_AUTOREPLACE:
|
||||
case WID_VD_AUTOREPLACE:
|
||||
DoCommandP(this->window_number, this->type, 0, CMD_DEPOT_MASS_AUTOREPLACE);
|
||||
break;
|
||||
|
||||
|
@ -761,11 +761,11 @@ struct DepotWindow : Window {
|
|||
|
||||
virtual bool OnRightClick(Point pt, int widget)
|
||||
{
|
||||
if (widget != DEPOT_WIDGET_MATRIX) return false;
|
||||
if (widget != WID_VD_MATRIX) return false;
|
||||
|
||||
GetDepotVehiclePtData gdvp = { NULL, NULL };
|
||||
const Vehicle *v = NULL;
|
||||
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(DEPOT_WIDGET_MATRIX);
|
||||
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(WID_VD_MATRIX);
|
||||
DepotGUIAction mode = this->GetVehicleFromDepotWndPt(pt.x - nwi->pos_x, pt.y - nwi->pos_y, &v, &gdvp);
|
||||
|
||||
if (this->type == VEH_TRAIN) v = gdvp.wagon;
|
||||
|
@ -831,13 +831,13 @@ struct DepotWindow : Window {
|
|||
virtual void OnPlaceObjectAbort()
|
||||
{
|
||||
/* abort clone */
|
||||
this->RaiseWidget(DEPOT_WIDGET_CLONE);
|
||||
this->SetWidgetDirty(DEPOT_WIDGET_CLONE);
|
||||
this->RaiseWidget(WID_VD_CLONE);
|
||||
this->SetWidgetDirty(WID_VD_CLONE);
|
||||
|
||||
/* abort drag & drop */
|
||||
this->sel = INVALID_VEHICLE;
|
||||
this->vehicle_over = INVALID_VEHICLE;
|
||||
this->SetWidgetDirty(DEPOT_WIDGET_MATRIX);
|
||||
this->SetWidgetDirty(WID_VD_MATRIX);
|
||||
}
|
||||
|
||||
virtual void OnMouseDrag(Point pt, int widget)
|
||||
|
@ -845,10 +845,10 @@ struct DepotWindow : Window {
|
|||
if (this->type != VEH_TRAIN || this->sel == INVALID_VEHICLE) return;
|
||||
|
||||
/* A rail vehicle is dragged.. */
|
||||
if (widget != DEPOT_WIDGET_MATRIX) { // ..outside of the depot matrix.
|
||||
if (widget != WID_VD_MATRIX) { // ..outside of the depot matrix.
|
||||
if (this->vehicle_over != INVALID_VEHICLE) {
|
||||
this->vehicle_over = INVALID_VEHICLE;
|
||||
this->SetWidgetDirty(DEPOT_WIDGET_MATRIX);
|
||||
this->SetWidgetDirty(WID_VD_MATRIX);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
@ -883,14 +883,14 @@ struct DepotWindow : Window {
|
|||
virtual void OnDragDrop(Point pt, int widget)
|
||||
{
|
||||
switch (widget) {
|
||||
case DEPOT_WIDGET_MATRIX: {
|
||||
case WID_VD_MATRIX: {
|
||||
const Vehicle *v = NULL;
|
||||
VehicleID sel = this->sel;
|
||||
|
||||
this->sel = INVALID_VEHICLE;
|
||||
this->SetDirty();
|
||||
|
||||
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(DEPOT_WIDGET_MATRIX);
|
||||
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(WID_VD_MATRIX);
|
||||
if (this->type == VEH_TRAIN) {
|
||||
GetDepotVehiclePtData gdvp = { NULL, NULL };
|
||||
|
||||
|
@ -911,7 +911,7 @@ struct DepotWindow : Window {
|
|||
break;
|
||||
}
|
||||
|
||||
case DEPOT_WIDGET_SELL: case DEPOT_WIDGET_SELL_CHAIN: {
|
||||
case WID_VD_SELL: case WID_VD_SELL_CHAIN: {
|
||||
if (this->IsWidgetDisabled(widget)) return;
|
||||
if (this->sel == INVALID_VEHICLE) return;
|
||||
|
||||
|
@ -921,7 +921,7 @@ struct DepotWindow : Window {
|
|||
this->sel = INVALID_VEHICLE;
|
||||
this->SetDirty();
|
||||
|
||||
int sell_cmd = (v->type == VEH_TRAIN && (widget == DEPOT_WIDGET_SELL_CHAIN || _ctrl_pressed)) ? 1 : 0;
|
||||
int sell_cmd = (v->type == VEH_TRAIN && (widget == WID_VD_SELL_CHAIN || _ctrl_pressed)) ? 1 : 0;
|
||||
DoCommandP(v->tile, v->index | sell_cmd << 20 | MAKE_ORDER_BACKUP_FLAG, 0, GetCmdSellVeh(v->type));
|
||||
break;
|
||||
}
|
||||
|
@ -935,20 +935,20 @@ struct DepotWindow : Window {
|
|||
|
||||
virtual void OnTimeout()
|
||||
{
|
||||
if (!this->IsWidgetDisabled(DEPOT_WIDGET_SELL)) {
|
||||
this->RaiseWidget(DEPOT_WIDGET_SELL);
|
||||
this->SetWidgetDirty(DEPOT_WIDGET_SELL);
|
||||
if (!this->IsWidgetDisabled(WID_VD_SELL)) {
|
||||
this->RaiseWidget(WID_VD_SELL);
|
||||
this->SetWidgetDirty(WID_VD_SELL);
|
||||
}
|
||||
if (this->nested_array[DEPOT_WIDGET_SELL] != NULL && !this->IsWidgetDisabled(DEPOT_WIDGET_SELL_CHAIN)) {
|
||||
this->RaiseWidget(DEPOT_WIDGET_SELL_CHAIN);
|
||||
this->SetWidgetDirty(DEPOT_WIDGET_SELL_CHAIN);
|
||||
if (this->nested_array[WID_VD_SELL] != NULL && !this->IsWidgetDisabled(WID_VD_SELL_CHAIN)) {
|
||||
this->RaiseWidget(WID_VD_SELL_CHAIN);
|
||||
this->SetWidgetDirty(WID_VD_SELL_CHAIN);
|
||||
}
|
||||
}
|
||||
|
||||
virtual void OnResize()
|
||||
{
|
||||
NWidgetCore *nwi = this->GetWidget<NWidgetCore>(DEPOT_WIDGET_MATRIX);
|
||||
this->vscroll->SetCapacityFromWidget(this, DEPOT_WIDGET_MATRIX);
|
||||
NWidgetCore *nwi = this->GetWidget<NWidgetCore>(WID_VD_MATRIX);
|
||||
this->vscroll->SetCapacityFromWidget(this, WID_VD_MATRIX);
|
||||
if (this->type == VEH_TRAIN) {
|
||||
this->hscroll->SetCapacity(nwi->current_x - this->header_width - this->count_width);
|
||||
nwi->widget_data = (this->vscroll->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
|
||||
|
@ -962,7 +962,7 @@ struct DepotWindow : Window {
|
|||
{
|
||||
if (this->sel != INVALID_VEHICLE) {
|
||||
_cursor.vehchain = _ctrl_pressed;
|
||||
this->SetWidgetDirty(DEPOT_WIDGET_MATRIX);
|
||||
this->SetWidgetDirty(WID_VD_MATRIX);
|
||||
return ES_HANDLED;
|
||||
}
|
||||
|
||||
|
|
104
src/dock_gui.cpp
104
src/dock_gui.cpp
|
@ -96,7 +96,7 @@ struct BuildDocksToolbarWindow : Window {
|
|||
|
||||
BuildDocksToolbarWindow(const WindowDesc *desc, WindowNumber window_number) : Window()
|
||||
{
|
||||
this->last_clicked_widget = DTW_END;
|
||||
this->last_clicked_widget = WID_DT_INVALID;
|
||||
this->InitNested(desc, window_number);
|
||||
this->OnInvalidateData();
|
||||
if (_settings_client.gui.link_terraform_toolbar) ShowTerraformToolbar(this);
|
||||
|
@ -116,49 +116,49 @@ struct BuildDocksToolbarWindow : Window {
|
|||
{
|
||||
if (!gui_scope) return;
|
||||
this->SetWidgetsDisabledState(!CanBuildVehicleInfrastructure(VEH_SHIP),
|
||||
DTW_DEPOT,
|
||||
DTW_STATION,
|
||||
DTW_BUOY,
|
||||
WID_DT_DEPOT,
|
||||
WID_DT_STATION,
|
||||
WID_DT_BUOY,
|
||||
WIDGET_LIST_END);
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case DTW_CANAL: // Build canal button
|
||||
HandlePlacePushButton(this, DTW_CANAL, SPR_CURSOR_CANAL, HT_RECT);
|
||||
case WID_DT_CANAL: // Build canal button
|
||||
HandlePlacePushButton(this, WID_DT_CANAL, SPR_CURSOR_CANAL, HT_RECT);
|
||||
break;
|
||||
|
||||
case DTW_LOCK: // Build lock button
|
||||
HandlePlacePushButton(this, DTW_LOCK, SPR_CURSOR_LOCK, HT_SPECIAL);
|
||||
case WID_DT_LOCK: // Build lock button
|
||||
HandlePlacePushButton(this, WID_DT_LOCK, SPR_CURSOR_LOCK, HT_SPECIAL);
|
||||
break;
|
||||
|
||||
case DTW_DEMOLISH: // Demolish aka dynamite button
|
||||
HandlePlacePushButton(this, DTW_DEMOLISH, ANIMCURSOR_DEMOLISH, HT_RECT | HT_DIAGONAL);
|
||||
case WID_DT_DEMOLISH: // Demolish aka dynamite button
|
||||
HandlePlacePushButton(this, WID_DT_DEMOLISH, ANIMCURSOR_DEMOLISH, HT_RECT | HT_DIAGONAL);
|
||||
break;
|
||||
|
||||
case DTW_DEPOT: // Build depot button
|
||||
case WID_DT_DEPOT: // Build depot button
|
||||
if (!CanBuildVehicleInfrastructure(VEH_SHIP)) return;
|
||||
if (HandlePlacePushButton(this, DTW_DEPOT, SPR_CURSOR_SHIP_DEPOT, HT_RECT)) ShowBuildDocksDepotPicker(this);
|
||||
if (HandlePlacePushButton(this, WID_DT_DEPOT, SPR_CURSOR_SHIP_DEPOT, HT_RECT)) ShowBuildDocksDepotPicker(this);
|
||||
break;
|
||||
|
||||
case DTW_STATION: // Build station button
|
||||
case WID_DT_STATION: // Build station button
|
||||
if (!CanBuildVehicleInfrastructure(VEH_SHIP)) return;
|
||||
if (HandlePlacePushButton(this, DTW_STATION, SPR_CURSOR_DOCK, HT_SPECIAL)) ShowBuildDockStationPicker(this);
|
||||
if (HandlePlacePushButton(this, WID_DT_STATION, SPR_CURSOR_DOCK, HT_SPECIAL)) ShowBuildDockStationPicker(this);
|
||||
break;
|
||||
|
||||
case DTW_BUOY: // Build buoy button
|
||||
case WID_DT_BUOY: // Build buoy button
|
||||
if (!CanBuildVehicleInfrastructure(VEH_SHIP)) return;
|
||||
HandlePlacePushButton(this, DTW_BUOY, SPR_CURSOR_BUOY, HT_RECT);
|
||||
HandlePlacePushButton(this, WID_DT_BUOY, SPR_CURSOR_BUOY, HT_RECT);
|
||||
break;
|
||||
|
||||
case DTW_RIVER: // Build river button (in scenario editor)
|
||||
case WID_DT_RIVER: // Build river button (in scenario editor)
|
||||
if (_game_mode != GM_EDITOR) return;
|
||||
HandlePlacePushButton(this, DTW_RIVER, SPR_CURSOR_RIVER, HT_RECT);
|
||||
HandlePlacePushButton(this, WID_DT_RIVER, SPR_CURSOR_RIVER, HT_RECT);
|
||||
break;
|
||||
|
||||
case DTW_BUILD_AQUEDUCT: // Build aqueduct button
|
||||
HandlePlacePushButton(this, DTW_BUILD_AQUEDUCT, SPR_CURSOR_AQUEDUCT, HT_SPECIAL);
|
||||
case WID_DT_BUILD_AQUEDUCT: // Build aqueduct button
|
||||
HandlePlacePushButton(this, WID_DT_BUILD_AQUEDUCT, SPR_CURSOR_AQUEDUCT, HT_SPECIAL);
|
||||
break;
|
||||
|
||||
default: return;
|
||||
|
@ -177,23 +177,23 @@ struct BuildDocksToolbarWindow : Window {
|
|||
virtual void OnPlaceObject(Point pt, TileIndex tile)
|
||||
{
|
||||
switch (this->last_clicked_widget) {
|
||||
case DTW_CANAL: // Build canal button
|
||||
case WID_DT_CANAL: // Build canal button
|
||||
VpStartPlaceSizing(tile, (_game_mode == GM_EDITOR) ? VPM_X_AND_Y : VPM_X_OR_Y, DDSP_CREATE_WATER);
|
||||
break;
|
||||
|
||||
case DTW_LOCK: // Build lock button
|
||||
case WID_DT_LOCK: // Build lock button
|
||||
DoCommandP(tile, 0, 0, CMD_BUILD_LOCK | CMD_MSG(STR_ERROR_CAN_T_BUILD_LOCKS), CcBuildDocks);
|
||||
break;
|
||||
|
||||
case DTW_DEMOLISH: // Demolish aka dynamite button
|
||||
case WID_DT_DEMOLISH: // Demolish aka dynamite button
|
||||
PlaceProc_DemolishArea(tile);
|
||||
break;
|
||||
|
||||
case DTW_DEPOT: // Build depot button
|
||||
case WID_DT_DEPOT: // Build depot button
|
||||
DoCommandP(tile, _ship_depot_direction, 0, CMD_BUILD_SHIP_DEPOT | CMD_MSG(STR_ERROR_CAN_T_BUILD_SHIP_DEPOT), CcBuildDocks);
|
||||
break;
|
||||
|
||||
case DTW_STATION: { // Build station button
|
||||
case WID_DT_STATION: { // Build station button
|
||||
uint32 p2 = (uint32)INVALID_STATION << 16; // no station to join
|
||||
|
||||
/* tile is always the land tile, so need to evaluate _thd.pos */
|
||||
|
@ -207,15 +207,15 @@ struct BuildDocksToolbarWindow : Window {
|
|||
break;
|
||||
}
|
||||
|
||||
case DTW_BUOY: // Build buoy button
|
||||
case WID_DT_BUOY: // Build buoy button
|
||||
DoCommandP(tile, 0, 0, CMD_BUILD_BUOY | CMD_MSG(STR_ERROR_CAN_T_POSITION_BUOY_HERE), CcBuildDocks);
|
||||
break;
|
||||
|
||||
case DTW_RIVER: // Build river button (in scenario editor)
|
||||
case WID_DT_RIVER: // Build river button (in scenario editor)
|
||||
VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_CREATE_RIVER);
|
||||
break;
|
||||
|
||||
case DTW_BUILD_AQUEDUCT: // Build aqueduct button
|
||||
case WID_DT_BUILD_AQUEDUCT: // Build aqueduct button
|
||||
DoCommandP(tile, GetOtherAqueductEnd(tile), TRANSPORT_WATER << 15, CMD_BUILD_BRIDGE | CMD_MSG(STR_ERROR_CAN_T_BUILD_AQUEDUCT_HERE), CcBuildBridge);
|
||||
break;
|
||||
|
||||
|
@ -261,7 +261,7 @@ struct BuildDocksToolbarWindow : Window {
|
|||
{
|
||||
TileIndex tile_to = tile_from;
|
||||
|
||||
if (this->last_clicked_widget == DTW_BUILD_AQUEDUCT) {
|
||||
if (this->last_clicked_widget == WID_DT_BUILD_AQUEDUCT) {
|
||||
GetOtherAqueductEnd(tile_from, &tile_to);
|
||||
} else {
|
||||
DiagDirection dir = GetInclinedSlopeDirection(GetTileSlope(tile_from));
|
||||
|
@ -269,7 +269,7 @@ struct BuildDocksToolbarWindow : Window {
|
|||
/* Locks and docks always select the tile "down" the slope. */
|
||||
tile_to = TileAddByDiagDir(tile_from, ReverseDiagDir(dir));
|
||||
/* Locks also select the tile "up" the slope. */
|
||||
if (this->last_clicked_widget == DTW_LOCK) tile_from = TileAddByDiagDir(tile_from, dir);
|
||||
if (this->last_clicked_widget == WID_DT_LOCK) tile_from = TileAddByDiagDir(tile_from, dir);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -282,21 +282,21 @@ struct BuildDocksToolbarWindow : Window {
|
|||
const uint16 _dockstoolbar_aqueduct_keys[] = {'B', '8', 0};
|
||||
|
||||
Hotkey<BuildDocksToolbarWindow> BuildDocksToolbarWindow::dockstoolbar_hotkeys[] = {
|
||||
Hotkey<BuildDocksToolbarWindow>('1', "canal", DTW_CANAL),
|
||||
Hotkey<BuildDocksToolbarWindow>('2', "lock", DTW_LOCK),
|
||||
Hotkey<BuildDocksToolbarWindow>('3', "demolish", DTW_DEMOLISH),
|
||||
Hotkey<BuildDocksToolbarWindow>('4', "depot", DTW_DEPOT),
|
||||
Hotkey<BuildDocksToolbarWindow>('5', "dock", DTW_STATION),
|
||||
Hotkey<BuildDocksToolbarWindow>('6', "buoy", DTW_BUOY),
|
||||
Hotkey<BuildDocksToolbarWindow>('7', "river", DTW_RIVER),
|
||||
Hotkey<BuildDocksToolbarWindow>(_dockstoolbar_aqueduct_keys, "aqueduct", DTW_BUILD_AQUEDUCT),
|
||||
Hotkey<BuildDocksToolbarWindow>('1', "canal", WID_DT_CANAL),
|
||||
Hotkey<BuildDocksToolbarWindow>('2', "lock", WID_DT_LOCK),
|
||||
Hotkey<BuildDocksToolbarWindow>('3', "demolish", WID_DT_DEMOLISH),
|
||||
Hotkey<BuildDocksToolbarWindow>('4', "depot", WID_DT_DEPOT),
|
||||
Hotkey<BuildDocksToolbarWindow>('5', "dock", WID_DT_STATION),
|
||||
Hotkey<BuildDocksToolbarWindow>('6', "buoy", WID_DT_BUOY),
|
||||
Hotkey<BuildDocksToolbarWindow>('7', "river", WID_DT_RIVER),
|
||||
Hotkey<BuildDocksToolbarWindow>(_dockstoolbar_aqueduct_keys, "aqueduct", WID_DT_BUILD_AQUEDUCT),
|
||||
HOTKEY_LIST_END(BuildDocksToolbarWindow)
|
||||
};
|
||||
Hotkey<BuildDocksToolbarWindow> *_dockstoolbar_hotkeys = BuildDocksToolbarWindow::dockstoolbar_hotkeys;
|
||||
|
||||
/**
|
||||
* Nested widget parts of docks toolbar, game version.
|
||||
* Position of #DTW_RIVER widget has changed.
|
||||
* Position of #WID_DT_RIVER widget has changed.
|
||||
*/
|
||||
static const NWidgetPart _nested_build_docks_toolbar_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
|
@ -305,14 +305,14 @@ static const NWidgetPart _nested_build_docks_toolbar_widgets[] = {
|
|||
NWidget(WWT_STICKYBOX, COLOUR_DARK_GREEN),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL_LTR),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, DTW_CANAL), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUILD_CANAL, STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, DTW_LOCK), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUILD_LOCK, STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_CANAL), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUILD_CANAL, STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_LOCK), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUILD_LOCK, STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetMinimalSize(5, 22), SetFill(1, 1), EndContainer(),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, DTW_DEMOLISH), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_DYNAMITE, STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, DTW_DEPOT), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_SHIP_DEPOT, STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, DTW_STATION), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_SHIP_DOCK, STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, DTW_BUOY), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUOY, STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, DTW_BUILD_AQUEDUCT), SetMinimalSize(23, 22), SetFill(0, 1), SetDataTip(SPR_IMG_AQUEDUCT, STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_DEMOLISH), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_DYNAMITE, STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_DEPOT), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_SHIP_DEPOT, STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_STATION), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_SHIP_DOCK, STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_BUOY), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUOY, STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_BUILD_AQUEDUCT), SetMinimalSize(23, 22), SetFill(0, 1), SetDataTip(SPR_IMG_AQUEDUCT, STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP),
|
||||
EndContainer(),
|
||||
};
|
||||
|
||||
|
@ -349,7 +349,7 @@ EventState DockToolbarGlobalHotkeys(uint16 key, uint16 keycode)
|
|||
|
||||
/**
|
||||
* Nested widget parts of docks toolbar, scenario editor version.
|
||||
* Positions of #DTW_DEPOT, #DTW_STATION, and #DTW_BUOY widgets have changed.
|
||||
* Positions of #WID_DT_DEPOT, #WID_DT_STATION, and #WID_DT_BUOY widgets have changed.
|
||||
*/
|
||||
static const NWidgetPart _nested_build_docks_scen_toolbar_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
|
@ -358,12 +358,12 @@ static const NWidgetPart _nested_build_docks_scen_toolbar_widgets[] = {
|
|||
NWidget(WWT_STICKYBOX, COLOUR_DARK_GREEN),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, DTW_CANAL), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUILD_CANAL, STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, DTW_LOCK), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUILD_LOCK, STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_CANAL), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUILD_CANAL, STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_LOCK), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUILD_LOCK, STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetMinimalSize(5, 22), SetFill(1, 1), EndContainer(),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, DTW_DEMOLISH), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_DYNAMITE, STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, DTW_RIVER), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUILD_RIVER, STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, DTW_BUILD_AQUEDUCT), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_AQUEDUCT, STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_DEMOLISH), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_DYNAMITE, STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_RIVER), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUILD_RIVER, STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_BUILD_AQUEDUCT), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_AQUEDUCT, STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP),
|
||||
EndContainer(),
|
||||
};
|
||||
|
||||
|
|
|
@ -50,10 +50,10 @@ static const NWidgetPart _nested_engine_preview_widgets[] = {
|
|||
NWidget(WWT_CAPTION, COLOUR_LIGHT_BLUE), SetDataTip(STR_ENGINE_PREVIEW_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_LIGHT_BLUE),
|
||||
NWidget(WWT_EMPTY, INVALID_COLOUR, EPW_QUESTION), SetMinimalSize(300, 0), SetPadding(8, 8, 8, 8), SetFill(1, 0),
|
||||
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_EP_QUESTION), SetMinimalSize(300, 0), SetPadding(8, 8, 8, 8), SetFill(1, 0),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(85, 10, 85),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_LIGHT_BLUE, EPW_NO), SetDataTip(STR_QUIT_NO, STR_NULL), SetFill(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_LIGHT_BLUE, EPW_YES), SetDataTip(STR_QUIT_YES, STR_NULL), SetFill(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_LIGHT_BLUE, WID_EP_NO), SetDataTip(STR_QUIT_NO, STR_NULL), SetFill(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_LIGHT_BLUE, WID_EP_YES), SetDataTip(STR_QUIT_YES, STR_NULL), SetFill(1, 0),
|
||||
EndContainer(),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(0, 8),
|
||||
EndContainer(),
|
||||
|
@ -69,7 +69,7 @@ struct EnginePreviewWindow : Window {
|
|||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||
{
|
||||
if (widget != EPW_QUESTION) return;
|
||||
if (widget != WID_EP_QUESTION) return;
|
||||
|
||||
EngineID engine = this->window_number;
|
||||
SetDParam(0, GetEngineCategoryName(engine));
|
||||
|
@ -80,7 +80,7 @@ struct EnginePreviewWindow : Window {
|
|||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const
|
||||
{
|
||||
if (widget != EPW_QUESTION) return;
|
||||
if (widget != WID_EP_QUESTION) return;
|
||||
|
||||
EngineID engine = this->window_number;
|
||||
SetDParam(0, GetEngineCategoryName(engine));
|
||||
|
@ -100,10 +100,10 @@ struct EnginePreviewWindow : Window {
|
|||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case EPW_YES:
|
||||
case WID_EP_YES:
|
||||
DoCommandP(0, this->window_number, 0, CMD_WANT_ENGINE_PREVIEW);
|
||||
/* FALL THROUGH */
|
||||
case EPW_NO:
|
||||
case WID_EP_NO:
|
||||
delete this;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -32,10 +32,10 @@
|
|||
static const NWidgetPart _nested_errmsg_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_RED),
|
||||
NWidget(WWT_CAPTION, COLOUR_RED, EMW_CAPTION), SetDataTip(STR_ERROR_MESSAGE_CAPTION, STR_NULL),
|
||||
NWidget(WWT_CAPTION, COLOUR_RED, WID_EM_CAPTION), SetDataTip(STR_ERROR_MESSAGE_CAPTION, STR_NULL),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_RED),
|
||||
NWidget(WWT_EMPTY, COLOUR_RED, EMW_MESSAGE), SetPadding(0, 2, 0, 2), SetMinimalSize(236, 32),
|
||||
NWidget(WWT_EMPTY, COLOUR_RED, WID_EM_MESSAGE), SetPadding(0, 2, 0, 2), SetMinimalSize(236, 32),
|
||||
EndContainer(),
|
||||
};
|
||||
|
||||
|
@ -49,12 +49,12 @@ static const WindowDesc _errmsg_desc(
|
|||
static const NWidgetPart _nested_errmsg_face_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_RED),
|
||||
NWidget(WWT_CAPTION, COLOUR_RED, EMW_CAPTION), SetDataTip(STR_ERROR_MESSAGE_CAPTION_OTHER_COMPANY, STR_NULL),
|
||||
NWidget(WWT_CAPTION, COLOUR_RED, WID_EM_CAPTION), SetDataTip(STR_ERROR_MESSAGE_CAPTION_OTHER_COMPANY, STR_NULL),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_RED),
|
||||
NWidget(NWID_HORIZONTAL), SetPIP(2, 1, 2),
|
||||
NWidget(WWT_EMPTY, COLOUR_RED, EMW_FACE), SetMinimalSize(92, 119), SetFill(0, 1), SetPadding(2, 0, 1, 0),
|
||||
NWidget(WWT_EMPTY, COLOUR_RED, EMW_MESSAGE), SetFill(0, 1), SetMinimalSize(238, 123),
|
||||
NWidget(WWT_EMPTY, COLOUR_RED, WID_EM_FACE), SetMinimalSize(92, 119), SetFill(0, 1), SetPadding(2, 0, 1, 0),
|
||||
NWidget(WWT_EMPTY, COLOUR_RED, WID_EM_MESSAGE), SetFill(0, 1), SetMinimalSize(238, 123),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
};
|
||||
|
@ -141,8 +141,8 @@ bool _window_system_initialized = false;
|
|||
/** Window class for displaying an error message window. */
|
||||
struct ErrmsgWindow : public Window, ErrorMessageData {
|
||||
private:
|
||||
uint height_summary; ///< Height of the #summary_msg string in pixels in the #EMW_MESSAGE widget.
|
||||
uint height_detailed; ///< Height of the #detailed_msg string in pixels in the #EMW_MESSAGE widget.
|
||||
uint height_summary; ///< Height of the #summary_msg string in pixels in the #WID_EM_MESSAGE widget.
|
||||
uint height_detailed; ///< Height of the #detailed_msg string in pixels in the #WID_EM_MESSAGE widget.
|
||||
|
||||
public:
|
||||
ErrmsgWindow(const ErrorMessageData &data) : Window(), ErrorMessageData(data)
|
||||
|
@ -152,7 +152,7 @@ public:
|
|||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||
{
|
||||
if (widget != EMW_MESSAGE) return;
|
||||
if (widget != WID_EM_MESSAGE) return;
|
||||
|
||||
CopyInDParam(0, this->decode_params, lengthof(this->decode_params));
|
||||
if (this->textref_stack_size > 0) StartTextRefStackUsage(this->textref_stack_size, this->textref_stack);
|
||||
|
@ -213,19 +213,19 @@ public:
|
|||
|
||||
virtual void SetStringParameters(int widget) const
|
||||
{
|
||||
if (widget == EMW_CAPTION) CopyInDParam(0, this->decode_params, lengthof(this->decode_params));
|
||||
if (widget == WID_EM_CAPTION) CopyInDParam(0, this->decode_params, lengthof(this->decode_params));
|
||||
}
|
||||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const
|
||||
{
|
||||
switch (widget) {
|
||||
case EMW_FACE: {
|
||||
case WID_EM_FACE: {
|
||||
const Company *c = Company::Get(this->face);
|
||||
DrawCompanyManagerFace(c->face, c->colour, r.left, r.top);
|
||||
break;
|
||||
}
|
||||
|
||||
case EMW_MESSAGE:
|
||||
case WID_EM_MESSAGE:
|
||||
CopyInDParam(0, this->decode_params, lengthof(this->decode_params));
|
||||
if (this->textref_stack_size > 0) StartTextRefStackUsage(this->textref_stack_size, this->textref_stack);
|
||||
|
||||
|
|
150
src/fios_gui.cpp
150
src/fios_gui.cpp
|
@ -71,37 +71,37 @@ void LoadCheckData::Clear()
|
|||
static const NWidgetPart _nested_load_dialog_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY, SLWW_WINDOWTITLE),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY, WID_SL_CAPTION),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, SLWW_BACKGROUND), SetFill(1, 0), SetResize(1, 0), EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_SL_BACKGROUND), SetFill(1, 0), SetResize(1, 0), EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_SORT_BYNAME), SetDataTip(STR_SORT_BY_CAPTION_NAME, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_SORT_BYDATE), SetDataTip(STR_SORT_BY_CAPTION_DATE, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SL_SORT_BYNAME), SetDataTip(STR_SORT_BY_CAPTION_NAME, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SL_SORT_BYDATE), SetDataTip(STR_SORT_BY_CAPTION_DATE, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0), SetResize(1, 0),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, SLWW_HOME_BUTTON), SetMinimalSize(12, 12), SetDataTip(SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_SL_HOME_BUTTON), SetMinimalSize(12, 12), SetDataTip(SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, SLWW_FILE_BACKGROUND),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_SL_FILE_BACKGROUND),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_INSET, COLOUR_GREY, SLWW_DRIVES_DIRECTORIES_LIST), SetFill(1, 1), SetPadding(2, 1, 2, 2),
|
||||
SetDataTip(0x0, STR_SAVELOAD_LIST_TOOLTIP), SetResize(1, 10), SetScrollbar(SLWW_SCROLLBAR), EndContainer(),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, SLWW_SCROLLBAR),
|
||||
NWidget(WWT_INSET, COLOUR_GREY, WID_SL_DRIVES_DIRECTORIES_LIST), SetFill(1, 1), SetPadding(2, 1, 2, 2),
|
||||
SetDataTip(0x0, STR_SAVELOAD_LIST_TOOLTIP), SetResize(1, 10), SetScrollbar(WID_SL_SCROLLBAR), EndContainer(),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_SL_SCROLLBAR),
|
||||
EndContainer(),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, SLWW_CONTENT_DOWNLOAD_SEL),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_CONTENT_DOWNLOAD), SetResize(1, 0),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_SL_CONTENT_DOWNLOAD_SEL),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SL_CONTENT_DOWNLOAD), SetResize(1, 0),
|
||||
SetDataTip(STR_INTRO_ONLINE_CONTENT, STR_INTRO_TOOLTIP_ONLINE_CONTENT),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY),
|
||||
NWidget(WWT_EMPTY, INVALID_COLOUR, SLWW_DETAILS), SetResize(1, 1), SetFill(1, 1),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_MISSING_NEWGRFS), SetDataTip(STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON, STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_SL_DETAILS), SetResize(1, 1), SetFill(1, 1),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SL_MISSING_NEWGRFS), SetDataTip(STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON, STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_NEWGRF_INFO), SetDataTip(STR_INTRO_NEWGRF_SETTINGS, STR_NULL), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_LOAD_BUTTON), SetDataTip(STR_SAVELOAD_LOAD_BUTTON, STR_SAVELOAD_LOAD_TOOLTIP), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SL_NEWGRF_INFO), SetDataTip(STR_INTRO_NEWGRF_SETTINGS, STR_NULL), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SL_LOAD_BUTTON), SetDataTip(STR_SAVELOAD_LOAD_BUTTON, STR_SAVELOAD_LOAD_TOOLTIP), SetFill(1, 0), SetResize(1, 0),
|
||||
EndContainer(),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
|
@ -113,25 +113,25 @@ static const NWidgetPart _nested_load_dialog_widgets[] = {
|
|||
static const NWidgetPart _nested_load_heightmap_dialog_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY, SLWW_WINDOWTITLE),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY, WID_SL_CAPTION),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, SLWW_BACKGROUND), SetFill(1, 0), SetResize(1, 0), EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_SL_BACKGROUND), SetFill(1, 0), SetResize(1, 0), EndContainer(),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_SORT_BYNAME), SetDataTip(STR_SORT_BY_CAPTION_NAME, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_SORT_BYDATE), SetDataTip(STR_SORT_BY_CAPTION_DATE, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SL_SORT_BYNAME), SetDataTip(STR_SORT_BY_CAPTION_NAME, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SL_SORT_BYDATE), SetDataTip(STR_SORT_BY_CAPTION_DATE, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0), SetResize(1, 0),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, SLWW_HOME_BUTTON), SetMinimalSize(12, 12), SetDataTip(SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_SL_HOME_BUTTON), SetMinimalSize(12, 12), SetDataTip(SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, SLWW_FILE_BACKGROUND),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_SL_FILE_BACKGROUND),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_INSET, COLOUR_GREY, SLWW_DRIVES_DIRECTORIES_LIST), SetFill(1, 1), SetPadding(2, 1, 2, 2),
|
||||
SetDataTip(0x0, STR_SAVELOAD_LIST_TOOLTIP), SetResize(1, 10), SetScrollbar(SLWW_SCROLLBAR), EndContainer(),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, SLWW_SCROLLBAR),
|
||||
NWidget(WWT_INSET, COLOUR_GREY, WID_SL_DRIVES_DIRECTORIES_LIST), SetFill(1, 1), SetPadding(2, 1, 2, 2),
|
||||
SetDataTip(0x0, STR_SAVELOAD_LIST_TOOLTIP), SetResize(1, 10), SetScrollbar(WID_SL_SCROLLBAR), EndContainer(),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_SL_SCROLLBAR),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_CONTENT_DOWNLOAD), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SL_CONTENT_DOWNLOAD), SetResize(1, 0),
|
||||
SetDataTip(STR_INTRO_ONLINE_CONTENT, STR_INTRO_TOOLTIP_ONLINE_CONTENT),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
|
@ -143,34 +143,34 @@ static const NWidgetPart _nested_load_heightmap_dialog_widgets[] = {
|
|||
static const NWidgetPart _nested_save_dialog_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY, SLWW_WINDOWTITLE),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY, WID_SL_CAPTION),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, SLWW_BACKGROUND), SetFill(1, 0), SetResize(1, 0), EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_SL_BACKGROUND), SetFill(1, 0), SetResize(1, 0), EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_SORT_BYNAME), SetDataTip(STR_SORT_BY_CAPTION_NAME, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_SORT_BYDATE), SetDataTip(STR_SORT_BY_CAPTION_DATE, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SL_SORT_BYNAME), SetDataTip(STR_SORT_BY_CAPTION_NAME, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SL_SORT_BYDATE), SetDataTip(STR_SORT_BY_CAPTION_DATE, STR_TOOLTIP_SORT_ORDER), SetFill(1, 0), SetResize(1, 0),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, SLWW_HOME_BUTTON), SetMinimalSize(12, 12), SetDataTip(SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_SL_HOME_BUTTON), SetMinimalSize(12, 12), SetDataTip(SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, SLWW_FILE_BACKGROUND),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_SL_FILE_BACKGROUND),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_INSET, COLOUR_GREY, SLWW_DRIVES_DIRECTORIES_LIST), SetPadding(2, 1, 0, 2),
|
||||
SetDataTip(0x0, STR_SAVELOAD_LIST_TOOLTIP), SetResize(1, 10), SetScrollbar(SLWW_SCROLLBAR), EndContainer(),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, SLWW_SCROLLBAR),
|
||||
NWidget(WWT_INSET, COLOUR_GREY, WID_SL_DRIVES_DIRECTORIES_LIST), SetPadding(2, 1, 0, 2),
|
||||
SetDataTip(0x0, STR_SAVELOAD_LIST_TOOLTIP), SetResize(1, 10), SetScrollbar(WID_SL_SCROLLBAR), EndContainer(),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_SL_SCROLLBAR),
|
||||
EndContainer(),
|
||||
NWidget(WWT_EDITBOX, COLOUR_GREY, SLWW_SAVE_OSK_TITLE), SetPadding(3, 2, 2, 2), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_EDITBOX, COLOUR_GREY, WID_SL_SAVE_OSK_TITLE), SetPadding(3, 2, 2, 2), SetFill(1, 0), SetResize(1, 0),
|
||||
SetDataTip(STR_SAVELOAD_OSKTITLE, STR_SAVELOAD_EDITBOX_TOOLTIP),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_DELETE_SELECTION), SetDataTip(STR_SAVELOAD_DELETE_BUTTON, STR_SAVELOAD_DELETE_TOOLTIP), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_SAVE_GAME), SetDataTip(STR_SAVELOAD_SAVE_BUTTON, STR_SAVELOAD_SAVE_TOOLTIP), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SL_DELETE_SELECTION), SetDataTip(STR_SAVELOAD_DELETE_BUTTON, STR_SAVELOAD_DELETE_TOOLTIP), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SL_SAVE_GAME), SetDataTip(STR_SAVELOAD_SAVE_BUTTON, STR_SAVELOAD_SAVE_TOOLTIP), SetFill(1, 0), SetResize(1, 0),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY),
|
||||
NWidget(WWT_EMPTY, INVALID_COLOUR, SLWW_DETAILS), SetResize(1, 1), SetFill(1, 1),
|
||||
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_SL_DETAILS), SetResize(1, 1), SetFill(1, 1),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_SPACER), SetResize(1, 0), SetFill(1, 1),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY),
|
||||
|
@ -265,13 +265,13 @@ public:
|
|||
InitializeTextBuffer(&this->text, this->edit_str_buf, this->edit_str_size);
|
||||
|
||||
this->CreateNestedTree(desc, true);
|
||||
if (mode == SLD_LOAD_GAME) this->GetWidget<NWidgetStacked>(SLWW_CONTENT_DOWNLOAD_SEL)->SetDisplayedPlane(SZSP_HORIZONTAL);
|
||||
this->GetWidget<NWidgetCore>(SLWW_WINDOWTITLE)->widget_data = saveload_captions[mode];
|
||||
this->vscroll = this->GetScrollbar(SLWW_SCROLLBAR);
|
||||
if (mode == SLD_LOAD_GAME) this->GetWidget<NWidgetStacked>(WID_SL_CONTENT_DOWNLOAD_SEL)->SetDisplayedPlane(SZSP_HORIZONTAL);
|
||||
this->GetWidget<NWidgetCore>(WID_SL_CAPTION)->widget_data = saveload_captions[mode];
|
||||
this->vscroll = this->GetScrollbar(WID_SL_SCROLLBAR);
|
||||
|
||||
this->FinishInitNested(desc, 0);
|
||||
|
||||
this->LowerWidget(SLWW_DRIVES_DIRECTORIES_LIST);
|
||||
this->LowerWidget(WID_SL_DRIVES_DIRECTORIES_LIST);
|
||||
|
||||
/* pause is only used in single-player, non-editor mode, non-menu mode. It
|
||||
* will be unpaused in the WE_DESTROY event handler. */
|
||||
|
@ -307,7 +307,7 @@ public:
|
|||
|
||||
/* Focus the edit box by default in the save windows */
|
||||
if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO || _saveload_mode == SLD_SAVE_HEIGHTMAP) {
|
||||
this->SetFocusedWidget(SLWW_SAVE_OSK_TITLE);
|
||||
this->SetFocusedWidget(WID_SL_SAVE_OSK_TITLE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -323,14 +323,14 @@ public:
|
|||
virtual void DrawWidget(const Rect &r, int widget) const
|
||||
{
|
||||
switch (widget) {
|
||||
case SLWW_SORT_BYNAME:
|
||||
case SLWW_SORT_BYDATE:
|
||||
if (((_savegame_sort_order & SORT_BY_NAME) != 0) == (widget == SLWW_SORT_BYNAME)) {
|
||||
case WID_SL_SORT_BYNAME:
|
||||
case WID_SL_SORT_BYDATE:
|
||||
if (((_savegame_sort_order & SORT_BY_NAME) != 0) == (widget == WID_SL_SORT_BYNAME)) {
|
||||
this->DrawSortButtonState(widget, _savegame_sort_order & SORT_DESCENDING ? SBS_DOWN : SBS_UP);
|
||||
}
|
||||
break;
|
||||
|
||||
case SLWW_BACKGROUND: {
|
||||
case WID_SL_BACKGROUND: {
|
||||
static const char *path = NULL;
|
||||
static StringID str = STR_ERROR_UNABLE_TO_READ_DRIVE;
|
||||
static uint64 tot = 0;
|
||||
|
@ -346,7 +346,7 @@ public:
|
|||
break;
|
||||
}
|
||||
|
||||
case SLWW_DRIVES_DIRECTORIES_LIST: {
|
||||
case WID_SL_DRIVES_DIRECTORIES_LIST: {
|
||||
GfxFillRect(r.left + 1, r.top + 1, r.right, r.bottom, PC_BLACK);
|
||||
|
||||
uint y = r.top + WD_FRAMERECT_TOP;
|
||||
|
@ -363,7 +363,7 @@ public:
|
|||
break;
|
||||
}
|
||||
|
||||
case SLWW_DETAILS: {
|
||||
case WID_SL_DETAILS: {
|
||||
GfxFillRect(r.left + WD_FRAMERECT_LEFT, r.top + WD_FRAMERECT_TOP,
|
||||
r.right - WD_FRAMERECT_RIGHT, r.top + FONT_HEIGHT_NORMAL * 2 + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM, PC_GREY);
|
||||
DrawString(r.left, r.right, r.top + FONT_HEIGHT_NORMAL / 2 + WD_FRAMERECT_TOP, STR_SAVELOAD_DETAIL_CAPTION, TC_FROMSTRING, SA_HOR_CENTER);
|
||||
|
@ -462,16 +462,16 @@ public:
|
|||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||
{
|
||||
switch (widget) {
|
||||
case SLWW_BACKGROUND:
|
||||
case WID_SL_BACKGROUND:
|
||||
size->height = 2 * FONT_HEIGHT_NORMAL + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM;
|
||||
break;
|
||||
|
||||
case SLWW_DRIVES_DIRECTORIES_LIST:
|
||||
case WID_SL_DRIVES_DIRECTORIES_LIST:
|
||||
resize->height = FONT_HEIGHT_NORMAL;
|
||||
size->height = resize->height * 10 + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM;
|
||||
break;
|
||||
case SLWW_SORT_BYNAME:
|
||||
case SLWW_SORT_BYDATE: {
|
||||
case WID_SL_SORT_BYNAME:
|
||||
case WID_SL_SORT_BYDATE: {
|
||||
Dimension d = GetStringBoundingBox(this->GetWidget<NWidgetCore>(widget)->widget_data);
|
||||
d.width += padding.width + WD_SORTBUTTON_ARROW_WIDTH * 2; // Doubled since the string is centred and it also looks better.
|
||||
d.height += padding.height;
|
||||
|
@ -492,33 +492,33 @@ public:
|
|||
this->DrawWidgets();
|
||||
|
||||
if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO || _saveload_mode == SLD_SAVE_HEIGHTMAP) {
|
||||
this->DrawEditBox(SLWW_SAVE_OSK_TITLE);
|
||||
this->DrawEditBox(WID_SL_SAVE_OSK_TITLE);
|
||||
}
|
||||
}
|
||||
|
||||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case SLWW_SORT_BYNAME: // Sort save names by name
|
||||
case WID_SL_SORT_BYNAME: // Sort save names by name
|
||||
_savegame_sort_order = (_savegame_sort_order == SORT_BY_NAME) ?
|
||||
SORT_BY_NAME | SORT_DESCENDING : SORT_BY_NAME;
|
||||
_savegame_sort_dirty = true;
|
||||
this->SetDirty();
|
||||
break;
|
||||
|
||||
case SLWW_SORT_BYDATE: // Sort save names by date
|
||||
case WID_SL_SORT_BYDATE: // Sort save names by date
|
||||
_savegame_sort_order = (_savegame_sort_order == SORT_BY_DATE) ?
|
||||
SORT_BY_DATE | SORT_DESCENDING : SORT_BY_DATE;
|
||||
_savegame_sort_dirty = true;
|
||||
this->SetDirty();
|
||||
break;
|
||||
|
||||
case SLWW_HOME_BUTTON: // OpenTTD 'button', jumps to OpenTTD directory
|
||||
case WID_SL_HOME_BUTTON: // OpenTTD 'button', jumps to OpenTTD directory
|
||||
FiosBrowseTo(&o_dir);
|
||||
this->InvalidateData();
|
||||
break;
|
||||
|
||||
case SLWW_LOAD_BUTTON:
|
||||
case WID_SL_LOAD_BUTTON:
|
||||
if (this->selected != NULL && !_load_check_data.HasErrors() && (_load_check_data.grf_compatibility != GLC_NOT_FOUND || _settings_client.gui.UserIsAllowedToChangeNewGRFs())) {
|
||||
_switch_mode = (_game_mode == GM_EDITOR) ? SM_LOAD_SCENARIO : SM_LOAD_GAME;
|
||||
|
||||
|
@ -532,13 +532,13 @@ public:
|
|||
}
|
||||
break;
|
||||
|
||||
case SLWW_NEWGRF_INFO:
|
||||
case WID_SL_NEWGRF_INFO:
|
||||
if (_load_check_data.HasNewGrfs()) {
|
||||
ShowNewGRFSettings(false, false, false, &_load_check_data.grfconfig);
|
||||
}
|
||||
break;
|
||||
|
||||
case SLWW_MISSING_NEWGRFS:
|
||||
case WID_SL_MISSING_NEWGRFS:
|
||||
if (!_network_available) {
|
||||
ShowErrorMessage(STR_NETWORK_ERROR_NOTAVAILABLE, INVALID_STRING_ID, WL_ERROR);
|
||||
} else {
|
||||
|
@ -548,8 +548,8 @@ public:
|
|||
}
|
||||
break;
|
||||
|
||||
case SLWW_DRIVES_DIRECTORIES_LIST: { // Click the listbox
|
||||
int y = this->vscroll->GetScrolledRowFromWidget(pt.y, this, SLWW_DRIVES_DIRECTORIES_LIST, WD_FRAMERECT_TOP);
|
||||
case WID_SL_DRIVES_DIRECTORIES_LIST: { // Click the listbox
|
||||
int y = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_SL_DRIVES_DIRECTORIES_LIST, WD_FRAMERECT_TOP);
|
||||
if (y == INT_MAX) return;
|
||||
|
||||
const FiosItem *file = _fios_items.Get(y);
|
||||
|
@ -571,12 +571,12 @@ public:
|
|||
/* Copy clicked name to editbox */
|
||||
ttd_strlcpy(this->text.buf, file->title, this->text.max_bytes);
|
||||
UpdateTextBufferSize(&this->text);
|
||||
this->SetWidgetDirty(SLWW_SAVE_OSK_TITLE);
|
||||
this->SetWidgetDirty(WID_SL_SAVE_OSK_TITLE);
|
||||
}
|
||||
} else if (!_load_check_data.HasErrors()) {
|
||||
this->selected = file;
|
||||
if (_saveload_mode == SLD_LOAD_GAME || _saveload_mode == SLD_LOAD_SCENARIO) {
|
||||
this->OnClick(pt, SLWW_LOAD_BUTTON, 1);
|
||||
this->OnClick(pt, WID_SL_LOAD_BUTTON, 1);
|
||||
} else if (_saveload_mode == SLD_LOAD_HEIGHTMAP) {
|
||||
SetFiosType(file->type);
|
||||
strecpy(_file_to_saveload.name, name, lastof(_file_to_saveload.name));
|
||||
|
@ -593,7 +593,7 @@ public:
|
|||
break;
|
||||
}
|
||||
|
||||
case SLWW_CONTENT_DOWNLOAD:
|
||||
case WID_SL_CONTENT_DOWNLOAD:
|
||||
if (!_network_available) {
|
||||
ShowErrorMessage(STR_NETWORK_ERROR_NOTAVAILABLE, INVALID_STRING_ID, WL_ERROR);
|
||||
} else {
|
||||
|
@ -607,7 +607,7 @@ public:
|
|||
}
|
||||
break;
|
||||
|
||||
case SLWW_DELETE_SELECTION: case SLWW_SAVE_GAME: // Delete, Save game
|
||||
case WID_SL_DELETE_SELECTION: case WID_SL_SAVE_GAME: // Delete, Save game
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -615,7 +615,7 @@ public:
|
|||
virtual void OnMouseLoop()
|
||||
{
|
||||
if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO || _saveload_mode == SLD_SAVE_HEIGHTMAP) {
|
||||
this->HandleEditBox(SLWW_SAVE_OSK_TITLE);
|
||||
this->HandleEditBox(WID_SL_SAVE_OSK_TITLE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -628,8 +628,8 @@ public:
|
|||
|
||||
EventState state = ES_NOT_HANDLED;
|
||||
if ((_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO || _saveload_mode == SLD_SAVE_HEIGHTMAP) &&
|
||||
this->HandleEditBoxKey(SLWW_SAVE_OSK_TITLE, key, keycode, state) == HEBR_CONFIRM) {
|
||||
this->HandleButtonClick(SLWW_SAVE_GAME);
|
||||
this->HandleEditBoxKey(WID_SL_SAVE_OSK_TITLE, key, keycode, state) == HEBR_CONFIRM) {
|
||||
this->HandleButtonClick(WID_SL_SAVE_GAME);
|
||||
}
|
||||
|
||||
return state;
|
||||
|
@ -641,7 +641,7 @@ public:
|
|||
* in those saveload modes. */
|
||||
if (!(_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO || _saveload_mode == SLD_SAVE_HEIGHTMAP)) return;
|
||||
|
||||
if (this->IsWidgetLowered(SLWW_DELETE_SELECTION)) { // Delete button clicked
|
||||
if (this->IsWidgetLowered(WID_SL_DELETE_SELECTION)) { // Delete button clicked
|
||||
if (!FiosDelete(this->text.buf)) {
|
||||
ShowErrorMessage(STR_ERROR_UNABLE_TO_DELETE_FILE, INVALID_STRING_ID, WL_ERROR);
|
||||
} else {
|
||||
|
@ -651,7 +651,7 @@ public:
|
|||
}
|
||||
|
||||
UpdateTextBufferSize(&this->text);
|
||||
} else if (this->IsWidgetLowered(SLWW_SAVE_GAME)) { // Save button clicked
|
||||
} else if (this->IsWidgetLowered(WID_SL_SAVE_GAME)) { // Save button clicked
|
||||
if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO) {
|
||||
_switch_mode = SM_SAVE_GAME;
|
||||
FiosMakeSavegameName(_file_to_saveload.name, this->text.buf, sizeof(_file_to_saveload.name));
|
||||
|
@ -667,7 +667,7 @@ public:
|
|||
|
||||
virtual void OnResize()
|
||||
{
|
||||
this->vscroll->SetCapacityFromWidget(this, SLWW_DRIVES_DIRECTORIES_LIST);
|
||||
this->vscroll->SetCapacityFromWidget(this, WID_SL_DRIVES_DIRECTORIES_LIST);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -689,11 +689,11 @@ public:
|
|||
/* Selection changes */
|
||||
if (!gui_scope) break;
|
||||
if (_saveload_mode == SLD_LOAD_GAME || _saveload_mode == SLD_LOAD_SCENARIO) {
|
||||
this->SetWidgetDisabledState(SLWW_LOAD_BUTTON,
|
||||
this->SetWidgetDisabledState(WID_SL_LOAD_BUTTON,
|
||||
this->selected == NULL || _load_check_data.HasErrors() || !(_load_check_data.grf_compatibility != GLC_NOT_FOUND || _settings_client.gui.UserIsAllowedToChangeNewGRFs()));
|
||||
this->SetWidgetDisabledState(SLWW_NEWGRF_INFO,
|
||||
this->SetWidgetDisabledState(WID_SL_NEWGRF_INFO,
|
||||
!_load_check_data.HasNewGrfs());
|
||||
this->SetWidgetDisabledState(SLWW_MISSING_NEWGRFS,
|
||||
this->SetWidgetDisabledState(WID_SL_MISSING_NEWGRFS,
|
||||
!_load_check_data.HasNewGrfs() || _load_check_data.grf_compatibility == GLC_ALL_GOOD);
|
||||
}
|
||||
break;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -48,7 +48,7 @@ struct GraphLegendWindow : Window {
|
|||
this->InitNested(desc, window_number);
|
||||
|
||||
for (CompanyID c = COMPANY_FIRST; c < MAX_COMPANIES; c++) {
|
||||
if (!HasBit(_legend_excluded_companies, c)) this->LowerWidget(c + GLW_FIRST_COMPANY);
|
||||
if (!HasBit(_legend_excluded_companies, c)) this->LowerWidget(c + WID_GL_FIRST_COMPANY);
|
||||
|
||||
this->OnInvalidateData(c);
|
||||
}
|
||||
|
@ -56,9 +56,9 @@ struct GraphLegendWindow : Window {
|
|||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const
|
||||
{
|
||||
if (!IsInsideMM(widget, GLW_FIRST_COMPANY, MAX_COMPANIES + GLW_FIRST_COMPANY)) return;
|
||||
if (!IsInsideMM(widget, WID_GL_FIRST_COMPANY, MAX_COMPANIES + WID_GL_FIRST_COMPANY)) return;
|
||||
|
||||
CompanyID cid = (CompanyID)(widget - GLW_FIRST_COMPANY);
|
||||
CompanyID cid = (CompanyID)(widget - WID_GL_FIRST_COMPANY);
|
||||
|
||||
if (!Company::IsValidID(cid)) return;
|
||||
|
||||
|
@ -74,9 +74,9 @@ struct GraphLegendWindow : Window {
|
|||
|
||||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
if (!IsInsideMM(widget, GLW_FIRST_COMPANY, MAX_COMPANIES + GLW_FIRST_COMPANY)) return;
|
||||
if (!IsInsideMM(widget, WID_GL_FIRST_COMPANY, MAX_COMPANIES + WID_GL_FIRST_COMPANY)) return;
|
||||
|
||||
ToggleBit(_legend_excluded_companies, widget - GLW_FIRST_COMPANY);
|
||||
ToggleBit(_legend_excluded_companies, widget - WID_GL_FIRST_COMPANY);
|
||||
this->ToggleWidgetLoweredState(widget);
|
||||
this->SetDirty();
|
||||
InvalidateWindowData(WC_INCOME_GRAPH, 0);
|
||||
|
@ -97,7 +97,7 @@ struct GraphLegendWindow : Window {
|
|||
if (Company::IsValidID(data)) return;
|
||||
|
||||
SetBit(_legend_excluded_companies, data);
|
||||
this->RaiseWidget(data + GLW_FIRST_COMPANY);
|
||||
this->RaiseWidget(data + WID_GL_FIRST_COMPANY);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -112,14 +112,14 @@ static NWidgetBase *MakeNWidgetCompanyLines(int *biggest_index)
|
|||
NWidgetVertical *vert = new NWidgetVertical();
|
||||
uint line_height = max<uint>(GetSpriteSize(SPR_COMPANY_ICON).height, FONT_HEIGHT_NORMAL) + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM;
|
||||
|
||||
for (int widnum = GLW_FIRST_COMPANY; widnum <= GLW_LAST_COMPANY; widnum++) {
|
||||
for (int widnum = WID_GL_FIRST_COMPANY; widnum <= WID_GL_LAST_COMPANY; widnum++) {
|
||||
NWidgetBackground *panel = new NWidgetBackground(WWT_PANEL, COLOUR_GREY, widnum);
|
||||
panel->SetMinimalSize(246, line_height);
|
||||
panel->SetFill(1, 0);
|
||||
panel->SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP);
|
||||
vert->Add(panel);
|
||||
}
|
||||
*biggest_index = GLW_LAST_COMPANY;
|
||||
*biggest_index = WID_GL_LAST_COMPANY;
|
||||
return vert;
|
||||
}
|
||||
|
||||
|
@ -130,7 +130,7 @@ static const NWidgetPart _nested_graph_legend_widgets[] = {
|
|||
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, GLW_BACKGROUND),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_GL_BACKGROUND),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(0, 2),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(2, 0),
|
||||
|
@ -532,7 +532,7 @@ public:
|
|||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
/* Clicked on legend? */
|
||||
if (widget == BGW_KEY_BUTTON) ShowGraphLegend();
|
||||
if (widget == WID_CV_KEY_BUTTON) ShowGraphLegend();
|
||||
}
|
||||
|
||||
virtual void OnTick()
|
||||
|
@ -612,7 +612,7 @@ public:
|
|||
|
||||
struct OperatingProfitGraphWindow : BaseGraphWindow {
|
||||
OperatingProfitGraphWindow(const WindowDesc *desc, WindowNumber window_number) :
|
||||
BaseGraphWindow(BGW_GRAPH, STR_JUST_CURRENCY_SHORT)
|
||||
BaseGraphWindow(WID_CV_GRAPH, STR_JUST_CURRENCY_SHORT)
|
||||
{
|
||||
this->InitializeWindow(desc, window_number);
|
||||
}
|
||||
|
@ -627,16 +627,16 @@ static const NWidgetPart _nested_operating_profit_widgets[] = {
|
|||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GRAPH_OPERATING_PROFIT_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, BGW_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, BGW_BACKGROUND),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_CV_BACKGROUND),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_EMPTY, COLOUR_GREY, BGW_GRAPH), SetMinimalSize(576, 160), SetFill(1, 1), SetResize(1, 1),
|
||||
NWidget(WWT_EMPTY, COLOUR_GREY, WID_CV_GRAPH), SetMinimalSize(576, 160), SetFill(1, 1), SetResize(1, 1),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(NWID_SPACER), SetFill(0, 1), SetResize(0, 1),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY, BGW_RESIZE),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY, WID_CV_RESIZE),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
|
@ -662,7 +662,7 @@ void ShowOperatingProfitGraph()
|
|||
|
||||
struct IncomeGraphWindow : BaseGraphWindow {
|
||||
IncomeGraphWindow(const WindowDesc *desc, WindowNumber window_number) :
|
||||
BaseGraphWindow(BGW_GRAPH, STR_JUST_CURRENCY_SHORT)
|
||||
BaseGraphWindow(WID_CV_GRAPH, STR_JUST_CURRENCY_SHORT)
|
||||
{
|
||||
this->InitializeWindow(desc, window_number);
|
||||
}
|
||||
|
@ -677,16 +677,16 @@ static const NWidgetPart _nested_income_graph_widgets[] = {
|
|||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GRAPH_INCOME_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, BGW_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, BGW_BACKGROUND),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_CV_BACKGROUND),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_EMPTY, COLOUR_GREY, BGW_GRAPH), SetMinimalSize(576, 128), SetFill(1, 1), SetResize(1, 1),
|
||||
NWidget(WWT_EMPTY, COLOUR_GREY, WID_CV_GRAPH), SetMinimalSize(576, 128), SetFill(1, 1), SetResize(1, 1),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(NWID_SPACER), SetFill(0, 1), SetResize(0, 1),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY, BGW_RESIZE),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY, WID_CV_RESIZE),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
|
@ -710,7 +710,7 @@ void ShowIncomeGraph()
|
|||
|
||||
struct DeliveredCargoGraphWindow : BaseGraphWindow {
|
||||
DeliveredCargoGraphWindow(const WindowDesc *desc, WindowNumber window_number) :
|
||||
BaseGraphWindow(BGW_GRAPH, STR_JUST_COMMA)
|
||||
BaseGraphWindow(WID_CV_GRAPH, STR_JUST_COMMA)
|
||||
{
|
||||
this->InitializeWindow(desc, window_number);
|
||||
}
|
||||
|
@ -725,16 +725,16 @@ static const NWidgetPart _nested_delivered_cargo_graph_widgets[] = {
|
|||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GRAPH_CARGO_DELIVERED_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, BGW_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, BGW_BACKGROUND),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_CV_BACKGROUND),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_EMPTY, COLOUR_GREY, BGW_GRAPH), SetMinimalSize(576, 128), SetFill(1, 1), SetResize(1, 1),
|
||||
NWidget(WWT_EMPTY, COLOUR_GREY, WID_CV_GRAPH), SetMinimalSize(576, 128), SetFill(1, 1), SetResize(1, 1),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(NWID_SPACER), SetFill(0, 1), SetResize(0, 1),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY, BGW_RESIZE),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY, WID_CV_RESIZE),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
|
@ -758,7 +758,7 @@ void ShowDeliveredCargoGraph()
|
|||
|
||||
struct PerformanceHistoryGraphWindow : BaseGraphWindow {
|
||||
PerformanceHistoryGraphWindow(const WindowDesc *desc, WindowNumber window_number) :
|
||||
BaseGraphWindow(PHW_GRAPH, STR_JUST_COMMA)
|
||||
BaseGraphWindow(WID_PHG_GRAPH, STR_JUST_COMMA)
|
||||
{
|
||||
this->InitializeWindow(desc, window_number);
|
||||
}
|
||||
|
@ -770,7 +770,7 @@ struct PerformanceHistoryGraphWindow : BaseGraphWindow {
|
|||
|
||||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
if (widget == PHW_DETAILED_PERFORMANCE) ShowPerformanceRatingDetail();
|
||||
if (widget == WID_PHG_DETAILED_PERFORMANCE) ShowPerformanceRatingDetail();
|
||||
this->BaseGraphWindow::OnClick(pt, widget, click_count);
|
||||
}
|
||||
};
|
||||
|
@ -779,17 +779,17 @@ static const NWidgetPart _nested_performance_history_widgets[] = {
|
|||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, PHW_DETAILED_PERFORMANCE), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_PERFORMANCE_DETAIL_KEY, STR_GRAPH_PERFORMANCE_DETAIL_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, PHW_KEY), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_PHG_DETAILED_PERFORMANCE), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_PERFORMANCE_DETAIL_KEY, STR_GRAPH_PERFORMANCE_DETAIL_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_PHG_KEY), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, PHW_BACKGROUND),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_PHG_BACKGROUND),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_EMPTY, COLOUR_GREY, PHW_GRAPH), SetMinimalSize(576, 224), SetFill(1, 1), SetResize(1, 1),
|
||||
NWidget(WWT_EMPTY, COLOUR_GREY, WID_PHG_GRAPH), SetMinimalSize(576, 224), SetFill(1, 1), SetResize(1, 1),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(NWID_SPACER), SetFill(0, 1), SetResize(0, 1),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY, PHW_RESIZE),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY, WID_PHG_RESIZE),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
|
@ -813,7 +813,7 @@ void ShowPerformanceHistoryGraph()
|
|||
|
||||
struct CompanyValueGraphWindow : BaseGraphWindow {
|
||||
CompanyValueGraphWindow(const WindowDesc *desc, WindowNumber window_number) :
|
||||
BaseGraphWindow(BGW_GRAPH, STR_JUST_CURRENCY_SHORT)
|
||||
BaseGraphWindow(WID_CV_GRAPH, STR_JUST_CURRENCY_SHORT)
|
||||
{
|
||||
this->InitializeWindow(desc, window_number);
|
||||
}
|
||||
|
@ -828,16 +828,16 @@ static const NWidgetPart _nested_company_value_graph_widgets[] = {
|
|||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GRAPH_COMPANY_VALUES_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, BGW_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
||||
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, BGW_BACKGROUND),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_CV_BACKGROUND),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_EMPTY, COLOUR_GREY, BGW_GRAPH), SetMinimalSize(576, 224), SetFill(1, 1), SetResize(1, 1),
|
||||
NWidget(WWT_EMPTY, COLOUR_GREY, WID_CV_GRAPH), SetMinimalSize(576, 224), SetFill(1, 1), SetResize(1, 1),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(NWID_SPACER), SetFill(0, 1), SetResize(0, 1),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY, BGW_RESIZE),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY, WID_CV_RESIZE),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
|
@ -862,7 +862,7 @@ void ShowCompanyValueGraph()
|
|||
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) :
|
||||
BaseGraphWindow(CPW_GRAPH, STR_JUST_CURRENCY_SHORT)
|
||||
BaseGraphWindow(WID_CPR_GRAPH, STR_JUST_CURRENCY_SHORT)
|
||||
{
|
||||
this->first_init = true;
|
||||
this->num_on_x_axis = 20;
|
||||
|
@ -906,18 +906,18 @@ struct PaymentRatesGraphWindow : BaseGraphWindow {
|
|||
void UpdateLoweredWidgets()
|
||||
{
|
||||
for (int i = 0; i < _sorted_standard_cargo_specs_size; i++) {
|
||||
this->SetWidgetLoweredState(CPW_CARGO_FIRST + i, !HasBit(this->excluded_data, i));
|
||||
this->SetWidgetLoweredState(WID_CPR_CARGO_FIRST + i, !HasBit(this->excluded_data, i));
|
||||
}
|
||||
}
|
||||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||
{
|
||||
if (widget < CPW_CARGO_FIRST) {
|
||||
if (widget < WID_CPR_CARGO_FIRST) {
|
||||
BaseGraphWindow::UpdateWidgetSize(widget, size, padding, fill, resize);
|
||||
return;
|
||||
}
|
||||
|
||||
const CargoSpec *cs = _sorted_cargo_specs[widget - CPW_CARGO_FIRST];
|
||||
const CargoSpec *cs = _sorted_cargo_specs[widget - WID_CPR_CARGO_FIRST];
|
||||
SetDParam(0, cs->name);
|
||||
Dimension d = GetStringBoundingBox(STR_GRAPH_CARGO_PAYMENT_CARGO);
|
||||
d.width += 14; // colour field
|
||||
|
@ -928,12 +928,12 @@ struct PaymentRatesGraphWindow : BaseGraphWindow {
|
|||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const
|
||||
{
|
||||
if (widget < CPW_CARGO_FIRST) {
|
||||
if (widget < WID_CPR_CARGO_FIRST) {
|
||||
BaseGraphWindow::DrawWidget(r, widget);
|
||||
return;
|
||||
}
|
||||
|
||||
const CargoSpec *cs = _sorted_cargo_specs[widget - CPW_CARGO_FIRST];
|
||||
const CargoSpec *cs = _sorted_cargo_specs[widget - WID_CPR_CARGO_FIRST];
|
||||
bool rtl = _current_text_dir == TD_RTL;
|
||||
|
||||
/* Since the buttons have no text, no images,
|
||||
|
@ -955,7 +955,7 @@ struct PaymentRatesGraphWindow : BaseGraphWindow {
|
|||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case CPW_ENABLE_CARGOES:
|
||||
case WID_CPR_ENABLE_CARGOES:
|
||||
/* Remove all cargoes from the excluded lists. */
|
||||
_legend_excluded_cargo = 0;
|
||||
this->excluded_data = 0;
|
||||
|
@ -963,7 +963,7 @@ struct PaymentRatesGraphWindow : BaseGraphWindow {
|
|||
this->SetDirty();
|
||||
break;
|
||||
|
||||
case CPW_DISABLE_CARGOES: {
|
||||
case WID_CPR_DISABLE_CARGOES: {
|
||||
/* Add all cargoes to the excluded lists. */
|
||||
int i = 0;
|
||||
const CargoSpec *cs;
|
||||
|
@ -978,8 +978,8 @@ struct PaymentRatesGraphWindow : BaseGraphWindow {
|
|||
}
|
||||
|
||||
default:
|
||||
if (widget >= CPW_CARGO_FIRST) {
|
||||
int i = widget - CPW_CARGO_FIRST;
|
||||
if (widget >= WID_CPR_CARGO_FIRST) {
|
||||
int i = widget - WID_CPR_CARGO_FIRST;
|
||||
ToggleBit(_legend_excluded_cargo, _sorted_cargo_specs[i]->Index());
|
||||
this->ToggleWidgetLoweredState(widget);
|
||||
this->UpdateExcludedData();
|
||||
|
@ -1028,13 +1028,13 @@ static NWidgetBase *MakeCargoButtons(int *biggest_index)
|
|||
NWidgetVertical *ver = new NWidgetVertical;
|
||||
|
||||
for (int i = 0; i < _sorted_standard_cargo_specs_size; i++) {
|
||||
NWidgetBackground *leaf = new NWidgetBackground(WWT_PANEL, COLOUR_ORANGE, CPW_CARGO_FIRST + i, NULL);
|
||||
NWidgetBackground *leaf = new NWidgetBackground(WWT_PANEL, COLOUR_ORANGE, WID_CPR_CARGO_FIRST + i, NULL);
|
||||
leaf->tool_tip = STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO;
|
||||
leaf->SetFill(1, 0);
|
||||
leaf->SetLowered(true);
|
||||
ver->Add(leaf);
|
||||
}
|
||||
*biggest_index = CPW_CARGO_FIRST + _sorted_standard_cargo_specs_size - 1;
|
||||
*biggest_index = WID_CPR_CARGO_FIRST + _sorted_standard_cargo_specs_size - 1;
|
||||
return ver;
|
||||
}
|
||||
|
||||
|
@ -1046,18 +1046,18 @@ static const NWidgetPart _nested_cargo_payment_rates_widgets[] = {
|
|||
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, CPW_BACKGROUND), SetMinimalSize(568, 128),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_CPR_BACKGROUND), SetMinimalSize(568, 128),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_SPACER), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_TEXT, COLOUR_GREY, CPW_HEADER), SetMinimalSize(0, 6), SetPadding(2, 0, 2, 0), SetDataTip(STR_GRAPH_CARGO_PAYMENT_RATES_TITLE, STR_NULL),
|
||||
NWidget(WWT_TEXT, COLOUR_GREY, WID_CPR_HEADER), SetMinimalSize(0, 6), SetPadding(2, 0, 2, 0), SetDataTip(STR_GRAPH_CARGO_PAYMENT_RATES_TITLE, STR_NULL),
|
||||
NWidget(NWID_SPACER), SetFill(1, 0), SetResize(1, 0),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_EMPTY, COLOUR_GREY, CPW_GRAPH), SetMinimalSize(495, 0), SetFill(1, 1), SetResize(1, 1),
|
||||
NWidget(WWT_EMPTY, COLOUR_GREY, WID_CPR_GRAPH), SetMinimalSize(495, 0), SetFill(1, 1), SetResize(1, 1),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(0, 24), SetFill(0, 0), SetResize(0, 1),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, CPW_ENABLE_CARGOES), SetDataTip(STR_GRAPH_CARGO_ENABLE_ALL, STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL), SetFill(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, CPW_DISABLE_CARGOES), SetDataTip(STR_GRAPH_CARGO_DISABLE_ALL, STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL), SetFill(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_CPR_ENABLE_CARGOES), SetDataTip(STR_GRAPH_CARGO_ENABLE_ALL, STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL), SetFill(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_CPR_DISABLE_CARGOES), SetDataTip(STR_GRAPH_CARGO_DISABLE_ALL, STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL), SetFill(1, 0),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(0, 4),
|
||||
NWidgetFunction(MakeCargoButtons),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(0, 24), SetFill(0, 1), SetResize(0, 1),
|
||||
|
@ -1066,9 +1066,9 @@ static const NWidgetPart _nested_cargo_payment_rates_widgets[] = {
|
|||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(WD_RESIZEBOX_WIDTH, 0), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_TEXT, COLOUR_GREY, CPW_FOOTER), SetMinimalSize(0, 6), SetPadding(2, 0, 2, 0), SetDataTip(STR_GRAPH_CARGO_PAYMENT_RATES_X_LABEL, STR_NULL),
|
||||
NWidget(WWT_TEXT, COLOUR_GREY, WID_CPR_FOOTER), SetMinimalSize(0, 6), SetPadding(2, 0, 2, 0), SetDataTip(STR_GRAPH_CARGO_PAYMENT_RATES_X_LABEL, STR_NULL),
|
||||
NWidget(NWID_SPACER), SetFill(1, 0), SetResize(1, 0),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY, CPW_RESIZE),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY, WID_CPR_RESIZE),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
};
|
||||
|
@ -1164,7 +1164,7 @@ public:
|
|||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const
|
||||
{
|
||||
if (widget != CLW_BACKGROUND) return;
|
||||
if (widget != WID_CL_BACKGROUND) return;
|
||||
|
||||
int icon_y_offset = 1 + (FONT_HEIGHT_NORMAL - this->line_height) / 2;
|
||||
uint y = r.top + WD_FRAMERECT_TOP - icon_y_offset;
|
||||
|
@ -1192,7 +1192,7 @@ public:
|
|||
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||
{
|
||||
if (widget != CLW_BACKGROUND) return;
|
||||
if (widget != WID_CL_BACKGROUND) return;
|
||||
|
||||
this->ordinal_width = 0;
|
||||
for (uint i = 0; i < MAX_COMPANIES; i++) {
|
||||
|
@ -1259,7 +1259,7 @@ static const NWidgetPart _nested_company_league_widgets[] = {
|
|||
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, CLW_BACKGROUND), SetMinimalSize(400, 0), SetMinimalTextLines(15, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_CL_BACKGROUND), SetMinimalSize(400, 0), SetMinimalTextLines(15, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM),
|
||||
};
|
||||
|
||||
static const WindowDesc _company_league_desc(
|
||||
|
@ -1314,7 +1314,7 @@ struct PerformanceRatingDetailWindow : Window {
|
|||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||
{
|
||||
switch (widget) {
|
||||
case PRW_SCORE_FIRST:
|
||||
case WID_PRD_SCORE_FIRST:
|
||||
this->bar_height = FONT_HEIGHT_NORMAL + 4;
|
||||
size->height = this->bar_height + 2 * WD_MATRIX_TOP;
|
||||
|
||||
|
@ -1374,18 +1374,18 @@ struct PerformanceRatingDetailWindow : Window {
|
|||
/* No need to draw when there's nothing to draw */
|
||||
if (this->company == INVALID_COMPANY) return;
|
||||
|
||||
if (IsInsideMM(widget, PRW_COMPANY_FIRST, PRW_COMPANY_LAST + 1)) {
|
||||
if (IsInsideMM(widget, WID_PRD_COMPANY_FIRST, WID_PRD_COMPANY_LAST + 1)) {
|
||||
if (this->IsWidgetDisabled(widget)) return;
|
||||
CompanyID cid = (CompanyID)(widget - PRW_COMPANY_FIRST);
|
||||
CompanyID cid = (CompanyID)(widget - WID_PRD_COMPANY_FIRST);
|
||||
int offset = (cid == this->company) ? 1 : 0;
|
||||
Dimension sprite_size = GetSpriteSize(SPR_COMPANY_ICON);
|
||||
DrawCompanyIcon(cid, (r.left + r.right - sprite_size.width) / 2 + offset, (r.top + r.bottom - sprite_size.height) / 2 + offset);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!IsInsideMM(widget, PRW_SCORE_FIRST, PRW_SCORE_LAST + 1)) return;
|
||||
if (!IsInsideMM(widget, WID_PRD_SCORE_FIRST, WID_PRD_SCORE_LAST + 1)) return;
|
||||
|
||||
ScoreID score_type = (ScoreID)(widget - PRW_SCORE_FIRST);
|
||||
ScoreID score_type = (ScoreID)(widget - WID_PRD_SCORE_FIRST);
|
||||
|
||||
/* The colours used to show how the progress is going */
|
||||
int colour_done = _colour_gradient[COLOUR_GREEN][4];
|
||||
|
@ -1451,12 +1451,12 @@ struct PerformanceRatingDetailWindow : Window {
|
|||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
/* Check which button is clicked */
|
||||
if (IsInsideMM(widget, PRW_COMPANY_FIRST, PRW_COMPANY_LAST + 1)) {
|
||||
if (IsInsideMM(widget, WID_PRD_COMPANY_FIRST, WID_PRD_COMPANY_LAST + 1)) {
|
||||
/* Is it no on disable? */
|
||||
if (!this->IsWidgetDisabled(widget)) {
|
||||
this->RaiseWidget(this->company + PRW_COMPANY_FIRST);
|
||||
this->company = (CompanyID)(widget - PRW_COMPANY_FIRST);
|
||||
this->LowerWidget(this->company + PRW_COMPANY_FIRST);
|
||||
this->RaiseWidget(this->company + WID_PRD_COMPANY_FIRST);
|
||||
this->company = (CompanyID)(widget - WID_PRD_COMPANY_FIRST);
|
||||
this->LowerWidget(this->company + WID_PRD_COMPANY_FIRST);
|
||||
this->SetDirty();
|
||||
}
|
||||
}
|
||||
|
@ -1483,13 +1483,13 @@ struct PerformanceRatingDetailWindow : Window {
|
|||
if (!gui_scope) return;
|
||||
/* Disable the companies who are not active */
|
||||
for (CompanyID i = COMPANY_FIRST; i < MAX_COMPANIES; i++) {
|
||||
this->SetWidgetDisabledState(i + PRW_COMPANY_FIRST, !Company::IsValidID(i));
|
||||
this->SetWidgetDisabledState(i + WID_PRD_COMPANY_FIRST, !Company::IsValidID(i));
|
||||
}
|
||||
|
||||
/* Check if the currently selected company is still active. */
|
||||
if (this->company != INVALID_COMPANY && !Company::IsValidID(this->company)) {
|
||||
/* Raise the widget for the previous selection. */
|
||||
this->RaiseWidget(this->company + PRW_COMPANY_FIRST);
|
||||
this->RaiseWidget(this->company + WID_PRD_COMPANY_FIRST);
|
||||
this->company = INVALID_COMPANY;
|
||||
}
|
||||
|
||||
|
@ -1502,7 +1502,7 @@ struct PerformanceRatingDetailWindow : Window {
|
|||
}
|
||||
|
||||
/* Make sure the widget is lowered */
|
||||
this->LowerWidget(this->company + PRW_COMPANY_FIRST);
|
||||
this->LowerWidget(this->company + WID_PRD_COMPANY_FIRST);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1532,20 +1532,20 @@ static NWidgetBase *MakePerformanceDetailPanels(int *biggest_index)
|
|||
assert_compile(lengthof(performance_tips) == SCORE_END - SCORE_BEGIN);
|
||||
|
||||
NWidgetVertical *vert = new NWidgetVertical(NC_EQUALSIZE);
|
||||
for (int widnum = PRW_SCORE_FIRST; widnum <= PRW_SCORE_LAST; widnum++) {
|
||||
for (int widnum = WID_PRD_SCORE_FIRST; widnum <= WID_PRD_SCORE_LAST; widnum++) {
|
||||
NWidgetBackground *panel = new NWidgetBackground(WWT_PANEL, COLOUR_GREY, widnum);
|
||||
panel->SetFill(1, 1);
|
||||
panel->SetDataTip(0x0, performance_tips[widnum - PRW_SCORE_FIRST]);
|
||||
panel->SetDataTip(0x0, performance_tips[widnum - WID_PRD_SCORE_FIRST]);
|
||||
vert->Add(panel);
|
||||
}
|
||||
*biggest_index = PRW_SCORE_LAST;
|
||||
*biggest_index = WID_PRD_SCORE_LAST;
|
||||
return vert;
|
||||
}
|
||||
|
||||
/** Make a number of rows with buttons for each company for the performance rating detail window. */
|
||||
NWidgetBase *MakeCompanyButtonRowsGraphGUI(int *biggest_index)
|
||||
{
|
||||
return MakeCompanyButtonRows(biggest_index, PRW_COMPANY_FIRST, PRW_COMPANY_LAST, 8, STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP);
|
||||
return MakeCompanyButtonRows(biggest_index, WID_PRD_COMPANY_FIRST, WID_PRD_COMPANY_LAST, 8, STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP);
|
||||
}
|
||||
|
||||
static const NWidgetPart _nested_performance_rating_detail_widgets[] = {
|
||||
|
|
|
@ -13,53 +13,53 @@
|
|||
#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
|
||||
enum AIListWidgets {
|
||||
WID_AIL_LIST, ///< The matrix with all available AIs.
|
||||
WID_AIL_SCROLLBAR, ///< Scrollbar next to the AI list.
|
||||
WID_AIL_INFO_BG, ///< Panel to draw some AI information on.
|
||||
WID_AIL_ACCEPT, ///< Accept button.
|
||||
WID_AIL_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
|
||||
enum AISettingsWidgets {
|
||||
WID_AIS_BACKGROUND, ///< Panel to draw the settings on.
|
||||
WID_AIS_SCROLLBAR, ///< Scrollbar to scroll through all settings.
|
||||
WID_AIS_ACCEPT, ///< Accept button.
|
||||
WID_AIS_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
|
||||
enum AIConfigWidgets {
|
||||
WID_AIC_BACKGROUND, ///< Window background.
|
||||
WID_AIC_DECREASE, ///< Decrease the number of AIs.
|
||||
WID_AIC_INCREASE, ///< Increase the number of AIs.
|
||||
WID_AIC_NUMBER, ///< Number of AIs.
|
||||
WID_AIC_LIST, ///< List with currently selected AIs.
|
||||
WID_AIC_SCROLLBAR, ///< Scrollbar to scroll through the selected AIs.
|
||||
WID_AIC_MOVE_UP, ///< Move up button.
|
||||
WID_AIC_MOVE_DOWN, ///< Move down button.
|
||||
WID_AIC_CHANGE, ///< Select another AI button.
|
||||
WID_AIC_CONFIGURE, ///< Change AI settings button.
|
||||
WID_AIC_CLOSE, ///< Close window button.
|
||||
WID_AIC_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,
|
||||
enum AIDebugWidgets {
|
||||
WID_AID_VIEW, ///< The row of company buttons.
|
||||
WID_AID_NAME_TEXT, ///< Name of the current selected.
|
||||
WID_AID_SETTINGS, ///< Settings 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_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.
|
||||
WID_AID_BREAK_STR_ON_OFF_BTN, ///< Enable breaking on string.
|
||||
WID_AID_BREAK_STR_EDIT_BOX, ///< Edit box for the string to break on.
|
||||
WID_AID_MATCH_CASE_BTN, ///< Checkbox to use match caching or not.
|
||||
WID_AID_CONTINUE_BTN, ///< Continue button.
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_AI_WIDGET_H */
|
||||
|
|
|
@ -14,24 +14,24 @@
|
|||
|
||||
/** Widgets of the WC_BUILD_TOOLBAR (WC_BUILD_TOOLBAR is also used in others). */
|
||||
enum AirportToolbarWidgets {
|
||||
ATW_AIRPORT,
|
||||
ATW_DEMOLISH,
|
||||
WID_AT_AIRPORT, ///< Build airport button.
|
||||
WID_AT_DEMOLISH, ///< Demolish button.
|
||||
};
|
||||
|
||||
/** 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,
|
||||
WID_AP_CLASS_DROPDOWN, ///< Dropdown of airport classes.
|
||||
WID_AP_AIRPORT_LIST, ///< List of airports.
|
||||
WID_AP_SCROLLBAR, ///< Scrollbar of the list.
|
||||
WID_AP_LAYOUT_NUM, ///< Current number of the layout.
|
||||
WID_AP_LAYOUT_DECREASE, ///< Decrease the layout number.
|
||||
WID_AP_LAYOUT_INCREASE, ///< Increase the layout number.
|
||||
WID_AP_AIRPORT_SPRITE, ///< A visual display of the airport currently selected.
|
||||
WID_AP_EXTRA_TEXT, ///< Additional text about the airport.
|
||||
WID_AP_BOTTOMPANEL, ///< Panel at the bottom.
|
||||
WID_AP_COVERAGE_LABEL, ///< Label if you want to see the coverage.
|
||||
WID_AP_BTN_DONTHILIGHT, ///< Don't show the coverage button.
|
||||
WID_AP_BTN_DOHILIGHT, ///< Show the coverage button.
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_AIRPORT_WIDGET_H */
|
||||
|
|
|
@ -13,28 +13,28 @@
|
|||
#define WIDGETS_AUTOREPLACE_WIDGET_H
|
||||
|
||||
/** Widgets of the WC_REPLACE_VEHICLE. */
|
||||
enum ReplaceVehicleWindowWidgets {
|
||||
RVW_WIDGET_CAPTION,
|
||||
enum ReplaceVehicleWidgets {
|
||||
WID_RV_CAPTION, ///< Caption of the window.
|
||||
|
||||
/* 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,
|
||||
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_LEFT_DETAILS, ///< Details of the entry on the left.
|
||||
WID_RV_RIGHT_DETAILS, ///< Details of the entry on the right.
|
||||
|
||||
/* Button row. */
|
||||
RVW_WIDGET_START_REPLACE,
|
||||
RVW_WIDGET_INFO_TAB,
|
||||
RVW_WIDGET_STOP_REPLACE,
|
||||
WID_RV_START_REPLACE, ///< Start Replacing button.
|
||||
WID_RV_INFO_TAB, ///< Info tab.
|
||||
WID_RV_STOP_REPLACE, ///< Stop Replacing button.
|
||||
|
||||
/* 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,
|
||||
WID_RV_TRAIN_ENGINEWAGON_TOGGLE, ///< Button to toggle engines and/or wagons.
|
||||
WID_RV_TRAIN_FLUFF_LEFT, ///< The fluff on the left.
|
||||
WID_RV_TRAIN_RAILTYPE_DROPDOWN, ///< Dropdown menu about the railtype.
|
||||
WID_RV_TRAIN_FLUFF_RIGHT, ///< The fluff on the right.
|
||||
WID_RV_TRAIN_WAGONREMOVE_TOGGLE, ///< Button to toggle removing wagons.
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_AUTOREPLACE_WIDGET_H */
|
||||
|
|
|
@ -14,9 +14,9 @@
|
|||
|
||||
/** 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.
|
||||
WID_BAFD_QUESTION, ///< The question whether to download.
|
||||
WID_BAFD_YES, ///< An affirmative answer to the question.
|
||||
WID_BAFD_NO, ///< An negative answer to the question.
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_BOOTSTRAP_WIDGET_H */
|
||||
|
|
|
@ -14,11 +14,11 @@
|
|||
|
||||
/** Widgets of the WC_BUILD_BRIDGE. */
|
||||
enum BuildBridgeSelectionWidgets {
|
||||
BBSW_CAPTION,
|
||||
BBSW_DROPDOWN_ORDER,
|
||||
BBSW_DROPDOWN_CRITERIA,
|
||||
BBSW_BRIDGE_LIST,
|
||||
BBSW_SCROLLBAR,
|
||||
WID_BBS_CAPTION, ///< Caption of the window.
|
||||
WID_BBS_DROPDOWN_ORDER, ///< Direction of sort dropdown.
|
||||
WID_BBS_DROPDOWN_CRITERIA, ///< Criteria of sort dropdown.
|
||||
WID_BBS_BRIDGE_LIST, ///< List of bridges.
|
||||
WID_BBS_SCROLLBAR, ///< Scrollbar of the list.
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_BRIDGE_WIDGET_H */
|
||||
|
|
|
@ -14,17 +14,16 @@
|
|||
|
||||
/** 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
|
||||
WID_BV_CAPTION, ///< Caption of window.
|
||||
WID_BV_SORT_ASSENDING_DESCENDING, ///< Sort direction.
|
||||
WID_BV_SORT_DROPDOWN, ///< Criteria of sorting dropdown.
|
||||
WID_BV_CARGO_FILTER_DROPDOWN, ///< Cargo filter dropdown.
|
||||
WID_BV_LIST, ///< List of vehicles.
|
||||
WID_BV_SCROLLBAR, ///< Scrollbar of list.
|
||||
WID_BV_PANEL, ///< Button panel.
|
||||
WID_BV_BUILD, ///< Build panel.
|
||||
WID_BV_BUILD_SEL, ///< Build button.
|
||||
WID_BV_RENAME, ///< Rename button.
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_BUILD_VEHICLE_WIDGET_H */
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
/** Widgets of the WC_CHEATS. */
|
||||
enum CheatWidgets {
|
||||
CW_PANEL,
|
||||
WID_C_PANEL, ///< Panel where all cheats are shown in.
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_CHEAT_WIDGET_H */
|
||||
|
|
|
@ -13,179 +13,179 @@
|
|||
#define WIDGETS_COMPANY_WIDGET_H
|
||||
|
||||
/** Widgets of the WC_COMPANY. */
|
||||
enum CompanyWindowWidgets {
|
||||
CW_WIDGET_CAPTION,
|
||||
enum CompanyWidgets {
|
||||
WID_C_CAPTION, ///< Caption of the window.
|
||||
|
||||
CW_WIDGET_FACE,
|
||||
CW_WIDGET_FACE_TITLE,
|
||||
WID_C_FACE, ///< View of the face.
|
||||
WID_C_FACE_TITLE, ///< Title for the face.
|
||||
|
||||
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,
|
||||
WID_C_DESC_INAUGURATION, ///< Inauguration.
|
||||
WID_C_DESC_COLOUR_SCHEME, ///< Colour scheme.
|
||||
WID_C_DESC_COLOUR_SCHEME_EXAMPLE, ///< Colour scheme example.
|
||||
WID_C_DESC_VEHICLE, ///< Vehicles.
|
||||
WID_C_DESC_VEHICLE_COUNTS, ///< Vehicle count.
|
||||
WID_C_DESC_COMPANY_VALUE, ///< Company value.
|
||||
WID_C_DESC_INFRASTRUCTURE, ///< Infrastructure.
|
||||
WID_C_DESC_INFRASTRUCTURE_COUNTS, ///< Infrastructure count.
|
||||
|
||||
CW_WIDGET_SELECT_DESC_OWNERS,
|
||||
CW_WIDGET_DESC_OWNERS,
|
||||
WID_C_SELECT_DESC_OWNERS, ///< Owners.
|
||||
WID_C_DESC_OWNERS, ///< Owner in 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,
|
||||
WID_C_SELECT_BUTTONS, ///< Selection widget for the button bar.
|
||||
WID_C_NEW_FACE, ///< Button to make new face.
|
||||
WID_C_COLOUR_SCHEME, ///< Button to change colour scheme.
|
||||
WID_C_PRESIDENT_NAME, ///< Button to change president name.
|
||||
WID_C_COMPANY_NAME, ///< Button to change company name.
|
||||
WID_C_BUY_SHARE, ///< Button to buy a share.
|
||||
WID_C_SELL_SHARE, ///< Button to sell a share.
|
||||
|
||||
CW_WIDGET_SELECT_VIEW_BUILD_HQ,
|
||||
CW_WIDGET_VIEW_HQ,
|
||||
CW_WIDGET_BUILD_HQ,
|
||||
WID_C_SELECT_VIEW_BUILD_HQ, ///< Panel about HQ.
|
||||
WID_C_VIEW_HQ, ///< Button to view the HQ.
|
||||
WID_C_BUILD_HQ, ///< Button to build the HQ.
|
||||
|
||||
CW_WIDGET_SELECT_RELOCATE, ///< View/hide the 'Relocate HQ' button.
|
||||
CW_WIDGET_RELOCATE_HQ,
|
||||
WID_C_SELECT_RELOCATE, ///< Panel about 'Relocate HQ'.
|
||||
WID_C_RELOCATE_HQ, ///< Button to relocate the HQ.
|
||||
|
||||
CW_WIDGET_VIEW_INFRASTRUCTURE,
|
||||
WID_C_VIEW_INFRASTRUCTURE, ///< Panel about 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,
|
||||
WID_C_HAS_PASSWORD, ///< Has company password lock.
|
||||
WID_C_SELECT_MULTIPLAYER, ///< Multiplayer selection panel.
|
||||
WID_C_COMPANY_PASSWORD, ///< Button to set company password.
|
||||
WID_C_COMPANY_JOIN, ///< Button to join company.
|
||||
};
|
||||
|
||||
/** 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
|
||||
enum CompanyFinancesWidgets {
|
||||
WID_CF_CAPTION, ///< Caption of the window.
|
||||
WID_CF_TOGGLE_SIZE, ///< Toggle windows size.
|
||||
WID_CF_SEL_PANEL, ///< Select panel or nothing.
|
||||
WID_CF_EXPS_CATEGORY, ///< Column for expenses category strings.
|
||||
WID_CF_EXPS_PRICE1, ///< Column for year Y-2 expenses.
|
||||
WID_CF_EXPS_PRICE2, ///< Column for year Y-1 expenses.
|
||||
WID_CF_EXPS_PRICE3, ///< Column for year Y expenses.
|
||||
WID_CF_TOTAL_PANEL, ///< Panel for totals.
|
||||
WID_CF_SEL_MAXLOAN, ///< Selection of maxloan column.
|
||||
WID_CF_BALANCE_VALUE, ///< Bank balance value.
|
||||
WID_CF_LOAN_VALUE, ///< Loan.
|
||||
WID_CF_LOAN_LINE, ///< Line for summing bank balance and loan.
|
||||
WID_CF_TOTAL_VALUE, ///< Total.
|
||||
WID_CF_MAXLOAN_GAP, ///< Gap above max loan widget.
|
||||
WID_CF_MAXLOAN_VALUE, ///< Max loan widget.
|
||||
WID_CF_SEL_BUTTONS, ///< Selection of buttons.
|
||||
WID_CF_INCREASE_LOAN, ///< Increase loan.
|
||||
WID_CF_REPAY_LOAN, ///< Decrease loan..
|
||||
WID_CF_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,
|
||||
enum SelectCompanyLiveryWidgets {
|
||||
WID_SCL_CAPTION, ///< Caption of window.
|
||||
WID_SCL_CLASS_GENERAL, ///< Class general.
|
||||
WID_SCL_CLASS_RAIL, ///< Class rail.
|
||||
WID_SCL_CLASS_ROAD, ///< Class road.
|
||||
WID_SCL_CLASS_SHIP, ///< Class ship.
|
||||
WID_SCL_CLASS_AIRCRAFT, ///< Class aircraft.
|
||||
WID_SCL_SPACER_DROPDOWN, ///< Spacer for dropdown.
|
||||
WID_SCL_PRI_COL_DROPDOWN, ///< Dropdown for primary colour.
|
||||
WID_SCL_SEC_COL_DROPDOWN, ///< Dropdown for secondary colour.
|
||||
WID_SCL_MATRIX, ///< 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,
|
||||
* Do not change the order of the widgets from WID_SCMF_HAS_MOUSTACHE_EARRING to WID_SCMF_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,
|
||||
WID_SCMF_CAPTION, ///< Caption of window.
|
||||
WID_SCMF_TOGGLE_LARGE_SMALL, ///< Toggle for large or small.
|
||||
WID_SCMF_SELECT_FACE, ///< Select face.
|
||||
WID_SCMF_CANCEL, ///< Cancel.
|
||||
WID_SCMF_ACCEPT, ///< Accept.
|
||||
WID_SCMF_MALE, ///< Male button in the simple view.
|
||||
WID_SCMF_FEMALE, ///< Female button in the simple view.
|
||||
WID_SCMF_MALE2, ///< Male button in the advanced view.
|
||||
WID_SCMF_FEMALE2, ///< Female button in the advanced view.
|
||||
WID_SCMF_SEL_LOADSAVE, ///< Selection to display the load/save/number buttons in the advanced view.
|
||||
WID_SCMF_SEL_MALEFEMALE, ///< Selection to display the male/female buttons in the simple view.
|
||||
WID_SCMF_SEL_PARTS, ///< Selection to display the buttons for setting each part of the face in the advanced view.
|
||||
WID_SCMF_RANDOM_NEW_FACE, ///< Create random new face.
|
||||
WID_SCMF_TOGGLE_LARGE_SMALL_BUTTON, ///< Toggle for large or small.
|
||||
WID_SCMF_FACE, ///< Current face.
|
||||
WID_SCMF_LOAD, ///< Load face.
|
||||
WID_SCMF_FACECODE, ///< Get the face code.
|
||||
WID_SCMF_SAVE, ///< Save face.
|
||||
WID_SCMF_HAS_MOUSTACHE_EARRING_TEXT, ///< Text about moustache and earring.
|
||||
WID_SCMF_TIE_EARRING_TEXT, ///< Text about tie and earring.
|
||||
WID_SCMF_LIPS_MOUSTACHE_TEXT, ///< Text about lips and moustache.
|
||||
WID_SCMF_HAS_GLASSES_TEXT, ///< Text about glasses.
|
||||
WID_SCMF_HAIR_TEXT, ///< Text about hair.
|
||||
WID_SCMF_EYEBROWS_TEXT, ///< Text about eyebrows.
|
||||
WID_SCMF_EYECOLOUR_TEXT, ///< Text about eyecolour.
|
||||
WID_SCMF_GLASSES_TEXT, ///< Text about glasses.
|
||||
WID_SCMF_NOSE_TEXT, ///< Text about nose.
|
||||
WID_SCMF_CHIN_TEXT, ///< Text about chin.
|
||||
WID_SCMF_JACKET_TEXT, ///< Text about jacket.
|
||||
WID_SCMF_COLLAR_TEXT, ///< Text about collar.
|
||||
WID_SCMF_ETHNICITY_EUR, ///< Text about ethnicity european.
|
||||
WID_SCMF_ETHNICITY_AFR, ///< Text about ethnicity african.
|
||||
WID_SCMF_HAS_MOUSTACHE_EARRING, ///< Has moustache or earring.
|
||||
WID_SCMF_HAS_GLASSES, ///< Has glasses.
|
||||
WID_SCMF_EYECOLOUR_L, ///< Eyecolour left.
|
||||
WID_SCMF_EYECOLOUR, ///< Eyecolour.
|
||||
WID_SCMF_EYECOLOUR_R, ///< Eyecolour right.
|
||||
WID_SCMF_CHIN_L, ///< Chin left.
|
||||
WID_SCMF_CHIN, ///< Chin.
|
||||
WID_SCMF_CHIN_R, ///< Chin right.
|
||||
WID_SCMF_EYEBROWS_L, ///< Eyebrows left.
|
||||
WID_SCMF_EYEBROWS, ///< Eyebrows.
|
||||
WID_SCMF_EYEBROWS_R, ///< Eyebrows right.
|
||||
WID_SCMF_LIPS_MOUSTACHE_L, ///< Lips / Moustache left.
|
||||
WID_SCMF_LIPS_MOUSTACHE, ///< Lips / Moustache.
|
||||
WID_SCMF_LIPS_MOUSTACHE_R, ///< Lips / Moustache right.
|
||||
WID_SCMF_NOSE_L, ///< Nose left.
|
||||
WID_SCMF_NOSE, ///< Nose.
|
||||
WID_SCMF_NOSE_R, ///< Nose right.
|
||||
WID_SCMF_HAIR_L, ///< Hair left.
|
||||
WID_SCMF_HAIR, ///< Hair.
|
||||
WID_SCMF_HAIR_R, ///< Hair right.
|
||||
WID_SCMF_JACKET_L, ///< Jacket left.
|
||||
WID_SCMF_JACKET, ///< Jacket.
|
||||
WID_SCMF_JACKET_R, ///< Jacket right.
|
||||
WID_SCMF_COLLAR_L, ///< Collar left.
|
||||
WID_SCMF_COLLAR, ///< Collar.
|
||||
WID_SCMF_COLLAR_R, ///< Collar right.
|
||||
WID_SCMF_TIE_EARRING_L, ///< Tie / Earring left.
|
||||
WID_SCMF_TIE_EARRING, ///< Tie / Earring.
|
||||
WID_SCMF_TIE_EARRING_R, ///< Tie / Earring right.
|
||||
WID_SCMF_GLASSES_L, ///< Glasses left.
|
||||
WID_SCMF_GLASSES, ///< Glasses.
|
||||
WID_SCMF_GLASSES_R, ///< Glasses right.
|
||||
};
|
||||
|
||||
/** 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,
|
||||
enum CompanyInfrastructureWidgets {
|
||||
WID_CI_CAPTION, ///< Caption of window.
|
||||
WID_CI_RAIL_DESC, ///< Description of rail.
|
||||
WID_CI_RAIL_COUNT, ///< Count of rail.
|
||||
WID_CI_ROAD_DESC, ///< Description of road.
|
||||
WID_CI_ROAD_COUNT, ///< Count of road.
|
||||
WID_CI_WATER_DESC, ///< Description of water.
|
||||
WID_CI_WATER_COUNT, ///< Count of water.
|
||||
WID_CI_STATION_DESC, ///< Description of station.
|
||||
WID_CI_STATION_COUNT, ///< Count of station.
|
||||
WID_CI_TOTAL_DESC, ///< Description of total.
|
||||
WID_CI_TOTAL, ///< Count of total.
|
||||
};
|
||||
|
||||
/** Widgets of the WC_BUY_COMPANY. */
|
||||
enum BuyCompanyWidgets {
|
||||
BCW_CAPTION,
|
||||
BCW_FACE,
|
||||
BCW_QUESTION,
|
||||
BCW_NO,
|
||||
BCW_YES,
|
||||
WID_BC_CAPTION, ///< Caption of window.
|
||||
WID_BC_FACE, ///< Face button.
|
||||
WID_BC_QUESTION, ///< Question text.
|
||||
WID_BC_NO, ///< No button.
|
||||
WID_BC_YES, ///< Yes button.
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_COMPANY_WIDGET_H */
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
/** Widgets of the WC_CONSOLE. */
|
||||
enum ConsoleWidgets {
|
||||
CW_BACKGROUND, ///< Background of the console
|
||||
WID_C_BACKGROUND, ///< Background of the console.
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_CONSOLE_WIDGET_H */
|
||||
|
|
|
@ -14,10 +14,10 @@
|
|||
|
||||
/** 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
|
||||
WID_SD_DAY, ///< Dropdown for the day.
|
||||
WID_SD_MONTH, ///< Dropdown for the month.
|
||||
WID_SD_YEAR, ///< Dropdown for the year.
|
||||
WID_SD_SET_DATE, ///< Actually set the date.
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_DATE_WIDGET_H */
|
||||
|
|
|
@ -13,25 +13,25 @@
|
|||
#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,
|
||||
enum VehicleDepotWidgets {
|
||||
WID_VD_CAPTION, ///< Caption of window.
|
||||
WID_VD_SELL, ///< Sell button.
|
||||
WID_VD_SHOW_SELL_CHAIN, ///< Show sell chain panel.
|
||||
WID_VD_SELL_CHAIN, ///< Sell chain button.
|
||||
WID_VD_SELL_ALL, ///< Sell all button.
|
||||
WID_VD_AUTOREPLACE, ///< Autoreplace button.
|
||||
WID_VD_MATRIX, ///< Matrix of vehicles.
|
||||
WID_VD_V_SCROLL, ///< Vertical scrollbar.
|
||||
WID_VD_SHOW_H_SCROLL, ///< Show horizontal scrollbar panel.
|
||||
WID_VD_H_SCROLL, ///< Horizontal scrollbar.
|
||||
WID_VD_BUILD, ///< Build button.
|
||||
WID_VD_CLONE, ///< Clone button.
|
||||
WID_VD_LOCATION, ///< Location button.
|
||||
WID_VD_SHOW_RENAME, ///< Show rename panel.
|
||||
WID_VD_RENAME, ///< Rename button.
|
||||
WID_VD_VEHICLE_LIST, ///< List of vehicles.
|
||||
WID_VD_STOP_ALL, ///< Stop all button.
|
||||
WID_VD_START_ALL, ///< Start all button.
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_DEPOT_WIDGET_H */
|
||||
|
|
|
@ -14,16 +14,16 @@
|
|||
|
||||
/** 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
|
||||
WID_DT_CANAL, ///< Build canal button.
|
||||
WID_DT_LOCK, ///< Build lock button.
|
||||
WID_DT_DEMOLISH, ///< Demolish aka dynamite button.
|
||||
WID_DT_DEPOT, ///< Build depot button.
|
||||
WID_DT_STATION, ///< Build station button.
|
||||
WID_DT_BUOY, ///< Build buoy button.
|
||||
WID_DT_RIVER, ///< Build river button (in scenario editor).
|
||||
WID_DT_BUILD_AQUEDUCT, ///< Build aqueduct button.
|
||||
|
||||
WID_DT_INVALID, ///< Used to initialize a variable.
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_DOCK_WIDGET_H */
|
||||
|
|
|
@ -83,9 +83,9 @@ static void DeleteDropDownList(DropDownList *list)
|
|||
|
||||
static const NWidgetPart _nested_dropdown_menu_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_PANEL, COLOUR_END, DDM_ITEMS), SetMinimalSize(1, 1), SetScrollbar(DDM_SCROLL), EndContainer(),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, DDM_SHOW_SCROLL),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_END, DDM_SCROLL),
|
||||
NWidget(WWT_PANEL, COLOUR_END, WID_DM_ITEMS), SetMinimalSize(1, 1), SetScrollbar(WID_DM_SCROLL), EndContainer(),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_DM_SHOW_SCROLL),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_END, WID_DM_SCROLL),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
};
|
||||
|
@ -130,17 +130,17 @@ struct DropdownWindow : Window {
|
|||
|
||||
this->CreateNestedTree(&_dropdown_desc);
|
||||
|
||||
this->vscroll = this->GetScrollbar(DDM_SCROLL);
|
||||
this->vscroll = this->GetScrollbar(WID_DM_SCROLL);
|
||||
|
||||
uint items_width = size.width - (scroll ? NWidgetScrollbar::GetVerticalDimension().width : 0);
|
||||
NWidgetCore *nwi = this->GetWidget<NWidgetCore>(DDM_ITEMS);
|
||||
NWidgetCore *nwi = this->GetWidget<NWidgetCore>(WID_DM_ITEMS);
|
||||
nwi->SetMinimalSize(items_width, size.height + 4);
|
||||
nwi->colour = wi_colour;
|
||||
|
||||
nwi = this->GetWidget<NWidgetCore>(DDM_SCROLL);
|
||||
nwi = this->GetWidget<NWidgetCore>(WID_DM_SCROLL);
|
||||
nwi->colour = wi_colour;
|
||||
|
||||
this->GetWidget<NWidgetStacked>(DDM_SHOW_SCROLL)->SetDisplayedPlane(scroll ? 0 : SZSP_NONE);
|
||||
this->GetWidget<NWidgetStacked>(WID_DM_SHOW_SCROLL)->SetDisplayedPlane(scroll ? 0 : SZSP_NONE);
|
||||
|
||||
this->FinishInitNested(&_dropdown_desc, 0);
|
||||
CLRBITS(this->flags, WF_WHITE_BORDER);
|
||||
|
@ -200,7 +200,7 @@ struct DropdownWindow : Window {
|
|||
{
|
||||
if (GetWidgetFromPos(this, _cursor.pos.x - this->left, _cursor.pos.y - this->top) < 0) return false;
|
||||
|
||||
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(DDM_ITEMS);
|
||||
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(WID_DM_ITEMS);
|
||||
int y = _cursor.pos.y - this->top - nwi->pos_y - 2;
|
||||
int width = nwi->current_x - 4;
|
||||
int pos = this->vscroll->GetPosition();
|
||||
|
@ -228,7 +228,7 @@ struct DropdownWindow : Window {
|
|||
|
||||
virtual void DrawWidget(const Rect &r, int widget) const
|
||||
{
|
||||
if (widget != DDM_ITEMS) return;
|
||||
if (widget != WID_DM_ITEMS) return;
|
||||
|
||||
TextColour colour = (TextColour)this->GetWidget<NWidgetCore>(widget)->colour;
|
||||
|
||||
|
@ -257,7 +257,7 @@ struct DropdownWindow : Window {
|
|||
|
||||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
if (widget != DDM_ITEMS) return;
|
||||
if (widget != WID_DM_ITEMS) return;
|
||||
int item;
|
||||
if (this->GetDropDownItem(item)) {
|
||||
this->click_delay = 4;
|
||||
|
|
|
@ -14,9 +14,9 @@
|
|||
|
||||
/** 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.
|
||||
WID_DM_ITEMS, ///< Panel showing the dropdown items.
|
||||
WID_DM_SHOW_SCROLL, ///< Hide scrollbar if too few items.
|
||||
WID_DM_SCROLL, ///< Scrollbar.
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_DROPDOWN_WIDGET_H */
|
||||
|
|
|
@ -14,9 +14,9 @@
|
|||
|
||||
/** Widgets of the WC_ENGINE_PREVIEW. */
|
||||
enum EnginePreviewWidgets {
|
||||
EPW_QUESTION, ///< The container for the question
|
||||
EPW_NO, ///< No button
|
||||
EPW_YES, ///< Yes button
|
||||
WID_EP_QUESTION, ///< The container for the question.
|
||||
WID_EP_NO, ///< No button.
|
||||
WID_EP_YES, ///< Yes button.
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_ENGINE_WIDGET_H */
|
||||
|
|
|
@ -14,9 +14,9 @@
|
|||
|
||||
/** Widgets of the WC_ERRMSG. */
|
||||
enum ErrorMessageWidgets {
|
||||
EMW_CAPTION,
|
||||
EMW_FACE,
|
||||
EMW_MESSAGE,
|
||||
WID_EM_CAPTION, ///< Caption of the window.
|
||||
WID_EM_FACE, ///< Error title.
|
||||
WID_EM_MESSAGE, ///< Error message.
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_ERROR_WIDGET_H */
|
||||
|
|
|
@ -13,24 +13,24 @@
|
|||
#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
|
||||
enum SaveLoadWidgets {
|
||||
WID_SL_CAPTION, ///< Caption of the window.
|
||||
WID_SL_SORT_BYNAME, ///< Sort by name button.
|
||||
WID_SL_SORT_BYDATE, ///< Sort by date button.
|
||||
WID_SL_BACKGROUND, ///< Background of window.
|
||||
WID_SL_FILE_BACKGROUND, ///< Background of file selection.
|
||||
WID_SL_HOME_BUTTON, ///< Home button.
|
||||
WID_SL_DRIVES_DIRECTORIES_LIST, ///< Drives list.
|
||||
WID_SL_SCROLLBAR, ///< Scrollbar of the file list.
|
||||
WID_SL_CONTENT_DOWNLOAD, ///< Content download button, only available for play scenario/heightmap.
|
||||
WID_SL_SAVE_OSK_TITLE, ///< Title textbox, only available for save operations.
|
||||
WID_SL_DELETE_SELECTION, ///< Delete button, only available for save operations.
|
||||
WID_SL_SAVE_GAME, ///< Save button, only available for save operations.
|
||||
WID_SL_CONTENT_DOWNLOAD_SEL, ///< Selection 'stack' to 'hide' the content download.
|
||||
WID_SL_DETAILS, ///< Panel with game details.
|
||||
WID_SL_NEWGRF_INFO, ///< Button to open NewGgrf configuration.
|
||||
WID_SL_LOAD_BUTTON, ///< Button to load game/scenario.
|
||||
WID_SL_MISSING_NEWGRFS, ///< Button to find missing NewGRFs online.
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_FIOS_WIDGET_H */
|
||||
|
|
|
@ -12,82 +12,75 @@
|
|||
#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 CreateScenarioWidgets). */
|
||||
enum GenerateLandscapeWidgets {
|
||||
WID_GL_TEMPERATE, ///< Button with icon "Temperate".
|
||||
WID_GL_ARCTIC, ///< Button with icon "Arctic".
|
||||
WID_GL_TROPICAL, ///< Button with icon "Tropical".
|
||||
WID_GL_TOYLAND, ///< Button with icon "Toyland".
|
||||
|
||||
WID_GL_MAPSIZE_X_PULLDOWN, ///< Dropdown 'map X size'.
|
||||
WID_GL_MAPSIZE_Y_PULLDOWN, ///< Dropdown 'map Y size'.
|
||||
|
||||
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_START_DATE_DOWN, ///< Decrease start year.
|
||||
WID_GL_START_DATE_TEXT, ///< Start year.
|
||||
WID_GL_START_DATE_UP, ///< Increase start year.
|
||||
|
||||
WID_GL_SNOW_LEVEL_DOWN, ///< Decrease snow level.
|
||||
WID_GL_SNOW_LEVEL_TEXT, ///< Snow level.
|
||||
WID_GL_SNOW_LEVEL_UP, ///< Increase snow level.
|
||||
|
||||
WID_GL_TREE_PULLDOWN, ///< Dropdown 'Tree algorithm'.
|
||||
WID_GL_LANDSCAPE_PULLDOWN, ///< Dropdown 'Land generator'.
|
||||
|
||||
WID_GL_HEIGHTMAP_NAME_TEXT, ///< Heightmap name.
|
||||
WID_GL_HEIGHTMAP_SIZE_TEXT, ///< Size of heightmap.
|
||||
WID_GL_HEIGHTMAP_ROTATION_PULLDOWN, ///< Dropdown 'Heightmap rotation'.
|
||||
|
||||
WID_GL_TERRAIN_PULLDOWN, ///< Dropdown 'Terrain type'.
|
||||
WID_GL_WATER_PULLDOWN, ///< Dropdown 'Sea level'.
|
||||
WID_GL_RIVER_PULLDOWN, ///< Dropdown 'Rivers'.
|
||||
WID_GL_SMOOTHNESS_PULLDOWN, ///< Dropdown 'Smoothness'.
|
||||
WID_GL_VARIETY_PULLDOWN, ///< Dropdown 'Variety distribution'.
|
||||
|
||||
WID_GL_BORDERS_RANDOM, ///< 'Random'/'Manual' borders.
|
||||
WID_GL_WATER_NW, ///< NW 'Water'/'Freeform'.
|
||||
WID_GL_WATER_NE, ///< NE 'Water'/'Freeform'.
|
||||
WID_GL_WATER_SE, ///< SE 'Water'/'Freeform'.
|
||||
WID_GL_WATER_SW, ///< SW 'Water'/'Freeform'.
|
||||
};
|
||||
|
||||
/** 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 GenerateLandscapeWidgets). */
|
||||
enum CreateScenarioWidgets {
|
||||
WID_CS_TEMPERATE, ///< Select temperate landscape style.
|
||||
WID_CS_ARCTIC, ///< Select arctic landscape style.
|
||||
WID_CS_TROPICAL, ///< Select tropical landscape style.
|
||||
WID_CS_TOYLAND, ///< Select toy-land landscape style.
|
||||
WID_CS_EMPTY_WORLD, ///< Generate an empty flat world.
|
||||
WID_CS_RANDOM_WORLD, ///< Generate random land button
|
||||
WID_CS_MAPSIZE_X_PULLDOWN, ///< Pull-down arrow for x map size.
|
||||
WID_CS_MAPSIZE_Y_PULLDOWN, ///< Pull-down arrow for y map size.
|
||||
WID_CS_START_DATE_DOWN, ///< Decrease start year (start earlier).
|
||||
WID_CS_START_DATE_TEXT, ///< Clickable start date value.
|
||||
WID_CS_START_DATE_UP, ///< Increase start year (start later).
|
||||
WID_CS_FLAT_LAND_HEIGHT_DOWN, ///< Decrease flat land height.
|
||||
WID_CS_FLAT_LAND_HEIGHT_TEXT, ///< Clickable flat land height value.
|
||||
WID_CS_FLAT_LAND_HEIGHT_UP ///< Increase flat land height.
|
||||
};
|
||||
|
||||
/** 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,
|
||||
/** Widgets of the WC_MODAL_PROGRESS (WC_MODAL_PROGRESS is also used in ScanProgressWidgets). */
|
||||
enum GenerationProgressWidgets {
|
||||
WID_GP_PROGRESS_BAR, ///< Progress bar.
|
||||
WID_GP_PROGRESS_TEXT, ///< Text with the progress bar.
|
||||
WID_GP_ABORT, ///< Abort button.
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_GENWORLD_WIDGET_H */
|
||||
|
|
|
@ -15,54 +15,54 @@
|
|||
#include "../economy_type.h"
|
||||
|
||||
/** Widgets of the WC_GRAPH_LEGEND. */
|
||||
enum GraphLegendWidgetNumbers {
|
||||
GLW_BACKGROUND,
|
||||
enum GraphLegendWidgets {
|
||||
WID_GL_BACKGROUND,
|
||||
|
||||
GLW_FIRST_COMPANY,
|
||||
GLW_LAST_COMPANY = GLW_FIRST_COMPANY + MAX_COMPANIES - 1,
|
||||
WID_GL_FIRST_COMPANY,
|
||||
WID_GL_LAST_COMPANY = WID_GL_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,
|
||||
WID_CV_KEY_BUTTON, ///< Key button.
|
||||
WID_CV_BACKGROUND, ///< Background of the window.
|
||||
WID_CV_GRAPH, ///< Graph itself.
|
||||
WID_CV_RESIZE, ///< Resize button.
|
||||
};
|
||||
|
||||
/** Widget of the WC_PERFORMANCE_HISTORY. */
|
||||
enum PerformanceHistoryGraphWidgets {
|
||||
PHW_KEY,
|
||||
PHW_DETAILED_PERFORMANCE,
|
||||
PHW_BACKGROUND,
|
||||
PHW_GRAPH,
|
||||
PHW_RESIZE,
|
||||
WID_PHG_KEY, ///< Key button.
|
||||
WID_PHG_DETAILED_PERFORMANCE, ///< Detailed performance.
|
||||
WID_PHG_BACKGROUND, ///< Background of the window.
|
||||
WID_PHG_GRAPH, ///< Graph itself.
|
||||
WID_PHG_RESIZE, ///< Resize button.
|
||||
};
|
||||
|
||||
/** 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,
|
||||
WID_CPR_BACKGROUND, ///< Background of the window.
|
||||
WID_CPR_HEADER, ///< Header.
|
||||
WID_CPR_GRAPH, ///< Graph itself.
|
||||
WID_CPR_RESIZE, ///< Resize button.
|
||||
WID_CPR_FOOTER, ///< Footer.
|
||||
WID_CPR_ENABLE_CARGOES, ///< Enable cargoes button.
|
||||
WID_CPR_DISABLE_CARGOES, ///< Disable cargoes button.
|
||||
WID_CPR_CARGO_FIRST, ///< First cargo in the list.
|
||||
};
|
||||
|
||||
/** Widget of the WC_COMPANY_LEAGUE. */
|
||||
enum CompanyLeagueWidgets {
|
||||
CLW_BACKGROUND,
|
||||
WID_CL_BACKGROUND, ///< Background of the window.
|
||||
};
|
||||
|
||||
/** Widget of the WC_PERFORMANCE_DETAIL. */
|
||||
enum PerformanceRatingDetailsWidgets {
|
||||
PRW_SCORE_FIRST,
|
||||
PRW_SCORE_LAST = PRW_SCORE_FIRST + (SCORE_END - SCORE_BEGIN) - 1,
|
||||
WID_PRD_SCORE_FIRST, ///< First entry in the score list.
|
||||
WID_PRD_SCORE_LAST = WID_PRD_SCORE_FIRST + (SCORE_END - SCORE_BEGIN) - 1, ///< Last entry in the score list.
|
||||
|
||||
PRW_COMPANY_FIRST,
|
||||
PRW_COMPANY_LAST = PRW_COMPANY_FIRST + MAX_COMPANIES - 1,
|
||||
WID_PRD_COMPANY_FIRST, ///< First company.
|
||||
WID_PRD_COMPANY_LAST = WID_PRD_COMPANY_FIRST + MAX_COMPANIES - 1, ///< Last company.
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_GRAPH_WIDGET_H */
|
||||
|
|
Loading…
Reference in New Issue