Files
UnrealEngineUWP/Engine/Source/Editor/DetailCustomizations/Private/MatineeActorDetails.cpp
James Golding 131420beb5 Remove Matinee related headers from Engine.h, and add only where needed
#codereview matt.kuhlenschmidt

[CL 2081832 by James Golding in Main branch]
2014-05-22 06:52:28 -04:00

63 lines
1.7 KiB
C++

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
#include "DetailCustomizationsPrivatePCH.h"
#include "Matinee/MatineeActor.h"
#include "MatineeActorDetails.h"
#define LOCTEXT_NAMESPACE "MatineeActorDetails"
TSharedRef<IDetailCustomization> FMatineeActorDetails::MakeInstance()
{
return MakeShareable( new FMatineeActorDetails );
}
void FMatineeActorDetails::CustomizeDetails( IDetailLayoutBuilder& DetailLayout )
{
const TArray< TWeakObjectPtr<UObject> >& SelectedObjects = DetailLayout.GetDetailsView().GetSelectedObjects();
for( int32 ObjectIndex = 0; ObjectIndex < SelectedObjects.Num(); ++ObjectIndex )
{
const TWeakObjectPtr<UObject>& CurrentObject = SelectedObjects[ObjectIndex];
if ( CurrentObject.IsValid() )
{
AMatineeActor* CurrentMatineeActor = Cast<AMatineeActor>(CurrentObject.Get());
if (CurrentMatineeActor != NULL)
{
MatineeActor = CurrentMatineeActor;
break;
}
}
}
DetailLayout.EditCategory( "MatineeActor", NSLOCTEXT("MatineeActorDetails", "MatineeActor", "Matinee Actor").ToString(), ECategoryPriority::Important )
.AddCustomRow( NSLOCTEXT("MatineeActorDetails", "OpenMatinee", "Open Matinee").ToString() )
[
SNew(SHorizontalBox)
+SHorizontalBox::Slot()
.FillWidth(1.f)
.Padding(0, 5, 10, 5)
[
SNew(SButton)
.ContentPadding(3)
.VAlign(VAlign_Center)
.HAlign(HAlign_Center)
.OnClicked( this, &FMatineeActorDetails::OnOpenMatineeForActor )
.Text( NSLOCTEXT("MatineeActorDetails", "OpenMatinee", "Open Matinee").ToString() )
]
];
}
FReply FMatineeActorDetails::OnOpenMatineeForActor()
{
if( MatineeActor.IsValid() )
{
GEditor->OpenMatinee(MatineeActor.Get());
}
return FReply::Handled();
}
#undef LOCTEXT_NAMESPACE