|
OpenTTD Source 20251116-master-g21329071df
|
GUI functions related to NewGRF badges. More...
#include "dropdown_type.h"#include "newgrf.h"#include "newgrf_badge.h"#include "newgrf_badge_type.h"#include "timer/timer_game_calendar.h"Go to the source code of this file.
Data Structures | |
| class | GUIBadgeClasses |
| struct | GUIBadgeClasses::Element |
| class | NWidgetBadgeFilter |
Functions | |
| int | DrawBadgeNameList (Rect r, std::span< const BadgeID > badges, GrfSpecFeature feature) |
| Draw names for a list of badge labels. | |
| void | DrawBadgeColumn (Rect r, int column_group, const GUIBadgeClasses &gui_classes, std::span< const BadgeID > badges, GrfSpecFeature feature, std::optional< TimerGameCalendar::Date > introduction_date, PaletteID remap) |
| Draw a badge column group. | |
| std::unique_ptr< DropDownListItem > | MakeDropDownListBadgeItem (const std::shared_ptr< GUIBadgeClasses > &gui_classes, std::span< const BadgeID > badges, GrfSpecFeature feature, std::optional< TimerGameCalendar::Date > introduction_date, std::string &&str, int value, bool masked=false, bool shaded=false) |
| std::unique_ptr< DropDownListItem > | MakeDropDownListBadgeItem (const std::shared_ptr< GUIBadgeClasses > &gui_classes, std::span< const BadgeID > badges, GrfSpecFeature feature, std::optional< TimerGameCalendar::Date > introduction_date, Money cost, std::string &&str, int value, bool masked=false, bool shaded=false) |
| std::unique_ptr< DropDownListItem > | MakeDropDownListBadgeIconItem (const std::shared_ptr< GUIBadgeClasses > &gui_classes, std::span< const BadgeID > badges, GrfSpecFeature feature, std::optional< TimerGameCalendar::Date > introduction_date, Money cost, const Dimension &dim, SpriteID sprite, PaletteID palette, std::string &&str, int value, bool masked=false, bool shaded=false) |
| DropDownList | BuildBadgeClassConfigurationList (const class GUIBadgeClasses &badge_class, uint columns, std::span< const StringID > column_separators) |
| bool | HandleBadgeConfigurationDropDownClick (GrfSpecFeature feature, uint columns, int result, int click_result, BadgeFilterChoices &choices) |
| Handle the badge configuration drop down selection. | |
| std::pair< WidgetID, WidgetID > | AddBadgeDropdownFilters (NWidgetContainer &container, WidgetID widget, Colours colour, GrfSpecFeature feature) |
| Add badge drop down filter widgets. | |
| void | ResetBadgeFilter (BadgeFilterChoices &choices, BadgeClassID badge_class_index) |
| Reset badge filter choice for a class. | |
| void | SetBadgeFilter (BadgeFilterChoices &choices, BadgeID badge_index) |
| Set badge filter choice for a class. | |
GUI functions related to NewGRF badges.
Definition in file newgrf_badge_gui.h.
| std::pair< WidgetID, WidgetID > AddBadgeDropdownFilters | ( | NWidgetContainer & | container, |
| WidgetID | widget, | ||
| Colours | colour, | ||
| GrfSpecFeature | feature | ||
| ) |
Add badge drop down filter widgets.
| container | Container widget to hold filter widgets. |
| widget | Widget index to apply to first filter. |
| colour | Background colour of widgets. |
| feature | GRF feature for filters. |
Definition at line 558 of file newgrf_badge_gui.cpp.
References NWidgetContainer::Add(), GetBadgeClassConfigItem(), and GetClassBadge().
| void DrawBadgeColumn | ( | Rect | r, |
| int | column_group, | ||
| const GUIBadgeClasses & | gui_classes, | ||
| std::span< const BadgeID > | badges, | ||
| GrfSpecFeature | feature, | ||
| std::optional< TimerGameCalendar::Date > | introduction_date, | ||
| PaletteID | remap | ||
| ) |
Draw a badge column group.
| r | rect to draw within. |
| column_group | column to draw. |
| gui_classes | gui badge classes. |
| badges | badges to draw. |
| feature | feature being used. |
| introduction_date | introduction date of item. |
| remap | palette remap to for company-coloured badges. |
Definition at line 163 of file newgrf_badge_gui.cpp.
References _current_text_dir, Badge::class_index, GetBadge(), GetBadgeSprite(), Rect::Indent(), PalSpriteID::pal, SA_CENTER, WidgetDimensions::scaled, ScaleGUITrad(), PalSpriteID::sprite, TD_RTL, and Rect::WithWidth().
| int DrawBadgeNameList | ( | Rect | r, |
| std::span< const BadgeID > | badges, | ||
| GrfSpecFeature | feature | ||
| ) |
Draw names for a list of badge labels.
| r | Rect to draw in. |
| badges | List of badges. |
| feature | GRF feature being used. |
Definition at line 119 of file newgrf_badge_gui.cpp.
References AppendStringInPlace(), Badge::class_index, DrawStringMultiLine(), Badge::flags, GetBadge(), GetClassBadge(), GetListSeparator(), GetString(), FlatSet< Tkey, Tcompare >::insert(), Badge::name, NameListFirstOnly, NameListStop, and BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test().
| bool HandleBadgeConfigurationDropDownClick | ( | GrfSpecFeature | feature, |
| uint | columns, | ||
| int | result, | ||
| int | click_result, | ||
| BadgeFilterChoices & | choices | ||
| ) |
Handle the badge configuration drop down selection.
| feature | Feature being used. |
| columns | Maximum column number permitted. |
| result | Selected dropdown item value. |
| click_result | Dropdown click result. |
Definition at line 463 of file newgrf_badge_gui.cpp.
References GetClassBadge(), and ResetBadgeClassConfiguration().
| std::unique_ptr< DropDownListItem > MakeDropDownListBadgeIconItem | ( | const std::shared_ptr< GUIBadgeClasses > & | gui_classes, |
| std::span< const BadgeID > | badges, | ||
| GrfSpecFeature | feature, | ||
| std::optional< TimerGameCalendar::Date > | introduction_date, | ||
| Money | cost, | ||
| const Dimension & | dim, | ||
| SpriteID | sprite, | ||
| PaletteID | palette, | ||
| std::string && | str, | ||
| int | value, | ||
| bool | masked = false, |
||
| bool | shaded = false |
||
| ) |
Definition at line 259 of file newgrf_badge_gui.cpp.
| std::unique_ptr< DropDownListItem > MakeDropDownListBadgeItem | ( | const std::shared_ptr< GUIBadgeClasses > & | gui_classes, |
| std::span< const BadgeID > | badges, | ||
| GrfSpecFeature | feature, | ||
| std::optional< TimerGameCalendar::Date > | introduction_date, | ||
| Money | cost, | ||
| std::string && | str, | ||
| int | value, | ||
| bool | masked = false, |
||
| bool | shaded = false |
||
| ) |
Definition at line 254 of file newgrf_badge_gui.cpp.
| std::unique_ptr< DropDownListItem > MakeDropDownListBadgeItem | ( | const std::shared_ptr< GUIBadgeClasses > & | gui_classes, |
| std::span< const BadgeID > | badges, | ||
| GrfSpecFeature | feature, | ||
| std::optional< TimerGameCalendar::Date > | introduction_date, | ||
| std::string && | str, | ||
| int | value, | ||
| bool | masked = false, |
||
| bool | shaded = false |
||
| ) |
Definition at line 249 of file newgrf_badge_gui.cpp.
| void ResetBadgeFilter | ( | BadgeFilterChoices & | choices, |
| BadgeClassID | badge_class_index | ||
| ) |
Reset badge filter choice for a class.
Definition at line 582 of file newgrf_badge_gui.cpp.
| void SetBadgeFilter | ( | BadgeFilterChoices & | choices, |
| BadgeID | badge_index | ||
| ) |
Set badge filter choice for a class.
| choices | Badge filter choices. |
| badge_index | Badge to set. The badge class is inferred from the badge. |
Definition at line 593 of file newgrf_badge_gui.cpp.
References Badge::class_index, and GetBadge().