Added buttons to collapse or expand ALL groups.

(cherry picked from commit bb6b96e8663b5cb3da87d8473e70e373a36b3997)
This commit is contained in:
keldorkatarn
2016-01-10 10:33:40 +01:00
committed by Jonathan G Rennison
parent 34304a130c
commit 7673cadc0e
3 changed files with 31 additions and 0 deletions

View File

@@ -31,6 +31,7 @@
#include "table/sprites.h" #include "table/sprites.h"
#include "safeguards.h" #include "safeguards.h"
#include <algorithm>
static const int LEVEL_WIDTH = 10; ///< Indenting width of a sub-group in pixels static const int LEVEL_WIDTH = 10; ///< Indenting width of a sub-group in pixels
@@ -65,6 +66,10 @@ static const NWidgetPart _nested_group_widgets[] = {
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_GL_RENAME_GROUP), SetFill(0, 1), NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_GL_RENAME_GROUP), SetFill(0, 1),
SetDataTip(SPR_GROUP_RENAME_TRAIN, STR_GROUP_RENAME_TOOLTIP), SetDataTip(SPR_GROUP_RENAME_TRAIN, STR_GROUP_RENAME_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_GL_COLLAPSE_EXPAND_GROUP), SetFill(0, 1), NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_GL_COLLAPSE_EXPAND_GROUP), SetFill(0, 1),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_GL_COLLAPSE_ALL_GROUPS), SetFill(0, 1),
SetDataTip(STR_GROUP_COLLAPSE_ALL, STR_GROUP_COLLAPSE_ALL),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_GL_EXPAND_ALL_GROUPS), SetFill(0, 1),
SetDataTip(STR_GROUP_EXPAND_ALL, STR_GROUP_EXPAND_ALL),
NWidget(WWT_PANEL, COLOUR_GREY), SetFill(1, 1), EndContainer(), NWidget(WWT_PANEL, COLOUR_GREY), SetFill(1, 1), EndContainer(),
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_GL_REPLACE_PROTECTION), SetFill(0, 1), NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_GL_REPLACE_PROTECTION), SetFill(0, 1),
SetDataTip(SPR_GROUP_REPLACE_OFF_TRAIN, STR_GROUP_REPLACE_PROTECTION_TOOLTIP), SetDataTip(SPR_GROUP_REPLACE_OFF_TRAIN, STR_GROUP_REPLACE_PROTECTION_TOOLTIP),
@@ -699,6 +704,28 @@ public:
this->SetDirty(); this->SetDirty();
break; break;
case WID_GL_COLLAPSE_ALL_GROUPS: {
std::for_each(_collapsed_groups.begin(), _collapsed_groups.end(), [](std::pair<const GroupID, bool> &key_value_pair) {
if (key_value_pair.first != ALL_GROUP && key_value_pair.first != DEFAULT_GROUP && key_value_pair.first != INVALID_GROUP) {
key_value_pair.second = true;
}
});
OnInvalidateData();
this->SetDirty();
break;
}
case WID_GL_EXPAND_ALL_GROUPS: {
std::for_each(_collapsed_groups.begin(), _collapsed_groups.end(), [](std::pair<const GroupID, bool> &key_value_pair) {
if (key_value_pair.first != ALL_GROUP && key_value_pair.first != DEFAULT_GROUP && key_value_pair.first != INVALID_GROUP) {
key_value_pair.second = false;
}
});
OnInvalidateData();
this->SetDirty();
break;
}
case WID_GL_AVAILABLE_VEHICLES: case WID_GL_AVAILABLE_VEHICLES:
ShowBuildVehicleWindow(INVALID_TILE, this->vli.vtype); ShowBuildVehicleWindow(INVALID_TILE, this->vli.vtype);
break; break;

View File

@@ -3355,6 +3355,8 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Delete t
STR_GROUP_RENAME_TOOLTIP :{BLACK}Rename the selected group STR_GROUP_RENAME_TOOLTIP :{BLACK}Rename the selected group
STR_GROUP_COLLAPSE :{BLACK}Collapse STR_GROUP_COLLAPSE :{BLACK}Collapse
STR_GROUP_EXPAND :{BLACK}Expand STR_GROUP_EXPAND :{BLACK}Expand
STR_GROUP_EXPAND_ALL :{BLACK}Expand all
STR_GROUP_COLLAPSE_ALL :{BLACK}Collapse all
STR_GROUP_COLLAPSE_TOOLTIP :{BLACK}Click to collapse the selected group STR_GROUP_COLLAPSE_TOOLTIP :{BLACK}Click to collapse the selected group
STR_GROUP_EXPAND_TOOLTIP :{BLACK}Click to expand the selected group STR_GROUP_EXPAND_TOOLTIP :{BLACK}Click to expand the selected group
STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Click to protect this group from global autoreplace STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Click to protect this group from global autoreplace

View File

@@ -32,6 +32,8 @@ enum GroupListWidgets {
WID_GL_DELETE_GROUP, ///< Delete group button. WID_GL_DELETE_GROUP, ///< Delete group button.
WID_GL_RENAME_GROUP, ///< Rename group button. WID_GL_RENAME_GROUP, ///< Rename group button.
WID_GL_COLLAPSE_EXPAND_GROUP, ///< Collapse/expand group button. WID_GL_COLLAPSE_EXPAND_GROUP, ///< Collapse/expand group button.
WID_GL_COLLAPSE_ALL_GROUPS, ///< Collapse all groups button.
WID_GL_EXPAND_ALL_GROUPS, ///< Expand all groups button.
WID_GL_REPLACE_PROTECTION, ///< Replace protection button. WID_GL_REPLACE_PROTECTION, ///< Replace protection button.
}; };