Stream Chat Unreal SDK
Loading...
Searching...
No Matches
MessageListHeaderWidget.h
1// Copyright 2026 Stream.IO, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Avatar/AvatarWidget.h"
6#include "Blueprint/UserWidget.h"
7#include "Channel/ChatChannel.h"
8#include "CoreMinimal.h"
9#include "HeaderWidget.h"
10#include "OnlineStatusSubheaderWidget.h"
11#include "TypingIndicatorWidget.h"
12
13#include "MessageListHeaderWidget.generated.h"
14
15class UChatChannel;
16
21UCLASS()
22class STREAMCHATUI_API UMessageListHeaderWidget final : public UStreamWidget
23{
24 GENERATED_BODY()
25
26public:
28
29protected:
30 virtual void NativePreConstruct() override;
31 virtual void NativeConstruct() override;
32 virtual void NativeDestruct() override;
33
34 UPROPERTY(meta = (BindWidget))
35 UHeaderWidget* Header;
36
37 UPROPERTY(meta = (BindWidget))
38 UAvatarWidget* Avatar;
39
40 UPROPERTY(EditDefaultsOnly, NoClear, Category = Defaults)
41 TSubclassOf<UTypingIndicatorWidget> TypingIndicatorWidgetClass = UTypingIndicatorWidget::StaticClass();
42 UPROPERTY(EditDefaultsOnly, NoClear, Category = Defaults)
43 TSubclassOf<UOnlineStatusSubheaderWidget> StatusWidgetClass = UOnlineStatusSubheaderWidget::StaticClass();
44
46 UPROPERTY(EditDefaultsOnly, Category = Thread)
47 FText ThreadTitleText = NSLOCTEXT("StreamChat", "ThreadTitle", "Thread");
48
49private:
50 UFUNCTION()
51 void OnTypingIndicator(ETypingIndicatorState TypingState, const FUserRef& User);
52
53 UFUNCTION()
54 void OnThreadChanged(bool bThreadOpen, const FMessage& ParentMessage);
55
56 void ShowOnlineStatusSubheader();
57 void RefreshTitle();
58
59 UPROPERTY(Transient)
60 UTypingIndicatorWidget* TypingIndicator;
61};
The client-side representation of a Stream Chat channel.
Definition ChatChannel.h:75
FTypingIndicatorDelegate OnTypingIndicator
Fired whenever any user starts or stops typing, in the channel or in any of its threads.
Definition ChatChannel.h:623
A top bar widget.
Definition HeaderWidget.h:19
Top bar for a message list.
Definition MessageListHeaderWidget.h:23
Displays typing status for multiple users.
Definition TypingIndicatorWidget.h:20
Represents a Stream Chat message.
Definition Message.h:70
A reference to a unique User.
Definition UserRef.h:23