A Demo Project for the UnrealEngineSDK
Loading...
Searching...
No Matches
DialogueGraphNode_Details.h
Go to the documentation of this file.
1// Copyright Csaba Molnar, Daniel Butum. All Rights Reserved.
2#pragma once
3
4#include "PropertyEditorModule.h"
5#include "IDetailCustomization.h"
6#include "IDetailPropertyRow.h"
7
8#include "DlgManager.h"
11
15
21{
23
24public:
25 // Makes a new instance of this detail layout class for a specific detail view requesting it
26 static TSharedRef<IDetailCustomization> MakeInstance() { return MakeShared<Self>(); }
27
28 // IDetailCustomization interface
30 void CustomizeDetails(IDetailLayoutBuilder& DetailBuilder) override;
31
32private:
34 void HandleTextCommitted(const FText& InText, ETextCommit::Type CommitInfo);
35 void HandleTextChanged(const FText& InText);
36
37
39 TArray<FName> GetAllDialoguesParticipantNames() const
40 {
41 TArray<FName> OutArray;
43 return OutArray;
44 }
45
51
53 TArray<FName> GetAllDialoguesSpeakerStates() const
54 {
55 TArray<FName> OutArray;
57 return OutArray;
58 }
59
61 void HandleParticipantTextCommitted(const FText& InSearchText, ETextCommit::Type CommitInfo)
62 {
64 }
65
67 void HandleSpeakerStateCommitted(const FText& InSearchText, ETextCommit::Type CommitInfo)
68 {
70 }
71
72 // The IsVirtualParent property changed
74
75private:
78
80 // Property Handles
81 TSharedPtr<IPropertyHandle> IsVirtualParentPropertyHandle;
82 TSharedPtr<IPropertyHandle> TextPropertyHandle;
83
84 // Property rows
85 TSharedPtr<FDialogueTextPropertyPickList_CustomRowHelper> ParticipantNamePropertyRow;
86 TSharedPtr<FDialogueTextPropertyPickList_CustomRowHelper> SpeakerStatePropertyRow;
87 TSharedPtr<FDialogueMultiLineEditableTextBox_CustomRowHelper> TextPropertyRow;
88 IDetailPropertyRow* NodeDataPropertyRow = nullptr;
89 TSharedPtr<FDialogueObject_CustomRowHelper> NodeDataPropertyRow_CustomDisplay;
90 IDetailPropertyRow* VoiceSoundWavePropertyRow = nullptr;
91 IDetailPropertyRow* VoiceDialogueWavePropertyRow = nullptr;
92 IDetailPropertyRow* GenericDataPropertyRow = nullptr;
93 IDetailPropertyRow* ChildrenPropertyRow = nullptr;
94
96 IDetailLayoutBuilder* DetailLayoutBuilder = nullptr;
97
100};
void HandleParticipantTextCommitted(const FText &InSearchText, ETextCommit::Type CommitInfo)
TArray< FName > GetAllDialoguesSpeakerStates() const
FDialogueGraphNode_Details Self
TArray< FName > GetCurrentDialogueParticipantNames() const
TSharedPtr< FDialogueTextPropertyPickList_CustomRowHelper > ParticipantNamePropertyRow
void HandleTextCommitted(const FText &InText, ETextCommit::Type CommitInfo)
IDetailPropertyRow * VoiceDialogueWavePropertyRow
IDetailLayoutBuilder * DetailLayoutBuilder
void CustomizeDetails(IDetailLayoutBuilder &DetailBuilder) override
TSharedPtr< FDialogueTextPropertyPickList_CustomRowHelper > SpeakerStatePropertyRow
IDetailPropertyRow * GenericDataPropertyRow
TArray< FName > GetAllDialoguesParticipantNames() const
IDetailPropertyRow * VoiceSoundWavePropertyRow
TSharedPtr< FDialogueObject_CustomRowHelper > NodeDataPropertyRow_CustomDisplay
void HandleTextChanged(const FText &InText)
static TSharedRef< IDetailCustomization > MakeInstance()
TSharedPtr< FDialogueMultiLineEditableTextBox_CustomRowHelper > TextPropertyRow
TSharedPtr< IPropertyHandle > TextPropertyHandle
TSharedPtr< IPropertyHandle > IsVirtualParentPropertyHandle
void HandleSpeakerStateCommitted(const FText &InSearchText, ETextCommit::Type CommitInfo)
UCLASS(BlueprintType, Meta = (DisplayThumbnail = "true"))
Definition DlgDialogue.h:85
void UpdateAndRefreshData(bool bUpdateTextsNamespacesAndKeys=false)
static void GetAllDialoguesSpeakerStates(TArray< FName > &OutArray)
UFUNCTION(BlueprintPure, Category = "Dialogue|Data")
static void GetAllDialoguesParticipantNames(TArray< FName > &OutArray)
UFUNCTION(BlueprintPure, Category = "Dialogue|Data")
static TArray< FName > GetDialogueSortedParticipantNames(UDlgDialogue *Dialogue)