5#include "Channel/Message.h"
6#include "Components/VerticalBox.h"
7#include "ContextMenuAction.h"
8#include "ContextMenuButtonWidget.h"
9#include "CoreMinimal.h"
10#include "Message/MessageSide.h"
11#include "StreamWidget.h"
13#include "ContextMenuWidget.generated.h"
19class STREAMCHATUI_API UContextMenuWidget final : public UStreamWidget
24 UFUNCTION(BlueprintCallable, Category = "Stream Chat")
25 void Setup(const
FMessage& InMessage, EMessageSide InSide);
34 UFUNCTION(BlueprintCallable, Category = "Stream Chat")
35 void SetHeaderContent(UWidget* Content);
38 UPROPERTY(meta = (BindWidget))
39 UVerticalBox* ButtonsPanel;
41 UPROPERTY(EditAnywhere, Instanced, Category = Defaults, meta = (TitleProperty = Label))
42 TArray<UContextMenuAction*> Actions;
44 UPROPERTY(EditDefaultsOnly, NoClear, Category = Defaults)
45 TSubclassOf<UContextMenuButtonWidget> ContextMenuButtonWidgetClass = UContextMenuButtonWidget::StaticClass();
47 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Setup)
50 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Setup)
54 virtual
void NativePreConstruct() override;
55 void AddButton(UContextMenuAction* Action, EContextMenuButtonPosition Position);
64 template <class TAction>
65 void AddMissingAction();
69 UWidget* HeaderContent;
Represents a Stream Chat message.
Definition Message.h:70