1
0
Fork 0

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

release/1.1
frosch 2010-08-13 07:34:28 +00:00
parent bc96bdb203
commit 7e5309a28a
4 changed files with 26 additions and 33 deletions

View File

@ -294,10 +294,8 @@ struct AISettingsWindow : public Window {
bool rtl = _dynlang.text_dir == TD_RTL; bool rtl = _dynlang.text_dir == TD_RTL;
uint buttons_left = rtl ? r.right - 23 : r.left + 4; uint buttons_left = rtl ? r.right - 23 : r.left + 4;
uint value_left = r.left + (rtl ? WD_FRAMERECT_LEFT : 28); uint text_left = r.left + (rtl ? WD_FRAMERECT_LEFT : 28);
uint value_right = r.right - (rtl ? 28 : WD_FRAMERECT_RIGHT); uint text_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);
int y = r.top; int y = r.top;
@ -305,20 +303,23 @@ struct AISettingsWindow : public Window {
int current_value = config->GetSetting((*it).name); int current_value = config->GetSetting((*it).name);
bool editable = (_game_mode == GM_MENU) || ((it->flags & AICONFIG_INGAME) != 0); 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) { 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); 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 { } 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); 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()) { 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 { } else {
SetDParam(0, current_value); SetDParam(1, STR_JUST_INT);
x = DrawString(value_left, value_right, y + WD_MATRIX_TOP, STR_JUST_INT, TC_ORANGE); 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; y += this->line_height;
} }
} }

View File

@ -24,7 +24,7 @@
/** Configuration for AI start date, every AI has this setting. */ /** Configuration for AI start date, every AI has this setting. */
AIConfigItem _start_date_config = { AIConfigItem _start_date_config = {
"start_date", "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_MIN,
AI::START_NEXT_MAX, AI::START_NEXT_MAX,
AI::START_NEXT_MEDIUM, AI::START_NEXT_MEDIUM,

View File

@ -2395,6 +2395,7 @@ STR_NEWGRF_SETTINGS_PARAMETER_QUERY :{BLACK}Enter Ne
STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Change NewGRF parameters STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Change NewGRF parameters
STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Close STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Close
STR_NEWGRF_PARAMETERS_DEFAULT_NAME :Parameter {NUM} STR_NEWGRF_PARAMETERS_DEFAULT_NAME :Parameter {NUM}
STR_NEWGRF_PARAMETERS_SETTING :{STRING1}: {ORANGE}{STRING1}
# NewGRF inspect window # NewGRF inspect window
STR_NEWGRF_INSPECT_CAPTION :{WHITE}Inspect - {STRING5} 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_CAPTION :{WHITE}AI Parameters
STR_AI_SETTINGS_CLOSE :{BLACK}Close STR_AI_SETTINGS_CLOSE :{BLACK}Close
STR_AI_SETTINGS_RESET :{BLACK}Reset STR_AI_SETTINGS_RESET :{BLACK}Reset
STR_AI_SETTINGS_SETTING :{RAW_STRING}: {ORANGE}{STRING1}
# Vehicle loading indicators # Vehicle loading indicators
STR_PERCENT_UP_SMALL :{TINYFONT}{WHITE}{NUM}%{UPARROW} STR_PERCENT_UP_SMALL :{TINYFONT}{WHITE}{NUM}%{UPARROW}

View File

@ -204,10 +204,8 @@ struct NewGRFParametersWindow : public Window {
bool rtl = _dynlang.text_dir == TD_RTL; bool rtl = _dynlang.text_dir == TD_RTL;
uint buttons_left = rtl ? r.right - 23 : r.left + 4; uint buttons_left = rtl ? r.right - 23 : r.left + 4;
uint value_left = r.left + (rtl ? WD_FRAMERECT_LEFT : 28); uint text_left = r.left + (rtl ? WD_FRAMERECT_LEFT : 28);
uint value_right = r.right - (rtl ? 28 : WD_FRAMERECT_RIGHT); uint text_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);
int y = r.top; int y = r.top;
for (uint i = this->vscroll->GetPosition(); this->vscroll->IsVisible(i) && i < this->grf_config->num_valid_params; i++) { 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); uint32 current_value = par_info->GetValue(this->grf_config);
bool selected = (i == this->clicked_row); bool selected = (i == this->clicked_row);
uint x = rtl ? r.right : r.left;
if (par_info->type == PTYPE_BOOL) { 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); 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) { } 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); 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()) { 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); const char *label = GetGRFStringFromGRFText(par_info->value_names.Find(current_value)->second);
if (label != NULL) { if (label != NULL) {
x = DrawString(value_left, value_right, y + WD_MATRIX_TOP, label, TC_ORANGE); SetDParam(2, STR_JUST_RAW_STRING);
draw_numeric = false; 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); const char *name = GetGRFStringFromGRFText(par_info->name);
if (name != NULL) { 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 { } else {
SetDParam(0, i + 1); SetDParam(0, STR_NEWGRF_PARAMETERS_DEFAULT_NAME);
x = DrawString(left, right, y + WD_MATRIX_TOP, STR_NEWGRF_PARAMETERS_DEFAULT_NAME, selected ? TC_WHITE : TC_LIGHT_BLUE); SetDParam(1, i + 1);
}
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);
} }
DrawString(text_left, text_right, y + WD_MATRIX_TOP, STR_NEWGRF_PARAMETERS_SETTING, selected ? TC_WHITE : TC_LIGHT_BLUE);
y += this->line_height; y += this->line_height;
} }
} }