UTKPropertyItem 개선
This commit is contained in:
@@ -183,7 +183,7 @@ namespace UVC.UIToolkit
|
||||
|
||||
#region UI 컴포넌트 참조 (UI Component References)
|
||||
/// <summary>검색어 입력 필드</summary>
|
||||
private TextField? _searchField;
|
||||
private UTKInputField? _searchField;
|
||||
|
||||
/// <summary>Unity UI Toolkit의 TreeView 컴포넌트</summary>
|
||||
private TreeView? _treeView;
|
||||
@@ -324,16 +324,10 @@ namespace UVC.UIToolkit
|
||||
}
|
||||
|
||||
// 3. 자식 요소 참조 획득 (UXML의 name 속성으로 찾음)
|
||||
_searchField = this.Q<TextField>("search-field");
|
||||
_searchField = this.Q<UTKInputField>("search-field");
|
||||
_treeView = this.Q<TreeView>("main-tree-view");
|
||||
_clearButton = this.Q<UTKButton>("clear-btn");
|
||||
|
||||
// 4. Clear 버튼 아이콘 설정
|
||||
if (_clearButton != null)
|
||||
{
|
||||
_clearButton.SetMaterialIcon(UTKMaterialIcons.Close, 12);
|
||||
}
|
||||
|
||||
// 5. 이벤트 연결 및 로직 초기화
|
||||
InitializeLogic();
|
||||
}
|
||||
@@ -348,8 +342,7 @@ namespace UVC.UIToolkit
|
||||
// 검색창 이벤트: Enter 키를 눌렀을 때 또는 포커스를 잃었을 때 필터링 실행
|
||||
if (_searchField != null)
|
||||
{
|
||||
_searchField.RegisterCallback<KeyDownEvent>(OnSearchFieldKeyDown);
|
||||
_searchField.RegisterCallback<FocusOutEvent>(OnSearchFieldFocusOut);
|
||||
_searchField.OnSubmit += OnSearch;
|
||||
}
|
||||
|
||||
// TreeView 설정
|
||||
@@ -362,7 +355,7 @@ namespace UVC.UIToolkit
|
||||
_treeView.bindItem = BindTreeItem;
|
||||
_treeView.selectionChanged += OnTreeViewSelectionChanged;
|
||||
_treeView.itemsChosen += OnTreeViewItemsChosen;
|
||||
_treeView.RegisterCallback<KeyDownEvent>(OnTreeViewKeyDown);
|
||||
_treeView.RegisterCallback<KeyDownEvent>(OnTreeViewKeyDown, TrickleDown.TrickleDown);
|
||||
|
||||
// 펼침/접힘 이벤트 처리
|
||||
_treeView.itemExpandedChanged += OnTreeViewItemExpandedChanged;
|
||||
@@ -1470,28 +1463,7 @@ namespace UVC.UIToolkit
|
||||
#endregion
|
||||
|
||||
#region 검색 기능 (Search Functionality)
|
||||
/// <summary>
|
||||
/// 검색 필드에서 Enter 키를 눌렀을 때 검색을 실행합니다.
|
||||
/// </summary>
|
||||
/// <param name="evt">키 입력 이벤트</param>
|
||||
private void OnSearchFieldKeyDown(KeyDownEvent evt)
|
||||
{
|
||||
if (evt.keyCode == KeyCode.Return || evt.keyCode == KeyCode.KeypadEnter)
|
||||
{
|
||||
OnSearch(_searchField?.value ?? string.Empty);
|
||||
evt.StopPropagation();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 검색 필드가 포커스를 잃었을 때 검색을 실행합니다.
|
||||
/// </summary>
|
||||
/// <param name="evt">포커스 아웃 이벤트</param>
|
||||
private void OnSearchFieldFocusOut(FocusOutEvent evt)
|
||||
{
|
||||
OnSearch(_searchField?.value ?? string.Empty);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Clear 버튼 클릭 이벤트를 처리합니다.
|
||||
/// </summary>
|
||||
@@ -1731,8 +1703,7 @@ namespace UVC.UIToolkit
|
||||
// 검색 필드 이벤트 해제
|
||||
if (_searchField != null)
|
||||
{
|
||||
_searchField.UnregisterCallback<KeyDownEvent>(OnSearchFieldKeyDown);
|
||||
_searchField.UnregisterCallback<FocusOutEvent>(OnSearchFieldFocusOut);
|
||||
_searchField.OnSubmit -= OnSearch;
|
||||
}
|
||||
|
||||
// TreeView 이벤트 핸들러 해제
|
||||
@@ -1741,7 +1712,7 @@ namespace UVC.UIToolkit
|
||||
_treeView.selectionChanged -= OnTreeViewSelectionChanged;
|
||||
_treeView.itemsChosen -= OnTreeViewItemsChosen;
|
||||
_treeView.itemExpandedChanged -= OnTreeViewItemExpandedChanged;
|
||||
_treeView.UnregisterCallback<KeyDownEvent>(OnTreeViewKeyDown);
|
||||
_treeView.UnregisterCallback<KeyDownEvent>(OnTreeViewKeyDown, TrickleDown.TrickleDown);
|
||||
_treeView.bindItem = null;
|
||||
_treeView.makeItem = null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user