// Fill out your copyright notice in the Description page of Project Settings. #include "DialogueGraphTabSummoner.h" #include "DialogueAssetEditor.h" #define LOCTEXT_NAMESPACE "DialogueGraphTabSummoner" const FName DialogueGraphTabId = FName(TEXT("DialogueGraphTabId")); FDialogueGraphTabSummoner::FDialogueGraphTabSummoner(TSharedPtr InDialogueEditor) : FWorkflowTabFactory(DialogueGraphTabId, InDialogueEditor) { DialogueEditor = InDialogueEditor; TabLabel = LOCTEXT("DialogueGraphTabLabel", "Dialogue Graph"); ViewMenuDescription = LOCTEXT("DialogueGraph_ViewMenu_Desc", "Dialogue Graph"); ViewMenuTooltip = LOCTEXT("DialogueGraph_ViewMenu_ToolTip", "Show the Dialogue Graph"); } TSharedRef FDialogueGraphTabSummoner::CreateTabBody(const FWorkflowTabSpawnInfo& Info) const { TSharedPtr Editor = DialogueEditor.Pin(); SGraphEditor::FGraphEditorEvents GraphEvents; GraphEvents.OnSelectionChanged.BindSP(Editor.Get(), &FDialogueAssetEditor::OnGraphSelectionChanged); TSharedPtr GraphEditor = SNew(SGraphEditor) .IsEditable(true) .GraphEvents(GraphEvents) .GraphToEdit(Editor->GetDialogueGraph()); Editor->SetGraphEditor(GraphEditor); return GraphEditor.ToSharedRef(); } FText FDialogueGraphTabSummoner::GetTabToolTipText(const FWorkflowTabSpawnInfo& Info) const { return LOCTEXT("DialogueGraphTooltip", "The dialogue graph editor"); } #undef LOCTEXT_NAMESPACE