changeset 17546:e7d0a4f1e433 draft

(svn r22310) -Codechange: Derive DropDownListCharStringItem from DropDownListStringItem.
author frosch <frosch@openttd.org>
date Sun, 10 Apr 2011 14:56:14 +0000
parents 2bdf6a8c6631
children 01aee9a39e6e
files src/widgets/dropdown.cpp src/widgets/dropdown_type.h
diffstat 2 files changed, 8 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/src/widgets/dropdown.cpp
+++ b/src/widgets/dropdown.cpp
@@ -44,14 +44,10 @@
 	return this->string;
 }
 
-uint DropDownListCharStringItem::Width() const
+StringID DropDownListCharStringItem::String() const
 {
-	return GetStringBoundingBox(this->string).width;
-}
-
-void DropDownListCharStringItem::Draw(int left, int right, int top, int bottom, bool sel, int bg_colour) const
-{
-	DrawString(left + WD_FRAMERECT_LEFT, right - WD_FRAMERECT_RIGHT, top, this->string, sel ? TC_WHITE : TC_BLACK);
+	SetDParamStr(0, this->raw_string);
+	return this->string;
 }
 
 /**
--- a/src/widgets/dropdown_type.h
+++ b/src/widgets/dropdown_type.h
@@ -14,6 +14,7 @@
 
 #include "../window_type.h"
 #include "../gfx_func.h"
+#include "table/strings.h"
 #include <list>
 
 /**
@@ -67,16 +68,14 @@
 /**
  * List item containing a C char string.
  */
-class DropDownListCharStringItem : public DropDownListItem {
+class DropDownListCharStringItem : public DropDownListStringItem {
 public:
-	const char *string;
+	const char *raw_string;
 
-	DropDownListCharStringItem(const char *string, int result, bool masked) : DropDownListItem(result, masked), string(string) {}
+	DropDownListCharStringItem(const char *raw_string, int result, bool masked) : DropDownListStringItem(STR_JUST_RAW_STRING, result, masked), raw_string(raw_string) {}
 	virtual ~DropDownListCharStringItem() {}
 
-	virtual bool Selectable() const { return true; }
-	virtual uint Width() const;
-	virtual void Draw(int left, int right, int top, int bottom, bool sel, int bg_colour) const;
+	virtual StringID String() const;
 };
 
 /**