5#include "Common/SPaginateListWidget.h"
6#include "Components/NativeWidgetHost.h"
7#include "CoreMinimal.h"
8#include "NewChatChannelStatusWidget.h"
9#include "StreamWidget.h"
10#include "SummaryChannelStatusWidget.h"
11#include "Team/NewChatWidget.h"
13#include "ChannelListWidget.generated.h"
19class STREAMCHATUI_API UChannelListWidget final : public UStreamWidget
27 UPROPERTY(meta = (BindWidget))
30 UPROPERTY(meta = (BindWidget))
31 UNativeWidgetHost* ListView;
34 UPROPERTY(EditAnywhere, Category = Pagination)
37 UPROPERTY(EditAnywhere, Category = Defaults)
38 bool bAutoSelectFirstChannel = true;
39 UPROPERTY(EditAnywhere, NoClear, Category = Defaults)
40 TSubclassOf<USummaryChannelStatusWidget> ChannelStatusWidgetClass = USummaryChannelStatusWidget::StaticClass();
41 UPROPERTY(EditAnywhere, NoClear, Category = Defaults)
42 TSubclassOf<UNewChatChannelStatusWidget> NewChatChannelStatusWidgetClass = UNewChatChannelStatusWidget::StaticClass();
45 virtual
void NativePreConstruct() override;
46 virtual
void NativeConstruct() override;
47 virtual
void NativeDestruct() override;
48 virtual
void ReleaseSlateResources(
bool bReleaseChildren) override;
50 void Paginate(const EPaginationDirection Direction, const TFunction<
void()> Callback);
53 void RebuildChannelList();
58 void OnChannelsUpdated(const TArray<
UChatChannel*>& InChannels);
65 TSharedPtr<SPaginateListWidget<
UChatChannel*>> PaginateListWidget;
The client-side representation of a Stream Chat channel.
Definition: ChatChannel.h:74