Stream Chat Unreal SDK
Loading...
Searching...
No Matches
HeaderWidget.h
1// Copyright 2022 Stream.IO, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Components/Border.h"
6#include "Components/Button.h"
7#include "Components/TextBlock.h"
8#include "CoreMinimal.h"
9#include "StreamWidget.h"
10
11#include "HeaderWidget.generated.h"
12
17UCLASS()
18class STREAMCHATUI_API UHeaderWidget final : public UStreamWidget
19{
20 GENERATED_BODY()
21
22public:
23 UFUNCTION(BlueprintCallable, Category = "Stream Chat")
24 void SetTitle(const FText& InTitle);
25
26 UFUNCTION(BlueprintCallable, Category = "Stream Chat")
27 void SetSubtitleContent(UWidget* Content) const;
28
29 UFUNCTION(BlueprintCallable, Category = "Stream Chat")
30 void SetRightContent(UWidget* Content) const;
31
32 DECLARE_DYNAMIC_MULTICAST_DELEGATE(FHeaderButtonClicked);
33 // Button needs to be bound
34 UPROPERTY(BlueprintAssignable)
35 FHeaderButtonClicked OnHeaderButtonClicked;
36
37protected:
38 UPROPERTY(meta = (BindWidgetOptional))
39 UBorder* Border;
40 UPROPERTY(meta = (BindWidgetOptional))
41 UButton* Button;
42
43 UPROPERTY(meta = (BindWidget))
44 UTextBlock* HeaderTitleTextBlock;
45
46 UPROPERTY(meta = (BindWidget))
47 UNamedSlot* SubtitleSlot;
48
49 UPROPERTY(meta = (BindWidget))
50 UNamedSlot* LeftSlot;
51
52 UPROPERTY(meta = (BindWidget))
53 UNamedSlot* RightSlot;
54
55 UPROPERTY(EditAnywhere, Category = Defaults)
56 FText Title;
57
58private:
59 virtual void OnSetup() override;
60 virtual void NativePreConstruct() override;
61 virtual void NativeConstruct() override;
62 virtual void NativeDestruct() override;
63
64 UFUNCTION()
65 void OnButtonClick();
66
67 FButtonStyle ButtonStyle;
68};
A top bar widget.
Definition: HeaderWidget.h:19