4#include "Widgets/DeclarativeSyntaxSupport.h"
5#include "Widgets/SCompoundWidget.h"
6#include "Widgets/Views/SListView.h"
7#include "Widgets/Views/STreeView.h"
8#include "Widgets/Input/SSearchBox.h"
47 const TSharedPtr<FDialogueBrowserTreeNode>& InItem,
48 const TSharedPtr<FDialogueBrowserTreeVariableProperties>* PropertyPtr,
54 const TSharedPtr<FDialogueBrowserTreeNode>& InItem,
55 const TSet<TWeakObjectPtr<const UDialogueGraphNode>>& GraphNodes,
61 const TSharedPtr<FDialogueBrowserTreeNode>& InItem,
62 const TSet<TWeakObjectPtr<const UDialogueGraphNode_Edge>>& EdgeNodes,
68 const TSharedPtr<FDialogueBrowserTreeNode>& InItem,
69 const TSharedPtr<FDialogueBrowserTreeVariableProperties>* PropertyPtr,
75 const TSharedPtr<FDialogueBrowserTreeNode>& Item,
76 const TMap<FName, TSharedPtr<FDialogueBrowserTreeVariableProperties>>&
Variables,
84 TSharedRef<SWidget>
MakeInlineWidget(
const TSharedPtr<FDialogueBrowserTreeNode>& InItem);
96 TSharedRef<ITableRow>
HandleGenerateRow(TSharedPtr<FDialogueBrowserTreeNode> InItem,
const TSharedRef<STableViewBase>& OwnerTable);
99 void HandleGetChildren(TSharedPtr<FDialogueBrowserTreeNode> InItem, TArray<TSharedPtr<FDialogueBrowserTreeNode>>& OutChildren);
111 return FReply::Handled();
125 const TSharedPtr<FDialogueBrowserTreeNode>& Parent,
126 const TSharedPtr<FDialogueBrowserTreeParticipantProperties>& ParticipantProperties,
127 bool bHideEmptyCategories
132 const TSharedPtr<FDialogueBrowserTreeNode>& Parent,
133 const TSharedPtr<FDialogueBrowserTreeParticipantProperties>& ParticipantProperties,
134 bool bHideEmptyCategories
139 const TSharedPtr<FDialogueBrowserTreeNode>& Parent,
140 const TSharedPtr<FDialogueBrowserTreeParticipantProperties>& ParticipantProperties,
141 bool bHideEmptyCategories
147 const FSlateBrush* IconBrush,
154 const FSlateBrush* IconBrush,
157 FName FunctionNameToOpen,
170 FName FunctionNameToOpen
EDialogueTreeNodeTextType
EDialogueBlueprintOpenType
void AddGraphNodeChildrenToItem(const TSharedPtr< FDialogueBrowserTreeNode > &InItem, const TSet< TWeakObjectPtr< const UDialogueGraphNode > > &GraphNodes, EDialogueTreeNodeTextType TextType)
TMap< FName, TSharedPtr< FDialogueBrowserTreeParticipantProperties > > ParticipantsProperties
TArray< TSharedPtr< FDialogueBrowserTreeNode > > MakeClassVariableCategoriesChildren(const TSharedPtr< FDialogueBrowserTreeNode > &Parent, const TSharedPtr< FDialogueBrowserTreeParticipantProperties > &ParticipantProperties, bool bHideEmptyCategories) const
void HandleSetExpansionRecursive(TSharedPtr< FDialogueBrowserTreeNode > InItem, bool bInIsItemExpanded)
static EVisibility GetOpenAssetButtonVisibility(UClass *Class)
TSharedPtr< FDialogueBrowserSortOption > SortOptionType
TArray< TSharedPtr< FDialogueBrowserTreeNode > > MakeParticipantCategoriesChildren(const TSharedPtr< FDialogueBrowserTreeNode > &Parent, const TSharedPtr< FDialogueBrowserTreeParticipantProperties > &ParticipantProperties, bool bHideEmptyCategories) const
SortOptionType DefaultSortOption
TSharedPtr< STreeView< TSharedPtr< FDialogueBrowserTreeNode > > > ParticipantsTreeView
void HandleDoubleClick(TSharedPtr< FDialogueBrowserTreeNode > InItem)
TArray< SortOptionType > SortOptions
void AddEdgeNodeChildrenToItem(const TSharedPtr< FDialogueBrowserTreeNode > &InItem, const TSet< TWeakObjectPtr< const UDialogueGraphNode_Edge > > &EdgeNodes, EDialogueTreeNodeTextType TextType)
TArray< TSharedPtr< FDialogueBrowserTreeNode > > MakeVariableCategoriesChildren(const TSharedPtr< FDialogueBrowserTreeNode > &Parent, const TSharedPtr< FDialogueBrowserTreeParticipantProperties > &ParticipantProperties, bool bHideEmptyCategories) const
TSharedRef< SWidget > FillViewOptionsEntries()
void BuildTreeViewItem(const TSharedPtr< FDialogueBrowserTreeNode > &Item)
void HandleSortSelectionChanged(SortOptionType Selection, ESelectInfo::Type SelectInfo)
TArray< TSharedPtr< FDialogueBrowserTreeNode > > RootChildren
static EVisibility GetBrowseAssetButtonVisibility(UClass *Class)
void HandleGetChildren(TSharedPtr< FDialogueBrowserTreeNode > InItem, TArray< TSharedPtr< FDialogueBrowserTreeNode > > &OutChildren)
TSharedRef< ITableRow > HandleGenerateRow(TSharedPtr< FDialogueBrowserTreeNode > InItem, const TSharedRef< STableViewBase > &OwnerTable)
FText GetFilterText() const
FReply FindInContentBrowserForItem(TSharedPtr< FDialogueBrowserTreeNode > InItem)
TSharedRef< SWidget > MakeInlineWidget(const TSharedPtr< FDialogueBrowserTreeNode > &InItem)
TSharedRef< SWidget > GetFilterTextBoxWidget()
TSharedRef< SWidget > MakeButtonsWidgetForDialogue(const TSharedPtr< FDialogueBrowserTreeNode > &InItem)
TSharedPtr< SSearchBox > FilterTextBoxWidget
void RefreshTree(bool bPreserveExpansion)
void Construct(const FArguments &InArgs)
static FReply OnOpenAssetClicked(UClass *Class, EDialogueBlueprintOpenType OpenType, FName FunctionNameToOpen)
TSharedPtr< FDialogueBrowserTreeNode > RootTreeItem
void AddVariableChildrenToItem(const TSharedPtr< FDialogueBrowserTreeNode > &Item, const TMap< FName, TSharedPtr< FDialogueBrowserTreeVariableProperties > > &Variables, EDialogueTreeNodeTextType VariableType)
static FText GetBrowseAssetText(UClass *Class)
void HandleSearchTextCommitted(const FText &InText, ETextCommit::Type InCommitType)
TSharedRef< SHorizontalBox > MakeCustomObjectIconAndTextWidget(const FText &InText, const FSlateBrush *IconBrush, UClass *Class, EDialogueBlueprintOpenType OpenType, FName FunctionNameToOpen, int32 IconSize=24)
TSharedRef< SWidget > MakeButtonWidgetForGraphNodes(const TArray< TSharedPtr< FDialogueBrowserTreeNode > > &InChildren)
void AddDialogueChildrenToItemFromProperty(const TSharedPtr< FDialogueBrowserTreeNode > &InItem, const TSharedPtr< FDialogueBrowserTreeVariableProperties > *PropertyPtr, EDialogueTreeNodeTextType TextType)
SortOptionType SelectedSortOption
void GenerateFilteredItems()
void HandleTreeSelectionChanged(TSharedPtr< FDialogueBrowserTreeNode > NewValue, ESelectInfo::Type SelectInfo)
TSharedRef< SHorizontalBox > MakeIconAndTextWidget(const FText &InText, const FSlateBrush *IconBrush, int32 IconSize=24)
void AddGraphNodeBaseChildrenToItemFromProperty(const TSharedPtr< FDialogueBrowserTreeNode > &InItem, const TSharedPtr< FDialogueBrowserTreeVariableProperties > *PropertyPtr, EDialogueTreeNodeTextType GraphNodeTextType, EDialogueTreeNodeTextType EdgeNodeTextType)
static FText GetJumpToAssetText(UClass *Class)
static FReply OnBrowseAssetClicked(UClass *Class)
UCLASS(BlueprintType, Meta = (DisplayThumbnail = "true"))