// ©2023 Batty Bovine Productions, LLC. All Rights Reserved. #pragma once #include "Widgets/DeclarativeSyntaxSupport.h" #include "Widgets/SCompoundWidget.h" class SEdComboActionGraphNodeIndex : public SCompoundWidget { public: /** Delegate event fired when the hover state of this widget changes */ DECLARE_DELEGATE_OneParam(FOnHoverStateChanged, bool /* bHovered */); /** Delegate used to receive the background color of the node, depending on hover state and state of other siblings */ DECLARE_DELEGATE_RetVal_OneParam(FSlateColor, FOnGetBackgroundColor, bool /* bHovered */); SLATE_BEGIN_ARGS(SEdComboActionGraphNodeIndex) {} SLATE_ATTRIBUTE(TSharedPtr, OverlayBody) // Events SLATE_EVENT(FOnHoverStateChanged, OnHoverStateChanged) SLATE_EVENT(FOnGetBackgroundColor, OnGetBackgroundColor) SLATE_END_ARGS() void Construct(const FArguments &InArgs); /** Get the color we use to display the rounded border */ FSlateColor GetBackgroundColor() const { return FSlateColor::UseForeground(); } private: /** The OverlayBody used for this widget*/ TSharedPtr OverlayBody; };