Live Config
Loading...
Searching...
No Matches
SLiveConfigTagPicker.h
1// Copyright (c) 2026 Nicholas Arthur
2// Licensed under the MIT License
3
4#pragma once
5
6#include "CoreMinimal.h"
7#include "Widgets/SCompoundWidget.h"
8#include "Framework/MultiBox/MultiBoxBuilder.h"
9
10DECLARE_DELEGATE_OneParam(FOnTagSelected, FName);
11
12class SLiveConfigTagPicker : public SCompoundWidget
13{
14 SLATE_DECLARE_WIDGET(SLiveConfigTagPicker, SCompoundWidget);
15public:
17
18 SLATE_BEGIN_ARGS(SLiveConfigTagPicker)
19 : _TagVisibilityFilter()
20 {}
21 SLATE_EVENT(FOnTagSelected, OnTagSelected)
22 SLATE_EVENT(FOnTagSelected, OnAddNewTag)
23 SLATE_ATTRIBUTE(TArray<FName>, TagOptions)
24 SLATE_ARGUMENT(TFunction<bool(FName)>, TagVisibilityFilter)
25 SLATE_END_ARGS()
26
27 void Construct(const FArguments& InArgs);
28
29private:
30 TSharedRef<SWidget> GenerateMenuContent();
31 void ShowNewTagDialog();
32
33 FOnTagSelected OnTagSelected;
34 FOnTagSelected OnAddNewTag;
35 TSlateAttribute<TArray<FName>> TagOptionsAttribute;
36 TFunction<bool(FName)> TagVisibilityFilter;
37};
Definition SLiveConfigTagPicker.h:13