Live Config
Loading...
Searching...
No Matches
SLiveConfigPropertyCombo.h
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "SLiveConfigPropertyPin.h"
7#include "Widgets/SCompoundWidget.h"
8
15class SLiveConfigPropertyCombo : public SCompoundWidget
16{
17 SLATE_DECLARE_WIDGET_API(SLiveConfigPropertyCombo, SCompoundWidget, LIVECONFIGEDITOR_API)
18
19public:
21 DECLARE_DELEGATE_OneParam(FOnPropertyChanged, FLiveConfigProperty)
22
23 SLATE_BEGIN_ARGS(SLiveConfigPropertyCombo) { }
24 SLATE_ARGUMENT(bool, ReadOnly)
25
26 SLATE_ATTRIBUTE(FLiveConfigProperty, Property)
27 SLATE_ATTRIBUTE(TOptional<ELiveConfigPropertyType>, FilterType)
28 SLATE_ATTRIBUTE(UScriptStruct*, StructFilter)
29
30 SLATE_EVENT(FOnPropertyChanged, OnPropertyChanged)
31
32 SLATE_END_ARGS()
33
34
35 void Construct(const FArguments& InArgs);
36 virtual FReply OnMouseButtonDown(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent) override;
37 virtual FReply OnMouseButtonUp(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent) override;
38protected:
39 bool ShowClearButton() const;
40 void OnPropertySelected(FLiveConfigProperty Property);
41
42 TSharedRef<SWidget> OnGetMenuContent();
43 void OnMenuOpenChanged(bool bOpen);
44
45 TSharedPtr<SWidget> OnGetContextMenuContent();
46 FReply OnEditPressed();
47 void OnCopyProperty();
48 void OnPasteProperty();
49 bool CanPasteProperty() const;
50 void OnClearProperty();
51 FText GetChipText() const;
52
53 FOnPropertyChanged OnPropertyChanged;
54 TSlateAttribute<FLiveConfigProperty> RowNameAttribute;
55 TSlateAttribute<TOptional<ELiveConfigPropertyType>> FilterTypeAttribute;
56 TSlateAttribute<UScriptStruct*> StructFilterAttribute;
57 TSharedPtr<SComboButton> ComboButton;
58 TSharedPtr<SLiveConfigPropertyPicker> PropertyPicker;
59 TSharedPtr<SLiveConfigPropertyChip> Chip;
60
61};
Definition SLiveConfigPropertyChip.h:12
Definition SLiveConfigPropertyCombo.h:16
void Construct(const FArguments &InArgs)
Definition LiveConfigPropertyCombo.cpp:34
Definition SLiveConfigPropertyPicker.h:13
Definition LiveConfigPropertyName.h:14