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