KLingo Project Documentation 1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
UTabButtonGroup.h
이 파일의 문서화 페이지로 가기
1// Copyright (c) 2025 Doppleddiggong. All rights reserved. Unauthorized copying, modification, or distribution of this file, via any medium is strictly prohibited. Proprietary and confidential.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Blueprint/UserWidget.h"
7#include "UTabButtonGroup.generated.h"
8
12UCLASS()
13class ONEPIECE_API UTabButtonGroup : public UUserWidget
14{
15 GENERATED_BODY()
16
17protected:
18 virtual void NativePreConstruct() override;
19 virtual void NativeConstruct() override;
20
21public:
25 UFUNCTION(BlueprintCallable, Category="TabButtonGroup")
26 void OnSelectTab(int32 TabIndex, bool bBroadcastEvent = true);
27
30 FLinearColor GetTextColor(bool bSelect) const
31 {
32 if ( bSelect )
33 return TextSelectColor;
34 else
35 return TextUnselectColor;
36 }
37
40 FLinearColor GetActivateColor(bool bSelect) const
41 {
42 if ( bSelect )
43 return ActivateSelectColor;
44 else
45 return ActivateUnselectColor;
46 }
47
49 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnTabSelected, int32, TabIndex);
50
52 UPROPERTY(BlueprintAssignable, Category = "TabButtonGroup|Events")
53 FOnTabSelected OnTabSelected;
54
55protected:
57 UFUNCTION(BlueprintCallable, Category="TabButtonGroup")
58 void ApplyTab();
59
61 UFUNCTION()
62 void OnTabClicked(int32 TabIndex);
63
64private:
66 void UpdateIndicatorPosition();
67
69 UFUNCTION()
70 void OnMoveCompleted();
71
72protected:
74 UPROPERTY(BlueprintReadOnly, meta = (BindWidget))
75 TObjectPtr<class UHorizontalBox> TabContainer;
76
78 UPROPERTY(BlueprintReadOnly, meta = (BindWidget))
79 TObjectPtr<class UTabIndicator> TabIndicator;
80
82 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "TabButtonGroup|Data")
83 TArray<FText> TabLabels;
84
86 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "TabButtonGroup|Data")
87 TSubclassOf<class UTabButton> TabButtonClass;
88
90 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "TabButtonGroup|Data")
91 int32 DefaultTabIndex = 0;
92
94 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "TabButtonGroup|Appearance")
95 FLinearColor TextSelectColor = FLinearColor::White;
96
98 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "TabButtonGroup|Appearance")
99 FLinearColor TextUnselectColor = FLinearColor(0.5f, 0.5f, 0.5f);
100
102 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "TabButtonGroup|Appearance")
103 FLinearColor ActivateSelectColor = FLinearColor::White;
104
106 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "TabButtonGroup|Appearance")
107 FLinearColor ActivateUnselectColor = FLinearColor(0.5f, 0.5f, 0.5f);
108
110 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "TabButtonGroup|Layout")
111 FVector2D TabSize = FVector2D(300.0f, 75.0f);
112
114 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "TabButtonGroup|Animation")
115 bool bAnimateIndicator = true;
116
118 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "TabButtonGroup|Animation", meta=(EditCondition="bAnimateIndicator"))
119 float IndicatorAnimationSpeed = 0.15f;
120
121private:
123 UPROPERTY(Transient)
124 TArray<TObjectPtr<class UTabButton>> TabButtonList;
125
127 int32 CurTabIndex = -1;
128};
데이터를 기반으로 탭 버튼들을 동적으로 생성하고 관리하는 탭 그룹 위젯.
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnTabSelected, int32, TabIndex)
탭 선택 이벤트 델리게이트
FLinearColor GetTextColor(bool bSelect) const
선택된 탭의 색상을 반환합니다.
FLinearColor GetActivateColor(bool bSelect) const
선택된 탭의 색상을 반환합니다.
UTabButtonGroup에 의해 관리되는 개별 탭 버튼 위젯.
Definition UTabButton.h:15
탭 선택 인디케이터 위젯.