File SFCategoryTab_Leaf.h
File List > Components > SFCategoryTab_Leaf.h
Go to the documentation of this file
// Copyright 2026 Anh Pham. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UI/Components/SFCategoryTabBase.h"
#include "GameplayTagContainer.h"
#include "SFCategoryTab_Leaf.generated.h"
UCLASS(Abstract, BlueprintType, Blueprintable)
class SETTINGSFRAMEWORK_API USFCategoryTab_Leaf : public USFCategoryTabBase
{
GENERATED_BODY()
#pragma region Initialization
public:
virtual void InitializeCategoryDisplay() override;
protected:
UFUNCTION()
void HandleSettingEntryFocused(const FGameplayTag& SettingTag);
void CreateSettingEntryAndAddToGroup(const class USFSettingDefinition* SettingDefinition, class USFSettingGroupWidget* GroupWidget);
bool bInitialized;
#pragma endregion
#pragma region Setting Display
protected:
UPROPERTY(BlueprintReadOnly, Category = "SFCategoryTab_Leaf", meta = (BindWidget))
TObjectPtr<class UPanelWidget> SettingGroupContainer;
UPROPERTY(Transient)
TMap<FGameplayTag, TObjectPtr<class USFSettingEntryWidget>> EntryWidgetMap;
UFUNCTION(BlueprintImplementableEvent, Category = "SFCategoryTab_Leaf")
void OnGroupWidgetAdded(class UPanelSlot* WidgetAsPanelSlot, class USFSettingGroupWidget* WidgetAsGroupWidget);
#pragma endregion
#pragma region CommonUI Navigation
public:
virtual UWidget* NativeGetDesiredFocusTarget() const override;
protected:
TWeakObjectPtr<class USFSettingEntryWidget> LastFocusedEntry;
#pragma endregion
};