Stream Chat Unreal SDK
Loading...
Searching...
No Matches
ReactionPickerButtonWidget.h
1// Copyright 2022 Stream.IO, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Components/Button.h"
6#include "CoreMinimal.h"
7#include "ReactionIconWidget.h"
8#include "StreamWidget.h"
9
10#include "ReactionPickerButtonWidget.generated.h"
11
15UCLASS()
16class STREAMCHATUI_API UReactionPickerButtonWidget final : public UStreamWidget
17{
18 GENERATED_BODY()
19
20public:
21 UReactionPickerButtonWidget();
22 UFUNCTION(BlueprintCallable, Category = "Stream Chat")
23 void Setup(const FName& InReactionType, EMessageSide InSide);
24
25 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FReactionPickerButtonClicked, const FName&, ReactionType);
26 UPROPERTY(BlueprintAssignable)
27 FReactionPickerButtonClicked OnReactionPickerButtonClicked;
28
29 DECLARE_MULTICAST_DELEGATE_OneParam(FReactionPickerButtonClickedNative, const FName& /* ReactionType */);
30 FReactionPickerButtonClickedNative OnReactionPickerButtonClickedNative;
31
32protected:
33 UPROPERTY(meta = (BindWidget))
34 UButton* Button;
35
36 UPROPERTY(meta = (BindWidget))
37 UReactionIconWidget* Icon;
38
39 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Setup)
40 FName ReactionType;
41
42 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Setup)
43 EMessageSide Side;
44
45private:
46 virtual void OnSetup() override;
47 virtual void NativePreConstruct() override;
48 virtual void NativeConstruct() override;
49 virtual void NativeDestruct() override;
50
51 UFUNCTION()
52 void OnButtonClicked();
53};