// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Widgets/SCompoundWidget.h" #include "Styling/SlateTypes.h" #include "Containers/ObservableArray.h" DECLARE_DELEGATE(FOnMultiSelectComboBoxCheckedValuesChanged) class SMultiSelectComboBox : public SCompoundWidget { public: SLATE_BEGIN_ARGS(SMultiSelectComboBox) {} SLATE_ARGUMENT(TArray>*, SelectValues) SLATE_EVENT(FOnMultiSelectComboBoxCheckedValuesChanged, OnCheckedValuesChanged) SLATE_END_ARGS() virtual ~SMultiSelectComboBox(); void Construct(const FArguments& InArgs); bool IsChecked(FStringView Value) const; private: TSharedRef GenerateMenuItems(); void OnSelectedChangedFromMultiselect(TSharedPtr Value); FOnMultiSelectComboBoxCheckedValuesChanged OnCheckedValuesChanged; TArray CheckedValues; TArray>* SelectValues; };