summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/widgets/dropdown.cpp10
-rw-r--r--src/widgets/dropdown_type.h11
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;
};
/**