Stream Chat Unreal SDK
Loading...
Searching...
No Matches
ChannelContextWidget.h
1// Copyright 2026 Stream.IO, Inc. All Rights Reserved.
2
3// Fill out your copyright notice in the Description page of Project Settings.
4
5#pragma once
6
7#include "Channel/ChatChannel.h"
8#include "ContextWidget.h"
9#include "CoreMinimal.h"
10
11#include "ChannelContextWidget.generated.h"
12
19UCLASS()
20class STREAMCHATUI_API UChannelContextWidget final : public UContextWidget
21{
22 GENERATED_BODY()
23
24public:
25 UFUNCTION(BlueprintCallable, Category = "Stream Chat")
26 void Setup(UChatChannel* InChannel);
27
28 UFUNCTION(BlueprintPure, Category = "Stream Chat", meta = (DisplayName = "Get Channel Context"))
29 static UChannelContextWidget* Get(const UWidget* Widget);
30 UFUNCTION(BlueprintPure, Category = "Stream Chat", meta = (DisplayName = "Get Channel Context"))
31 static UChannelContextWidget* TryGet(const UWidget* Widget);
32 UFUNCTION(BlueprintPure, Category = "Stream Chat")
33 static UChatChannel* GetChannel(const UWidget* Widget);
34 UFUNCTION(BlueprintPure, Category = "Stream Chat")
35 static UChatChannel* TryGetChannel(const UWidget* Widget);
36 UChatChannel* GetChannel() const;
37
38 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FStartEditMessageDelegate, const FMessage&, Message);
39 UPROPERTY(BlueprintAssignable)
40 FStartEditMessageDelegate OnStartEditMessage;
41
48 UFUNCTION(BlueprintCallable, Category = "Stream Chat")
49 void OpenThread(const FMessage& ParentMessage);
50
52 UFUNCTION(BlueprintCallable, Category = "Stream Chat")
53 void CloseThread();
54
55 UFUNCTION(BlueprintPure, Category = "Stream Chat")
56 bool IsThreadOpen() const;
57
59 UFUNCTION(BlueprintPure, Category = "Stream Chat")
60 const FMessage& GetThreadParentMessage() const;
61
62 DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FThreadChangedDelegate, bool, bThreadOpen, const FMessage&, ParentMessage);
64 UPROPERTY(BlueprintAssignable)
65 FThreadChangedDelegate OnThreadChanged;
66
67private:
68 UPROPERTY(Transient)
69 UChatChannel* Channel;
70
71 UPROPERTY(Transient)
72 FMessage ThreadParentMessage;
73
74 bool bThreadOpen = false;
75};
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:75
Represents a Stream Chat message.
Definition Message.h:70