diff options
-rw-r--r-- | src/widgets/dropdown.cpp | 10 | ||||
-rw-r--r-- | src/widgets/dropdown_type.h | 11 |
2 files changed, 8 insertions, 13 deletions
diff --git a/src/widgets/dropdown.cpp b/src/widgets/dropdown.cpp index 67dca1cd4..1d5878aa5 100644 --- a/src/widgets/dropdown.cpp +++ b/src/widgets/dropdown.cpp @@ -44,14 +44,10 @@ StringID DropDownListParamStringItem::String() const 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; } /** diff --git a/src/widgets/dropdown_type.h b/src/widgets/dropdown_type.h index 5431263b0..4981cbee7 100644 --- 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 @@ public: /** * 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; }; /** |