Stream Chat Unreal SDK
Loading...
Searching...
No Matches
StreamWidget.h
1// Copyright 2022 Stream.IO, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Blueprint/UserWidget.h"
6#include "Context/ChannelContextWidget.h"
7#include "Context/ClientContextWidget.h"
8#include "CoreMinimal.h"
9
10#include "StreamWidget.generated.h"
11
12class UChatChannel;
13class UThemeDataAsset;
14
15UCLASS(Abstract, meta = (DisableNativeTick))
16class STREAMCHATUI_API UStreamWidget : public UUserWidget
17{
18 GENERATED_BODY()
19
20protected:
22 void Setup();
23
24 virtual void NativePreConstruct() override;
25
27 UFUNCTION(BlueprintGetter)
28 UClientContextWidget* GetClientContext() const;
30 UFUNCTION(BlueprintGetter)
31 UStreamChatClientComponent* GetClient() const;
33 UFUNCTION(BlueprintGetter)
34 UChannelContextWidget* GetChannelContext() const;
36 UFUNCTION(BlueprintGetter)
37 UChatChannel* GetChannel() const;
39 UFUNCTION(BlueprintGetter)
40 UThemeDataAsset* GetTheme() const;
41
42private:
43 virtual bool Initialize() override;
44
48 virtual void OnSetup()
49 {
50 }
51
53 UPROPERTY(BlueprintGetter = GetClientContext, Transient, Category = Stream)
54 mutable UClientContextWidget* ClientContext;
56 UPROPERTY(BlueprintGetter = GetClient, Transient, Category = Stream)
57 mutable UStreamChatClientComponent* Client;
59 UPROPERTY(BlueprintGetter = GetChannelContext, Transient, Category = Stream)
60 mutable UChannelContextWidget* ChannelContext;
62 UPROPERTY(BlueprintGetter = GetChannel, Transient, Category = Stream)
63 mutable UChatChannel* Channel;
65 UPROPERTY(BlueprintGetter = GetTheme, Transient, Category = Stream)
66 mutable UThemeDataAsset* Theme;
67 bool bConstructed = false;
68 bool bSetupCalled = false;
69};
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
A component which allows for connecting to the Stream Chat API. Should be added to a client-side acto...
Definition: StreamChatClientComponent.h:42