Hide all windows when building anything on the map

This commit is contained in:
Sergii Pylypenko
2016-04-04 23:04:39 +03:00
parent 00dc8319eb
commit b0441047aa
6 changed files with 21 additions and 3 deletions

View File

@@ -120,7 +120,6 @@ struct BuildAirToolbarWindow : Window {
switch (this->last_user_action) {
case WID_AT_AIRPORT: {
VpStartPlaceSizing(tile, VPM_SINGLE_TILE, DDSP_BUILD_STATION);
MoveAllWindowsOffScreen();
break;
}
@@ -130,6 +129,7 @@ struct BuildAirToolbarWindow : Window {
default: NOT_REACHED();
}
MoveAllWindowsOffScreen();
}
virtual void OnPlaceDrag(ViewportPlaceMethod select_method, ViewportDragDropSelectionProcess select_proc, Point pt)
@@ -140,10 +140,10 @@ struct BuildAirToolbarWindow : Window {
virtual void OnPlaceMouseUp(ViewportPlaceMethod select_method, ViewportDragDropSelectionProcess select_proc, Point pt, TileIndex start_tile, TileIndex end_tile)
{
if (pt.x == -1) return;
MoveAllHiddenWindowsBackToScreen();
switch (select_proc) {
case DDSP_BUILD_STATION:
assert(start_tile == end_tile);
MoveAllHiddenWindowsBackToScreen();
PlaceAirport(end_tile);
break;
case DDSP_DEMOLISH_AREA:
@@ -155,8 +155,8 @@ struct BuildAirToolbarWindow : Window {
virtual void OnPlaceObjectAbort()
{
MoveAllHiddenWindowsBackToScreen();
this->RaiseButtons();
DeleteWindowById(WC_BUILD_STATION, TRANSPORT_AIR);
DeleteWindowById(WC_SELECT_STATION, 0);
ResetObjectToPlace();

View File

@@ -209,6 +209,7 @@ struct BuildDocksToolbarWindow : Window {
default: NOT_REACHED();
}
MoveAllWindowsOffScreen();
}
virtual void OnPlaceDrag(ViewportPlaceMethod select_method, ViewportDragDropSelectionProcess select_proc, Point pt)
@@ -277,11 +278,13 @@ struct BuildDocksToolbarWindow : Window {
default: break;
}
MoveAllHiddenWindowsBackToScreen();
}
}
virtual void OnPlaceObjectAbort()
{
MoveAllHiddenWindowsBackToScreen();
this->RaiseButtons();
DeleteWindowById(WC_BUILD_STATION, TRANSPORT_WATER);

View File

@@ -652,6 +652,7 @@ struct BuildRailToolbarWindow : Window {
default: NOT_REACHED();
}
MoveAllWindowsOffScreen();
}
virtual void OnPlaceDrag(ViewportPlaceMethod select_method, ViewportDragDropSelectionProcess select_proc, Point pt)
@@ -752,11 +753,13 @@ struct BuildRailToolbarWindow : Window {
CcRailDepot);
break;
}
MoveAllHiddenWindowsBackToScreen();
}
}
virtual void OnPlaceObjectAbort()
{
MoveAllHiddenWindowsBackToScreen();
this->RaiseButtons();
this->DisableWidget(WID_RAT_REMOVE);
this->SetWidgetDirty(WID_RAT_REMOVE);

View File

@@ -525,10 +525,12 @@ struct BuildRoadToolbarWindow : Window {
default: NOT_REACHED();
}
MoveAllWindowsOffScreen();
}
virtual void OnPlaceObjectAbort()
{
MoveAllHiddenWindowsBackToScreen();
this->RaiseButtons();
this->SetWidgetsDisabledState(true,
WID_ROT_REMOVE,
@@ -669,6 +671,7 @@ struct BuildRoadToolbarWindow : Window {
CMD_BUILD_ROAD_DEPOT | CMD_MSG(_road_type_infos[_cur_roadtype].err_depot), CcRoadDepot);
break;
}
MoveAllHiddenWindowsBackToScreen();
}
}

View File

@@ -222,18 +222,22 @@ struct TerraformToolbarWindow : Window {
switch (this->last_user_action) {
case WID_TT_LOWER_LAND: // Lower land button
VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_LOWER_AND_LEVEL_AREA);
MoveAllWindowsOffScreen();
break;
case WID_TT_RAISE_LAND: // Raise land button
VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_RAISE_AND_LEVEL_AREA);
MoveAllWindowsOffScreen();
break;
case WID_TT_LEVEL_LAND: // Level land button
VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_LEVEL_AREA);
MoveAllWindowsOffScreen();
break;
case WID_TT_DEMOLISH: // Demolish aka dynamite button
PlaceProc_DemolishArea(tile);
MoveAllWindowsOffScreen();
break;
case WID_TT_BUY_LAND: // Buy land button
@@ -272,11 +276,13 @@ struct TerraformToolbarWindow : Window {
GUIPlaceProcDragXY(select_proc, start_tile, end_tile);
break;
}
MoveAllHiddenWindowsBackToScreen();
}
}
virtual void OnPlaceObjectAbort()
{
MoveAllHiddenWindowsBackToScreen();
this->RaiseButtons();
}

View File

@@ -147,6 +147,7 @@ public:
virtual void OnPlaceObject(Point pt, TileIndex tile)
{
VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_PLANT_TREES);
MoveAllWindowsOffScreen();
}
virtual void OnPlaceDrag(ViewportPlaceMethod select_method, ViewportDragDropSelectionProcess select_proc, Point pt)
@@ -159,6 +160,7 @@ public:
if (pt.x != -1 && select_proc == DDSP_PLANT_TREES) {
DoCommandP(end_tile, this->tree_to_plant, start_tile,
CMD_PLANT_TREE | CMD_MSG(STR_ERROR_CAN_T_PLANT_TREE_HERE));
MoveAllHiddenWindowsBackToScreen();
}
}
@@ -173,6 +175,7 @@ public:
virtual void OnPlaceObjectAbort()
{
MoveAllHiddenWindowsBackToScreen();
this->RaiseButtons();
ResetObjectToPlace();