1
0
Fork 0

(svn r15357) -Codechange: unify the way buttons are updated in the 'found town' window

release/0.7
smatz 2009-02-05 16:51:23 +00:00
parent ef4282f8de
commit 6dff31d34b
2 changed files with 20 additions and 13 deletions

View File

@ -762,7 +762,7 @@ STR_02A2_MEDIUM :{BLACK}Medium
STR_02A3_LARGE :{BLACK}Large STR_02A3_LARGE :{BLACK}Large
STR_SELECT_TOWN_SIZE_RANDOM :{BLACK}Random STR_SELECT_TOWN_SIZE_RANDOM :{BLACK}Random
STR_SCENARIO_EDITOR_CITY :{BLACK}City STR_SCENARIO_EDITOR_CITY :{BLACK}City
STR_SCENARIO_EDITOR_CITY_TOOLTIP :{BLACK}Cities grow faster than regular towns{}Depending on settings, they are bigger when found STR_SCENARIO_EDITOR_CITY_TOOLTIP :{BLACK}Cities grow faster than regular towns{}Depending on settings, they are bigger when founded
STR_02A4_SELECT_TOWN_SIZE :{BLACK}Select town size STR_02A4_SELECT_TOWN_SIZE :{BLACK}Select town size
STR_02A5_TOWN_SIZE :{YELLOW}Town size: STR_02A5_TOWN_SIZE :{YELLOW}Town size:

View File

@ -653,11 +653,25 @@ private:
public: public:
ScenarioEditorTownGenerationWindow(const WindowDesc *desc, WindowNumber window_number) : Window(desc, window_number) ScenarioEditorTownGenerationWindow(const WindowDesc *desc, WindowNumber window_number) : Window(desc, window_number)
{ {
this->LowerWidget(town_size + TSEW_SIZE_SMALL);
this->FindWindowPlacementAndResize(desc); this->FindWindowPlacementAndResize(desc);
town_layout = _settings_game.economy.town_layout; town_layout = _settings_game.economy.town_layout;
this->LowerWidget(town_layout + TSEW_LAYOUT_ORIGINAL);
city = false; city = false;
this->UpdateButtons();
}
void UpdateButtons()
{
for (int i = TSEW_SIZE_SMALL; i <= TSEW_SIZE_RANDOM; i++) {
this->SetWidgetLoweredState(i, i == TSEW_SIZE_SMALL + town_size);
}
this->SetWidgetLoweredState(TSEW_CITY, city);
for (int i = TSEW_LAYOUT_ORIGINAL; i <= TSEW_LAYOUT_RANDOM; i++) {
this->SetWidgetLoweredState(i, i == TSEW_LAYOUT_ORIGINAL + town_layout);
}
this->SetDirty();
} }
virtual void OnPaint() virtual void OnPaint()
@ -700,10 +714,8 @@ public:
break; break;
case TSEW_SIZE_SMALL: case TSEW_SIZE_MEDIUM: case TSEW_SIZE_LARGE: case TSEW_SIZE_RANDOM: case TSEW_SIZE_SMALL: case TSEW_SIZE_MEDIUM: case TSEW_SIZE_LARGE: case TSEW_SIZE_RANDOM:
this->RaiseWidget(town_size + TSEW_SIZE_SMALL);
town_size = (TownSize)(widget - TSEW_SIZE_SMALL); town_size = (TownSize)(widget - TSEW_SIZE_SMALL);
this->LowerWidget(town_size + TSEW_SIZE_SMALL); this->UpdateButtons();
this->SetDirty();
break; break;
case TSEW_CITY: case TSEW_CITY:
@ -714,10 +726,8 @@ public:
case TSEW_LAYOUT_ORIGINAL: case TSEW_LAYOUT_BETTER: case TSEW_LAYOUT_GRID2: case TSEW_LAYOUT_ORIGINAL: case TSEW_LAYOUT_BETTER: case TSEW_LAYOUT_GRID2:
case TSEW_LAYOUT_GRID3: case TSEW_LAYOUT_RANDOM: case TSEW_LAYOUT_GRID3: case TSEW_LAYOUT_RANDOM:
this->RaiseWidget(town_layout + TSEW_LAYOUT_ORIGINAL);
town_layout = (TownLayout)(widget - TSEW_LAYOUT_ORIGINAL); town_layout = (TownLayout)(widget - TSEW_LAYOUT_ORIGINAL);
this->LowerWidget(town_layout + TSEW_LAYOUT_ORIGINAL); this->UpdateButtons();
this->SetDirty();
break; break;
} }
} }
@ -737,10 +747,7 @@ public:
virtual void OnPlaceObjectAbort() virtual void OnPlaceObjectAbort()
{ {
this->RaiseButtons(); this->RaiseButtons();
this->LowerWidget(town_size + TSEW_SIZE_SMALL); this->UpdateButtons();
this->SetWidgetLoweredState(TSEW_CITY, city);
this->LowerWidget(town_layout + TSEW_LAYOUT_ORIGINAL);
this->SetDirty();
} }
static void PlaceProc_Town(TileIndex tile) static void PlaceProc_Town(TileIndex tile)