changeset 15804:cefe74c2f556 draft

(svn r20479) -Change: Use 'Buttons Name: Value' layout for AI and NewGRF parameter GUI.
author frosch <frosch@openttd.org>
date Fri, 13 Aug 2010 07:34:28 +0000
parents 969ab3547bd5
children 81bab3f950ca
files src/ai/ai_gui.cpp src/ai/ai_info.cpp src/lang/english.txt src/newgrf_gui.cpp
diffstat 4 files changed, 26 insertions(+), 33 deletions(-) [+]
line wrap: on
line diff
--- a/src/ai/ai_gui.cpp
+++ b/src/ai/ai_gui.cpp
@@ -294,10 +294,8 @@
 
 		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 @@
 			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;
 		}
 	}
--- a/src/ai/ai_info.cpp
+++ b/src/ai/ai_info.cpp
@@ -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,
--- a/src/lang/english.txt
+++ b/src/lang/english.txt
@@ -2395,6 +2395,7 @@
 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_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}
--- a/src/newgrf_gui.cpp
+++ b/src/newgrf_gui.cpp
@@ -204,10 +204,8 @@
 
 		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 @@
 			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);
+				SetDParam(0, STR_NEWGRF_PARAMETERS_DEFAULT_NAME);
+				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;
 		}
 	}