5#include "Channel/Message.h"
6#include "Components/Overlay.h"
7#include "CoreMinimal.h"
8#include "MessageHoverMenuWidget.h"
9#include "Reaction/MessageReactionsWidget.h"
10#include "StreamWidget.h"
11#include "TextBubbleWidget.h"
12#include "TimestampWidget.h"
14#include "MessageWidget.generated.h"
26 UFUNCTION(BlueprintCallable, Category =
"Stream Chat")
27 void Setup(
const FMessage& InMessage, EMessageSide InSide, EMessagePosition InPosition);
30 UPROPERTY(meta = (BindWidgetOptional))
31 UTextBubbleWidget* TextBubble;
34 UPROPERTY(meta = (BindWidgetOptional))
35 UVerticalBox* AlignPanel;
38 UPROPERTY(meta = (BindWidgetOptional))
39 UContentWidget* HoverMenuTargetPanel;
42 UPROPERTY(meta = (BindWidgetOptional))
43 UContentWidget* ReactionsTargetPanel;
46 UPROPERTY(meta = (BindWidgetOptional))
47 UContentWidget* TimestampTargetPanel;
50 UPROPERTY(meta = (BindWidgetOptional))
51 UContentWidget* AvatarTargetPanel;
53 UPROPERTY(EditDefaultsOnly, NoClear, Category = Defaults)
54 TSubclassOf<UMessageHoverMenuWidget> MouseHoverMenuWidgetClass = UMessageHoverMenuWidget::StaticClass();
56 UPROPERTY(EditDefaultsOnly, NoClear, Category = Defaults)
57 TSubclassOf<UMessageReactionsWidget> ReactionsWidgetClass = UMessageReactionsWidget::StaticClass();
59 UPROPERTY(EditDefaultsOnly, NoClear, Category = Defaults)
60 TSubclassOf<UAvatarWidget> AvatarWidgetClass = UAvatarWidget::StaticClass();
62 UPROPERTY(EditDefaultsOnly, NoClear, Category = Defaults)
63 TSubclassOf<UTimestampWidget> TimestampWidgetClass = UTimestampWidget::StaticClass();
65 UPROPERTY(EditDefaultsOnly, Category = Defaults)
66 int32 AvatarSize = 36;
68 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Setup)
70 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Setup)
71 EMessagePosition Position;
72 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Setup)
76 virtual void OnSetup()
override;
78 virtual void NativeOnMouseEnter(
const FGeometry& InGeometry,
const FPointerEvent& InMouseEvent)
override;
79 virtual void NativeOnMouseLeave(
const FPointerEvent& InMouseEvent)
override;
81 bool ShouldDisplayHoverMenu()
const;
89 UMessageReactionsWidget* Reactions;
Represents a Stream Chat message.
Definition: Message.h:66