5#include "Components/Border.h"
6#include "Components/Button.h"
7#include "Components/MenuAnchor.h"
8#include "Components/TextBlock.h"
9#include "CoreMinimal.h"
10#include "Message/MessageSide.h"
11#include "Reaction/ReactionGroup.h"
12#include "ReactionIconWidget.h"
13#include "ReactionsTooltipWidget.h"
14#include "StreamWidget.h"
16#include "BottomReactionWidget.generated.h"
29 UFUNCTION(BlueprintCallable, Category =
"Stream Chat")
32 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FBottomReactionClicked,
const FReactionGroup&, Reaction);
33 UPROPERTY(BlueprintAssignable)
34 FBottomReactionClicked OnBottomReactionClicked;
36 DECLARE_MULTICAST_DELEGATE_OneParam(FBottomReactionClickedNative,
const FReactionGroup&);
37 FBottomReactionClickedNative OnBottomReactionClickedNative;
40 UPROPERTY(meta = (BindWidget))
41 UReactionIconWidget* ReactionIcon;
43 UPROPERTY(meta = (BindWidget))
44 UTextBlock* ReactionCountTextBlock;
46 UPROPERTY(meta = (BindWidget))
49 UPROPERTY(meta = (BindWidget))
52 UPROPERTY(meta = (BindWidget))
55 UPROPERTY(EditDefaultsOnly, NoClear, Category = Defaults)
56 TSubclassOf<UReactionsTooltipWidget> ReactionsTooltipWidgetClass = UReactionsTooltipWidget::StaticClass();
58 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Setup)
62 virtual void OnSetup()
override;
63 virtual void NativePreConstruct()
override;
64 virtual void NativeConstruct()
override;
65 virtual void NativeDestruct()
override;
67 virtual void NativeOnMouseEnter(
const FGeometry& InGeometry,
const FPointerEvent& InMouseEvent)
override;
68 virtual void NativeOnMouseLeave(
const FPointerEvent& InMouseEvent)
override;
70 EMessageSide GetSide()
const;
75 void OnButtonClicked();
78 UUserWidget* CreateTooltip();
80 FTimerHandle HoverTimerHandle;
An abstraction to group reactions by their type.
Definition: ReactionGroup.h:17