Stream Chat Unreal SDK
Loading...
Searching...
No Matches
MessageListHeaderWidget.h
1// Copyright 2022 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
45private:
46 UFUNCTION()
47 void OnTypingIndicator(ETypingIndicatorState TypingState, const FUserRef& User);
48
49 void ShowOnlineStatusSubheader();
50
51 UPROPERTY(Transient)
52 UTypingIndicatorWidget* TypingIndicator;
53};
The client-side representation of a Stream Chat channel.
Definition: ChatChannel.h:74
FTypingIndicatorDelegate OnTypingIndicator
Fired whenever any user starts or stops typing.
Definition: ChatChannel.h:475
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
A reference to a unique User.
Definition: UserRef.h:23