Help making STreeView similar to Array Detail view

Hello! I’m making a custom data editor in which I have an array of instanced items.
Some of these items can have children of the same type, effectively making a tree.

I’d love to be able to have the items all displayed in a Tree like visual representation, which I can achieve using STreeView, but, I’d like to be able to keep some of the functionality that the normal detail view of an array provides, such as Drag/Drop, Copy/Paste, Duplicate/Delete, and most importantly changing Class type.

TArray Detail View.

STreeView (just showing the class name at the moment)
image

Ideally, I’d like to be able to swap classes on the STreeView, but I’m having a hard time finding where to look.
Other utils like drag and drop, copy/past, duplicate and delete I think I can find an example somewhere.

Let me know if you have any idea of where I should look at.
Cheers.

I made some progress on this using the Widget Reflector. I was able to find the component and where its used.

I was able to use SClassPropertyEntryBox to create a ComboBox with a Class filter.

SNew(SClassPropertyEntryBox)
	.MetaClass(UFlowPilotTask::StaticClass())
	.ShowDisplayNames(true)
	.SelectedClass(InTask->GetClass())
	.OnSetClass_Lambda([](const UClass* NewEntryClass) -> void { })

It doesn’t show the little icon before the text just like in the left column but its a start, at least it displays all classes I want.

I’ll come back to the thread for progress and to check if someone has a better solution.
Going to try swapping the classes now.