Added filtering to details panels to filter the set of incoming objects passed to a details panel

Changed the way details panels handle multiple root objects.  The filter can now specify this without setting a specific flag on a details panel at creation time.

[CODEREVIEW] chris.gagnon


#ROBOMERGE-OWNER: matt.kuhlenschmidt
#ROBOMERGE-AUTHOR: matt.kuhlenschmidt
#ROBOMERGE-SOURCE: CL 11308033 via CL 11308037 via CL 11308040
#ROBOMERGE-BOT: (v653-11302973)
#rb none

[CL 11310703 by matt kuhlenschmidt in Main branch]
This commit is contained in:
matt kuhlenschmidt
2020-02-10 15:43:53 -05:00
parent fc1220a663
commit 2466840461
29 changed files with 503 additions and 365 deletions
@@ -164,7 +164,7 @@ void FPropertyEditorToolkit::Initialize( const EToolkitMode::Type Mode, const TS
const bool bCreateDefaultToolbar = false;
FAssetEditorToolkit::InitAssetEditor(Mode, InitToolkitHost, ApplicationId, StandaloneDefaultLayout, bCreateDefaultStandaloneMenu, bCreateDefaultToolbar, AdjustedObjectsToEdit);
TArray< TWeakObjectPtr<UObject> > AdjustedObjectsToEditWeak;
TArray<UObject*> AdjustedObjectsToEditWeak;
for (auto ObjectIter = AdjustedObjectsToEdit.CreateConstIterator(); ObjectIter; ++ObjectIter)
{
AdjustedObjectsToEditWeak.Add(*ObjectIter);
@@ -460,7 +460,7 @@ void FPropertyEditorToolkit::TableColumnsChanged()
void FPropertyEditorToolkit::GridSelectionChanged()
{
TArray< TWeakObjectPtr< UObject > > SelectedObjects;
TArray<TWeakObjectPtr<UObject>> SelectedObjects;
PropertyTable->GetSelectedTableObjects( SelectedObjects );
if (SelectedObjects.Num() == 0)
@@ -469,7 +469,15 @@ void FPropertyEditorToolkit::GridSelectionChanged()
SelectedObjects = PropertyTable->GetSelectedObjects();
}
PropertyTree->SetObjectArray( SelectedObjects );
TArray<UObject*> SelectedRawObjects;
SelectedRawObjects.Reserve(SelectedObjects.Num());
for (const TWeakObjectPtr<UObject>& Object : SelectedObjects)
{
SelectedRawObjects.Add(Object.Get());
}
PropertyTree->SetObjectArray(SelectedRawObjects);
const TSet< TSharedRef< IPropertyTableRow > > SelectedRows = PropertyTable->GetSelectedRows();