Files
mikko mononen 441324a228 StateTree: Added State outliner and made the main tree view more detailed
- Simplied the task icon
- Created common treeview for States, used for state selection and outliner view
- Added common functions to describe state links and transitions
- Made custom expander arrow the main tree view
- Move the task lits on separate row on the main tree view
- Added enter condition list for on main tree view
- Clicking on tasks or enter conditions highlight them in the details panel
- Added state outliner which displays the state list compactly
- Added feedback for the drag and drop, and moved the code to separate file

#rb Yoan.StAmant

[CL 35239895 by mikko mononen in ue5-main branch]
2024-08-01 05:38:41 -04:00

42 lines
934 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "StateTreeDragDrop.h"
#include "StateTreeState.h"
#include "StateTreeViewModel.h"
#include "Widgets/SBoxPanel.h"
#include "Widgets/Layout/SBorder.h"
#include "Widgets/Text/STextBlock.h"
TSharedPtr<SWidget> FStateTreeSelectedDragDrop::GetDefaultDecorator() const
{
// Display all dragged nodes, enable the ones that can be moved into the current target node.
const TSharedRef<SVerticalBox> Box = SNew(SVerticalBox);
if (ViewModel)
{
TArray<UStateTreeState*> SelectedStates;
ViewModel->GetSelectedStates(SelectedStates);
for (UStateTreeState* State : SelectedStates)
{
Box->AddSlot()
.Padding(FMargin(4, 2))
[
SNew(STextBlock)
.Text(FText::FromName(State->Name))
.IsEnabled_Lambda([this]()
{
return bCanDrop;
})
];
}
}
return SNew(SBorder)
.BorderImage(FAppStyle::GetBrush("Menu.Background"))
[
Box
];
}