UnrealEngine5/Client
[UE5] 디테일패널 커스텀할 때 사소한 주의사항
MaxLevel
2025. 10. 16. 08:01
디테일패널을 따로 커스텀하고 싶을 경우.. 아래처럼 행을 추가하곤 한다.
enumCategory.AddCustomRow(FText::FromString("EnumClassName"))
.NameContent()
[
SNew(STextBlock).Text(FText::FromString("EnumClassName"))
]
.ValueContent()
[
SNew(SEditableTextBox)
.Text(this, &DetailCustomization_SetFSMServiceNode::GetEnumClassName)
.OnTextCommitted(this, &DetailCustomization_SetFSMServiceNode::OnEnumClassNameCommitted)
];
여기서 맨 아랫줄에 보면 OnTextComitted에다가 텍스트 커밋이 발생했을 때 호출시킬 함수를 바인딩하면 되는데
나 같은 경우, OnEnumClassNameCommitted가 바인딩 되어있다.
이 때

이렇게 입력하고 엔터를 누르면 내가 바인딩 한 함수가 호출되는데 로그를 찍어보니 두번이 호출되고 있었다.
알아보고 나니 두번호출되는 이유는 다음과 같더랜다..
1. ETextCommit::OnEnter (엔터키를 눌렀을 때)
2. ETextCommit::OnUserMovedFocus (포커스가 다른 위젯으로 이동할 때)
엔터키를 누르면 자동으로 포커스가 해제되서 2번이 호출되서 그렇단다...
사실 두번 호출되도 지금은 상관없긴 한데, 어떻게 될지 모르니 글로 저장해놓는다.