(svn r27346) -Feature: Make the object placement gui an independent window.

This commit is contained in:
alberth
2015-07-28 18:20:54 +00:00
parent a62468bed6
commit 4f49d636c1
3 changed files with 28 additions and 40 deletions

View File

@@ -210,12 +210,7 @@ struct TerraformToolbarWindow : Window {
break;
case WID_TT_PLACE_OBJECT: // Place object button
/* Don't show the place object button when there are no objects to place. */
if (ObjectClass::GetUIClassCount() == 0) return;
if (HandlePlacePushButton(this, WID_TT_PLACE_OBJECT, SPR_CURSOR_TRANSMITTER, HT_RECT)) {
ShowBuildObjectPicker(this);
this->last_user_action = widget;
}
ShowBuildObjectPicker();
break;
default: NOT_REACHED();
@@ -249,10 +244,6 @@ struct TerraformToolbarWindow : Window {
PlaceProc_Sign(tile);
break;
case WID_TT_PLACE_OBJECT: // Place object button
PlaceProc_Object(tile);
break;
default: NOT_REACHED();
}
}
@@ -286,7 +277,6 @@ struct TerraformToolbarWindow : Window {
virtual void OnPlaceObjectAbort()
{
DeleteWindowById(WC_BUILD_OBJECT, 0);
this->RaiseButtons();
}
@@ -344,7 +334,7 @@ static const NWidgetPart _nested_terraform_widgets[] = {
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_TT_PLACE_SIGN), SetMinimalSize(22, 22),
SetFill(0, 1), SetDataTip(SPR_IMG_SIGN, STR_SCENEDIT_TOOLBAR_PLACE_SIGN),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_TT_SHOW_PLACE_OBJECT),
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_TT_PLACE_OBJECT), SetMinimalSize(22, 22),
NWidget(WWT_PUSHIMGBTN, COLOUR_DARK_GREEN, WID_TT_PLACE_OBJECT), SetMinimalSize(22, 22),
SetFill(0, 1), SetDataTip(SPR_IMG_TRANSMITTER, STR_SCENEDIT_TOOLBAR_PLACE_OBJECT),
EndContainer(),
EndContainer(),
@@ -616,10 +606,7 @@ struct ScenarioEditorLandscapeGenerationWindow : Window {
break;
case WID_ETT_PLACE_OBJECT: // Place transmitter button
if (HandlePlacePushButton(this, WID_ETT_PLACE_OBJECT, SPR_CURSOR_TRANSMITTER, HT_RECT)) {
ShowBuildObjectPicker(this);
this->last_user_action = widget;
}
ShowBuildObjectPicker();
break;
case WID_ETT_INCREASE_SIZE:
@@ -687,10 +674,6 @@ struct ScenarioEditorLandscapeGenerationWindow : Window {
VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_CREATE_DESERT);
break;
case WID_ETT_PLACE_OBJECT: // Place transmitter button
PlaceProc_Object(tile);
break;
default: NOT_REACHED();
}
}