UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SPropertyViewer.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
9#include "UObject/Class.h"
10#include "UObject/Field.h"
12
13namespace UE::PropertyViewer
14{
15
16class IFieldIterator;
17class IFieldExpander;
18class INotifyHook;
19
20namespace Private
21{
22class FPropertyViewerImpl;
23}
24
27{
28private:
29 using Super = SCompoundWidget;
30
31public:
32 class FHandle
33 {
34 private:
35 friend SPropertyViewer;
36 int32 Id = 0;
37 public:
39 {
40 return Id == Other.Id;
41 }
43 {
44 return Id != Other.Id;
45 }
46 bool IsValid() const
47 {
48 return Id != 0;
49 }
51 {
52 return ::GetTypeHash(Other.Id);
53 }
54 };
55
57 {
58 Hidden,
59 Visible,
61 };
62
69
70public:
77
83 SLATE_ARGUMENT_DEFAULT(bool, bSanitizeName) = false;
85 SLATE_ARGUMENT_DEFAULT(bool, bShowFieldIcon) = true;
87 SLATE_ARGUMENT_DEFAULT(bool, bSortChildNode) = false;
95 SLATE_ARGUMENT_DEFAULT(IFieldIterator*, FieldIterator) = nullptr;
97 SLATE_ARGUMENT_DEFAULT(IFieldExpander*, FieldExpander) = nullptr;
99 SLATE_ARGUMENT_DEFAULT(INotifyHook*, NotifyHook) = nullptr;
107 SLATE_EVENT(FGetFieldWidget, OnGetPreSlot)
109 SLATE_EVENT(FGetFieldWidget, OnGetPostSlot)
111 SLATE_EVENT(FOnContextMenuOpening, OnContextMenuOpening)
113 SLATE_EVENT(FOnSelectionChanged, OnSelectionChanged)
115 SLATE_EVENT(FOnDoubleClicked, OnDoubleClicked);
117 SLATE_EVENT(FOnGenerateContainer, OnGenerateContainer)
121
122 ADVANCEDWIDGETS_API void Construct(const FArguments& InArgs);
123 ADVANCEDWIDGETS_API void Construct(const FArguments& InArgs, const UScriptStruct* Struct);
124 ADVANCEDWIDGETS_API void Construct(const FArguments& InArgs, const UScriptStruct* Struct, void* Data);
125 ADVANCEDWIDGETS_API void Construct(const FArguments& InArgs, const UClass* Class);
126 ADVANCEDWIDGETS_API void Construct(const FArguments& InArgs, UObject* ObjectInstance);
127 ADVANCEDWIDGETS_API void Construct(const FArguments& InArgs, const UFunction* Function);
128
129 ADVANCEDWIDGETS_API virtual void Tick(const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime) override;
130
131public:
136 ADVANCEDWIDGETS_API FHandle AddInstance(UObject* ObjectInstance, TOptional<FText> DisplayName = TOptional<FText>());
137
140
142
145
146private:
147 void ConstructInternal(const FArguments& InArgs);
148 static FHandle MakeContainerIdentifier();
149 TSharedPtr<Private::FPropertyViewerImpl> Implementation;
150};
151
152} //namespace
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define SLATE_NAMED_SLOT(DeclarationType, SlotName)
Definition DeclarativeSyntaxSupport.h:437
#define SLATE_EVENT(DelegateName, EventName)
Definition DeclarativeSyntaxSupport.h:458
#define SLATE_END_ARGS()
Definition DeclarativeSyntaxSupport.h:116
FOnDragDetected
Definition SlateDelegates.h:24
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Field.h:353
Definition Reply.h:24
Definition Text.h:385
Definition SCompoundWidget.h:22
SLATECORE_API SCompoundWidget()
Definition SCompoundWidget.cpp:81
virtual SLATECORE_API FReply OnDragDetected(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent)
Definition SWidget.cpp:561
Definition ArrayView.h:139
Definition Array.h:670
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition Class.h:3793
Definition IFieldExpander.h:21
Definition IFieldIterator.h:19
Definition INotifyHook.h:13
Definition SPropertyViewer.h:33
bool operator!=(FHandle Other) const
Definition SPropertyViewer.h:42
friend uint32 GetTypeHash(const FHandle &Other)
Definition SPropertyViewer.h:50
bool IsValid() const
Definition SPropertyViewer.h:46
bool operator==(FHandle Other) const
Definition SPropertyViewer.h:38
Definition SPropertyViewer.h:27
SLATE_ARGUMENT_DEFAULT(bool, bShowFieldIcon)
SLATE_ARGUMENT(TOptional< const FFieldColorSettings >, OverrideIconColorSettings)
SLATE_BEGIN_ARGS(SPropertyViewer)
Definition SPropertyViewer.h:78
ADVANCEDWIDGETS_API void RemoveAll()
Definition SPropertyViewer.cpp:104
DECLARE_DELEGATE_ThreeParams(FOnSelectionChanged, FHandle, TArrayView< const FFieldVariant >, ESelectInfo::Type)
EPropertyVisibility
Definition SPropertyViewer.h:57
SLATE_ARGUMENT_DEFAULT(bool, bSortChildNode)
SLATE_ARGUMENT_DEFAULT(EPropertyVisibility, PropertyVisibility)
ADVANCEDWIDGETS_API void Construct(const FArguments &InArgs)
Definition SPropertyViewer.cpp:19
DECLARE_DELEGATE_RetVal_TwoParams(TSharedPtr< SWidget >, FGetFieldWidget, FHandle, TArrayView< const FFieldVariant >)
SLATE_ARGUMENT_DEFAULT(bool, bSanitizeName)
DECLARE_DELEGATE_RetVal_TwoParams(TSharedRef< SWidget >, FOnGenerateContainer, FHandle, TOptional< FText > DisplayName)
DECLARE_DELEGATE_TwoParams(FOnDoubleClicked, FHandle, TArrayView< const FFieldVariant >)
ADVANCEDWIDGETS_API TArray< FSelectedItem > GetSelectedItems() const
Definition SPropertyViewer.cpp:110
SLATE_ARGUMENT_DEFAULT(IFieldIterator *, FieldIterator)
ADVANCEDWIDGETS_API FHandle AddContainer(const UScriptStruct *Struct, TOptional< FText > DisplayName=TOptional< FText >())
Definition SPropertyViewer.cpp:63
ADVANCEDWIDGETS_API FHandle AddInstance(const UScriptStruct *Struct, void *Data, TOptional< FText > DisplayName=TOptional< FText >())
Definition SPropertyViewer.cpp:83
SLATE_ARGUMENT_DEFAULT(IFieldExpander *, FieldExpander)
DECLARE_DELEGATE_RetVal_FourParams(FReply, FOnDragDetected, const FGeometry &, const FPointerEvent &, FHandle, TArrayView< const FFieldVariant >)
ADVANCEDWIDGETS_API void SetRawFilterText(const FText &InFilterText)
Definition SPropertyViewer.cpp:116
DECLARE_DELEGATE_RetVal_TwoParams(TSharedPtr< SWidget >, FOnContextMenuOpening, FHandle, TArrayView< const FFieldVariant >)
SLATE_ARGUMENT_DEFAULT(bool, bShowSearchBox)
SLATE_ARGUMENT_DEFAULT(INotifyHook *, NotifyHook)
SLATE_ARGUMENT_DEFAULT(bool, bFocusSearchBox)
SLATE_ARGUMENT_DEFAULT(ESelectionMode::Type, SelectionMode)
ADVANCEDWIDGETS_API void SetSelection(FHandle Container, TArrayView< const FFieldVariant > FieldPath)
Definition SPropertyViewer.cpp:121
Definition Class.h:2476
Definition Object.h:95
Definition Class.h:1720
Type
Definition SlateEnums.h:311
Type
Definition ITypedTableView.h:16
@ Single
Definition ITypedTableView.h:21
Definition OverriddenPropertySet.cpp:45
Definition FieldIconFinder.cpp:16
Definition Geometry.h:40
Definition Events.h:695
Definition Optional.h:131
FHandle Handle
Definition SPropertyViewer.h:65
TArray< TArray< FFieldVariant > > Fields
Definition SPropertyViewer.h:66
bool bIsContainerSelected
Definition SPropertyViewer.h:67