mirror of https://github.com/OpenTTD/OpenTTD.git
Change: Show empty string drop down entries as divider. (#11447)
This commit is contained in:
parent
ab535c0a86
commit
136551408c
|
@ -48,10 +48,14 @@ uint DropDownListStringItem::Width() const
|
|||
return GetStringBoundingBox(this->String()).width + WidgetDimensions::scaled.dropdowntext.Horizontal();
|
||||
}
|
||||
|
||||
void DropDownListStringItem::Draw(const Rect &r, bool sel, Colours) const
|
||||
void DropDownListStringItem::Draw(const Rect &r, bool sel, Colours bg_colour) const
|
||||
{
|
||||
Rect ir = r.Shrink(WidgetDimensions::scaled.dropdowntext);
|
||||
DrawString(ir.left, ir.right, r.top, this->String(), sel ? TC_WHITE : TC_BLACK);
|
||||
if (this->String().empty()) {
|
||||
this->DropDownListItem::Draw(r, sel, bg_colour);
|
||||
} else {
|
||||
Rect ir = r.Shrink(WidgetDimensions::scaled.dropdowntext);
|
||||
DrawString(ir.left, ir.right, r.top, this->String(), sel ? TC_WHITE : TC_BLACK);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -42,7 +42,7 @@ public:
|
|||
DropDownListStringItem(StringID string, int result, bool masked);
|
||||
DropDownListStringItem(const std::string &string, int result, bool masked);
|
||||
|
||||
bool Selectable() const override { return true; }
|
||||
bool Selectable() const override { return !this->String().empty(); }
|
||||
uint Width() const override;
|
||||
void Draw(const Rect &r, bool sel, Colours bg_colour) const override;
|
||||
virtual const std::string &String() const { return this->string; }
|
||||
|
|
Loading…
Reference in New Issue