2019-01-09 16:13:41 -05:00
// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
2019-01-08 11:38:48 -05:00
# include "DataTableRowUtlis.h"
# include "DetailWidgetRow.h"
# include "Editor.h"
# include "Framework/MultiBox/MultiBoxBuilder.h"
# include "Textures/SlateIcon.h"
# include "Widgets/SWidget.h"
2019-06-04 15:42:48 -04:00
# include "Framework/Commands/GenericCommands.h"
# include "IDataTableEditor.h"
2019-01-08 11:38:48 -05:00
# define LOCTEXT_NAMESPACE "FDataTableRowUtils"
const FText FDataTableRowUtils : : SearchForReferencesActionName = LOCTEXT ( " FDataTableRowUtils_SearchForReferences " , " Find Row References " ) ;
const FText FDataTableRowUtils : : SearchForReferencesActionTooltip = LOCTEXT ( " FDataTableRowUtils_SearchForReferencesTooltip " , " Find assets that reference this Row " ) ;
2019-06-04 15:42:48 -04:00
TSharedRef < SWidget > FDataTableRowUtils : : MakeRowActionsMenu ( TSharedPtr < IDataTableEditor > Editor , FExecuteAction SearchForReferencesAction )
2019-01-08 11:38:48 -05:00
{
if ( SearchForReferencesAction . IsBound ( ) )
{
2019-06-04 15:42:48 -04:00
FMenuBuilder MenuBuilder ( true , Editor - > GetToolkitCommands ( ) ) ;
MenuBuilder . AddMenuEntry ( FGenericCommands : : Get ( ) . Copy ) ;
MenuBuilder . AddMenuEntry ( FGenericCommands : : Get ( ) . Paste ) ;
MenuBuilder . AddMenuEntry ( FGenericCommands : : Get ( ) . Duplicate ) ;
MenuBuilder . AddMenuSeparator ( ) ;
2019-01-08 11:38:48 -05:00
MenuBuilder . AddMenuEntry ( SearchForReferencesActionName , SearchForReferencesActionTooltip ,
FSlateIcon ( ) , FUIAction ( SearchForReferencesAction ) ) ;
return MenuBuilder . MakeWidget ( ) ;
}
return SNullWidget : : NullWidget ;
}
void FDataTableRowUtils : : AddSearchForReferencesContextMenu ( FDetailWidgetRow & RowNameDetailWidget , FExecuteAction SearchForReferencesAction )
{
if ( SearchForReferencesAction . IsBound ( ) & & FEditorDelegates : : OnOpenReferenceViewer . IsBound ( ) )
{
RowNameDetailWidget . AddCustomContextMenuAction ( FUIAction ( SearchForReferencesAction ) , SearchForReferencesActionName ,
SearchForReferencesActionTooltip , FSlateIcon ( ) ) ;
}
}
# undef LOCTEXT_NAMESPACE