56 lines
2.0 KiB
C++
56 lines
2.0 KiB
C++
// Fill out your copyright notice in the Description page of Project Settings.
|
|
|
|
#include "DialogueDetailsTabSummoner.h"
|
|
#include "DialogueAssetEditor.h"
|
|
#include "PropertyEditorModule.h"
|
|
#include "IDetailsView.h"
|
|
|
|
#define LOCTEXT_NAMESPACE "DialogueDetailsTabSummoner"
|
|
|
|
const FName DialogueDetailsTabId = FName(TEXT("DialogueDetailsTabId"));
|
|
|
|
FDialogueDetailsTabSummoner::FDialogueDetailsTabSummoner(TSharedPtr<FDialogueAssetEditor> InDialogueEditor)
|
|
: FWorkflowTabFactory(DialogueDetailsTabId, InDialogueEditor)
|
|
{
|
|
DialogueEditor = InDialogueEditor;
|
|
TabLabel = LOCTEXT("DialogueDetailsTabLabel", "Details");
|
|
ViewMenuDescription = LOCTEXT("DialogueDetails_ViewMenu_Desc", "Details");
|
|
ViewMenuTooltip = LOCTEXT("DialogueDetails_ViewMenu_ToolTip", "Show the Details Panel");
|
|
}
|
|
|
|
TSharedRef<SWidget> FDialogueDetailsTabSummoner::CreateTabBody(const FWorkflowTabSpawnInfo& Info) const
|
|
{
|
|
TSharedPtr<FDialogueAssetEditor> Editor = DialogueEditor.Pin();
|
|
FPropertyEditorModule& PropertyEditorModule = FModuleManager::LoadModuleChecked<FPropertyEditorModule>(TEXT("PropertyEditor"));
|
|
|
|
FDetailsViewArgs DetailsViewArgs;
|
|
DetailsViewArgs.bAllowSearch = false;
|
|
DetailsViewArgs.bHideSelectionTip = true;
|
|
DetailsViewArgs.bLockable = false;
|
|
DetailsViewArgs.bSearchInitialKeyFocus = true;
|
|
DetailsViewArgs.bUpdatesFromSelection = false;
|
|
DetailsViewArgs.NotifyHook = nullptr;
|
|
DetailsViewArgs.bShowOptions = true;
|
|
DetailsViewArgs.bShowModifiedPropertiesOption = false;
|
|
DetailsViewArgs.bShowScrollBar = false;
|
|
|
|
TSharedPtr<IDetailsView> DetailsView = PropertyEditorModule.CreateDetailView(DetailsViewArgs);
|
|
DetailsView->SetObject(nullptr);
|
|
Editor->SetDetailsView(DetailsView);
|
|
|
|
return SNew(SVerticalBox)
|
|
+ SVerticalBox::Slot()
|
|
.FillHeight(1.0f)
|
|
.HAlign(HAlign_Fill)
|
|
[
|
|
DetailsView.ToSharedRef()
|
|
];
|
|
}
|
|
|
|
FText FDialogueDetailsTabSummoner::GetTabToolTipText(const FWorkflowTabSpawnInfo& Info) const
|
|
{
|
|
return LOCTEXT("DialogueDetailsTooltip", "The details panel for selected nodes");
|
|
}
|
|
|
|
#undef LOCTEXT_NAMESPACE
|