MCPcopy Create free account
hub / github.com/OpenTTD/OpenTTD / HandleBadgeConfigurationDropDownClick

Function HandleBadgeConfigurationDropDownClick

src/newgrf_badge_gui.cpp:465–491  ·  view source on GitHub ↗

* Handle the badge configuration drop down selection. * @param feature Feature being used. * @param columns Maximum column number permitted. * @param result Selected dropdown item value. * @param click_result Dropdown click result. * @return true iff the caller should reinitialise their widgets. */

Source from the content-addressed store, hash-verified

463 * @return true iff the caller should reinitialise their widgets.
464 */
465bool HandleBadgeConfigurationDropDownClick(GrfSpecFeature feature, uint columns, int result, int click_result, BadgeFilterChoices &choices)
466{
467 if (result == INT_MAX) {
468 ResetBadgeClassConfiguration(feature);
469 return true;
470 }
471
472 Badge *class_badge = GetClassBadge(static_cast<BadgeClassID>(result));
473 if (class_badge == nullptr) return false;
474
475 switch (click_result) {
476 case BADGE_CLICK_MOVE_DOWN: // Move down button.
477 BadgeClassMoveNext(feature, *class_badge, columns);
478 break;
479 case BADGE_CLICK_MOVE_UP: // Move up button.
480 BadgeClassMovePrevious(feature, *class_badge);
481 break;
482 case BADGE_CLICK_TOGGLE_ICON:
483 case BADGE_CLICK_TOGGLE_FILTER:
484 BadgeClassToggleVisibility(feature, *class_badge, click_result, choices);
485 break;
486 default:
487 break;
488 }
489
490 return true;
491}
492
493NWidgetBadgeFilter::NWidgetBadgeFilter(Colours colour, WidgetID index, GrfSpecFeature feature, BadgeClassID badge_class)
494 : NWidgetLeaf(WWT_DROPDOWN, colour, index, WidgetData{ .string = STR_JUST_STRING }, STR_NULL)

Callers 2

OnDropdownSelectMethod · 0.85
OnDropdownSelectMethod · 0.85

Calls 5

GetClassBadgeFunction · 0.85
BadgeClassMoveNextFunction · 0.85
BadgeClassMovePreviousFunction · 0.85

Tested by

no test coverage detected