Stream Chat Unreal SDK
Loading...
Searching...
No Matches
SummaryChannelStatusWidget.h
1// Copyright 2022 Stream.IO, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Avatar/AvatarWidget.h"
6#include "Channel/ChatChannel.h"
7#include "ChannelList/ChannelStatusWidget.h"
8#include "Components/Image.h"
9#include "CoreMinimal.h"
10#include "Message/TimestampWidget.h"
11
12#include "SummaryChannelStatusWidget.generated.h"
13
17UCLASS()
18class STREAMCHATUI_API USummaryChannelStatusWidget final : public UChannelStatusWidget
19{
20 GENERATED_BODY()
21
22protected:
23 UPROPERTY(meta = (BindWidget))
24 UChannelContextWidget* ChannelContextProvider;
25
26 UPROPERTY(meta = (BindWidget))
27 UAvatarWidget* Avatar;
28
29 UPROPERTY(meta = (BindWidget))
30 UTimestampWidget* Timestamp;
31
32 UPROPERTY(meta = (BindWidget))
33 UWidget* Notification;
34
35 UPROPERTY(meta = (BindWidget))
36 UTextBlock* NotificationTextBlock;
37
38 UPROPERTY(meta = (BindWidget))
39 UTextBlock* RecentMessageTextBlock;
40
41private:
42 virtual void OnSetup() override;
43 virtual void NativePreConstruct() override;
44 virtual void NativeConstruct() override;
45 virtual void NativeDestruct() override;
46 virtual bool IsForChannel(const UChatChannel*) const override;
47 virtual FLinearColor GetTitleColor() override;
48
49 virtual int32 NativePaint(
50 const FPaintArgs& Args,
51 const FGeometry& AllottedGeometry,
52 const FSlateRect& MyCullingRect,
53 FSlateWindowElementList& OutDrawElements,
54 int32 LayerId,
55 const FWidgetStyle& InWidgetStyle,
56 bool bParentEnabled) const override;
57
58 void UpdateChannelTitleText() const;
59 void UpdateRecentMessageText() const;
60
61 UFUNCTION()
62 void OnMessagesUpdated();
63 UFUNCTION()
64 void OnUnreadChanged(int32 UnreadCount);
65
66 mutable float RecentMessageAvailableSpace;
67 mutable float ChannelTitleAvailableSpace;
68};
Provide a reference to a UChatChannel to child widgets.
Definition: ChannelContextWidget.h:21
The client-side representation of a Stream Chat channel.
Definition: ChatChannel.h:74