// 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 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 FDialogueDetailsTabSummoner::CreateTabBody(const FWorkflowTabSpawnInfo& Info) const { TSharedPtr Editor = DialogueEditor.Pin(); FPropertyEditorModule& PropertyEditorModule = FModuleManager::LoadModuleChecked(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 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