(svn r20479) -Change: Use 'Buttons Name: Value' layout for AI and NewGRF parameter GUI.

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
frosch 14 years ago
parent bc96bdb203
commit 7e5309a28a

@ -294,10 +294,8 @@ struct AISettingsWindow : public Window {
bool rtl = _dynlang.text_dir == TD_RTL;
uint buttons_left = rtl ? r.right - 23 : r.left + 4;
uint value_left = r.left + (rtl ? WD_FRAMERECT_LEFT : 28);
uint value_right = r.right - (rtl ? 28 : WD_FRAMERECT_RIGHT);
uint text_left = r.left + (rtl ? WD_FRAMERECT_LEFT : 54);
uint text_right = r.right - (rtl ? 54 : WD_FRAMERECT_RIGHT);
uint text_left = r.left + (rtl ? WD_FRAMERECT_LEFT : 28);
uint text_right = r.right - (rtl ? 28 : WD_FRAMERECT_RIGHT);
int y = r.top;
@ -305,20 +303,23 @@ struct AISettingsWindow : public Window {
int current_value = config->GetSetting((*it).name);
bool editable = (_game_mode == GM_MENU) || ((it->flags & AICONFIG_INGAME) != 0);
uint x = rtl ? r.right : r.left;
SetDParamStr(0, (*it).description);
if (((*it).flags & AICONFIG_BOOLEAN) != 0) {
DrawFrameRect(buttons_left, y + 2, buttons_left + 19, y + 10, (current_value != 0) ? COLOUR_GREEN : COLOUR_RED, (current_value != 0) ? FR_LOWERED : FR_NONE);
SetDParam(1, current_value == 0 ? STR_CONFIG_SETTING_OFF : STR_CONFIG_SETTING_ON);
} else {
DrawArrowButtons(buttons_left, y + 2, COLOUR_YELLOW, (this->clicked_button == i) ? 1 + (this->clicked_increase != rtl) : 0, editable && current_value > (*it).min_value, editable && current_value < (*it).max_value);
if (it->labels != NULL && it->labels->Find(current_value) != it->labels->End()) {
x = DrawString(value_left, value_right, y + WD_MATRIX_TOP, it->labels->Find(current_value)->second, TC_ORANGE);
SetDParam(1, STR_JUST_RAW_STRING);
SetDParamStr(2, it->labels->Find(current_value)->second);
} else {
SetDParam(0, current_value);
x = DrawString(value_left, value_right, y + WD_MATRIX_TOP, STR_JUST_INT, TC_ORANGE);
SetDParam(1, STR_JUST_INT);
SetDParam(2, current_value);
}
}
DrawString(max(rtl ? 0U : x + 3, text_left), min(rtl ? x - 3 : r.right, text_right), y + WD_MATRIX_TOP, (*it).description, TC_LIGHT_BLUE);
DrawString(text_left, text_right, y + WD_MATRIX_TOP, STR_AI_SETTINGS_SETTING, TC_LIGHT_BLUE);
y += this->line_height;
}
}

@ -24,7 +24,7 @@
/** Configuration for AI start date, every AI has this setting. */
AIConfigItem _start_date_config = {
"start_date",
"The amount of days after the start of the last AI, this AI will start (give or take).",
"Number of days to start this AI after the previous one (give or take)",
AI::START_NEXT_MIN,
AI::START_NEXT_MAX,
AI::START_NEXT_MEDIUM,

@ -2395,6 +2395,7 @@ STR_NEWGRF_SETTINGS_PARAMETER_QUERY :{BLACK}Enter Ne
STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Change NewGRF parameters
STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Close
STR_NEWGRF_PARAMETERS_DEFAULT_NAME :Parameter {NUM}
STR_NEWGRF_PARAMETERS_SETTING :{STRING1}: {ORANGE}{STRING1}
# NewGRF inspect window
STR_NEWGRF_INSPECT_CAPTION :{WHITE}Inspect - {STRING5}
@ -3341,6 +3342,7 @@ STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Don't ch
STR_AI_SETTINGS_CAPTION :{WHITE}AI Parameters
STR_AI_SETTINGS_CLOSE :{BLACK}Close
STR_AI_SETTINGS_RESET :{BLACK}Reset
STR_AI_SETTINGS_SETTING :{RAW_STRING}: {ORANGE}{STRING1}
# Vehicle loading indicators
STR_PERCENT_UP_SMALL :{TINYFONT}{WHITE}{NUM}%{UPARROW}

@ -204,10 +204,8 @@ struct NewGRFParametersWindow : public Window {
bool rtl = _dynlang.text_dir == TD_RTL;
uint buttons_left = rtl ? r.right - 23 : r.left + 4;
uint value_left = r.left + (rtl ? WD_FRAMERECT_LEFT : 28);
uint value_right = r.right - (rtl ? 28 : WD_FRAMERECT_RIGHT);
uint text_left = r.left + (rtl ? WD_FRAMERECT_LEFT : 54);
uint text_right = r.right - (rtl ? 54 : WD_FRAMERECT_RIGHT);
uint text_left = r.left + (rtl ? WD_FRAMERECT_LEFT : 28);
uint text_right = r.right - (rtl ? 28 : WD_FRAMERECT_RIGHT);
int y = r.top;
for (uint i = this->vscroll->GetPosition(); this->vscroll->IsVisible(i) && i < this->grf_config->num_valid_params; i++) {
@ -216,40 +214,32 @@ struct NewGRFParametersWindow : public Window {
uint32 current_value = par_info->GetValue(this->grf_config);
bool selected = (i == this->clicked_row);
uint x = rtl ? r.right : r.left;
if (par_info->type == PTYPE_BOOL) {
DrawFrameRect(buttons_left, y + 2, buttons_left + 19, y + 10, (current_value != 0) ? COLOUR_GREEN : COLOUR_RED, (current_value != 0) ? FR_LOWERED : FR_NONE);
SetDParam(2, par_info->GetValue(this->grf_config) == 0 ? STR_CONFIG_SETTING_OFF : STR_CONFIG_SETTING_ON);
} else if (par_info->type == PTYPE_UINT_ENUM) {
DrawArrowButtons(buttons_left, y + 2, COLOUR_YELLOW, (this->clicked_button == i) ? 1 + (this->clicked_increase != rtl) : 0, current_value > par_info->min_value, current_value < par_info->max_value);
bool draw_numeric = true;
SetDParam(2, STR_JUST_INT);
SetDParam(3, current_value);
if (par_info->value_names.Find(current_value) != par_info->value_names.End()) {
const char *label = GetGRFStringFromGRFText(par_info->value_names.Find(current_value)->second);
if (label != NULL) {
x = DrawString(value_left, value_right, y + WD_MATRIX_TOP, label, TC_ORANGE);
draw_numeric = false;
SetDParam(2, STR_JUST_RAW_STRING);
SetDParamStr(3, label);
}
}
if (draw_numeric) {
SetDParam(0, current_value);
x = DrawString(value_left, value_right, y + WD_MATRIX_TOP, STR_JUST_INT, TC_ORANGE);
}
}
int left = max(rtl ? 0U : x + 3, text_left);
int right = min(rtl ? x - 3 : r.right, text_right);
const char *name = GetGRFStringFromGRFText(par_info->name);
if (name != NULL) {
x = DrawString(left, right, y + WD_MATRIX_TOP, name, selected ? TC_WHITE : TC_LIGHT_BLUE);
SetDParam(0, STR_JUST_RAW_STRING);
SetDParamStr(1, name);
} else {
SetDParam(0, i + 1);
x = DrawString(left, right, y + WD_MATRIX_TOP, STR_NEWGRF_PARAMETERS_DEFAULT_NAME, selected ? TC_WHITE : TC_LIGHT_BLUE);
}
if (par_info->type == PTYPE_BOOL) {
left = max(rtl ? 0U : x + 3, text_left);
right = min(rtl ? x - 3 : r.right, text_right);
StringID str = par_info->GetValue(this->grf_config) == 0 ? STR_CONFIG_SETTING_OFF : STR_CONFIG_SETTING_ON;
DrawString(left, right, y + WD_MATRIX_TOP, str, selected ? TC_WHITE : TC_LIGHT_BLUE);
SetDParam(0, STR_NEWGRF_PARAMETERS_DEFAULT_NAME);
SetDParam(1, i + 1);
}
DrawString(text_left, text_right, y + WD_MATRIX_TOP, STR_NEWGRF_PARAMETERS_SETTING, selected ? TC_WHITE : TC_LIGHT_BLUE);
y += this->line_height;
}
}

Loading…
Cancel
Save