Stream Chat Unreal SDK
Loading...
Searching...
No Matches
UserListWidget.h
1// Copyright 2022 Stream.IO, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Common/PaginateScrollWidget.h"
6#include "CoreMinimal.h"
7#include "SectionHeadingWidget.h"
8#include "UserStatusWidget.h"
9
10#include "UserListWidget.generated.h"
11
15UCLASS()
16class STREAMCHATUI_API UUserListWidget final : public UPaginateScrollWidget
17{
18 GENERATED_BODY()
19
20public:
21 UUserListWidget();
22 void SetQuery(const FFilter& UsersQueryFilter = {});
23
24 DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FUserClicked, const FUserRef&, User, bool, bSelected);
25 UPROPERTY(BlueprintAssignable)
26 FUserClicked OnUserClicked;
27
28protected:
29 UPROPERTY(EditAnywhere, NoClear, Category = Defaults)
30 TSubclassOf<UUserStatusWidget> UserStatusWidgetClass = UUserStatusWidget::StaticClass();
31 UPROPERTY(EditAnywhere, NoClear, Category = Defaults)
32 TSubclassOf<USectionHeadingWidget> SectionHeadingWidgetClass = USectionHeadingWidget::StaticClass();
33
34private:
35 virtual void NativeConstruct() override;
36 virtual void NativeDestruct() override;
37 virtual void Paginate(EPaginationDirection Directions, TFunction<void()> Callback) override;
38 void Refetch();
39 void PopulateScrollBox();
40
41 UFUNCTION()
42 void UserStatusClicked(const FUserRef& User, bool bSelected);
43
44 FFilter Filter;
45 TArray<FUserRef> Users;
46};
A filter used for querying channels.
Definition: Filter.h:75
A reference to a unique User.
Definition: UserRef.h:23