Stream Chat Unreal SDK
Loading...
Searching...
No Matches
FadingMessageListWidget.h
1// Copyright 2022 Stream.IO, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Channel/ChatChannel.h"
6#include "Components/EditableText.h"
7#include "Components/PanelWidget.h"
8#include "Components/ScrollBox.h"
9#include "CoreMinimal.h"
10#include "Message/FadingMessageWidget.h"
11#include "StreamWidget.h"
12
13#include "FadingMessageListWidget.generated.h"
14
18UCLASS()
19class STREAMCHATUI_API UFadingMessageListWidget final : public UStreamWidget
20{
21 GENERATED_BODY()
22
23public:
24 UFUNCTION(BlueprintCallable, Category = "Stream Chat")
25 void Setup(UChatChannel* InChannel, const FTimespan& InMessageLifetime);
26 void Setup(UChatChannel* InChannel);
27
28protected:
29 UPROPERTY(meta = (BindWidget))
30 UScrollBox* MessagesScrollBox;
31
32 UPROPERTY(meta = (BindWidget))
33 UEditableText* ChatInputBox;
34
35 UPROPERTY(meta = (BindWidget))
36 UWidget* ChatInputVisual;
37
38 UPROPERTY(EditAnywhere, Category = Defaults)
39 FName OpenChatInputActionName = TEXT("Chat");
40
41 UPROPERTY(EditDefaultsOnly, NoClear, Category = Defaults)
42 TSubclassOf<UFadingMessageWidget> FadingMessageWidgetClass = UFadingMessageWidget::StaticClass();
43
44 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Setup)
45 FTimespan MessageLifetime = FTimespan::FromSeconds(20.f);
46
47private:
48 virtual void NativeConstruct() override;
49 virtual void NativeDestruct() override;
50
51 UFUNCTION()
52 void MessagesUpdated();
53
54 UFUNCTION()
55 void TextCommitted(const FText& Text, ETextCommit::Type CommitMethod);
56
57 UFUNCTION()
58 void OpenChat();
59 void CloseChat();
60
61 UPROPERTY(Transient)
62 UChatChannel* MyChannel;
63};
The client-side representation of a Stream Chat channel.
Definition: ChatChannel.h:74
@ Text
Text of the message.
@ Type
Type of the message.