toolbar 개발 중

This commit is contained in:
logonkhi
2025-06-16 19:30:01 +09:00
parent 2ffe7abac6
commit 63b71216cb
92 changed files with 5915 additions and 530 deletions

View File

@@ -198,9 +198,13 @@ namespace UVC.UI.Menu
new MenuItemData("file_new", "menu_file_new", subMenuItems: new List<MenuItemData>
{
new MenuItemData("file_new_project", "menu_file_new_project", new DebugLogCommand("새 프로젝트 선택됨 (Command 실행)")),
new MenuItemData("file_new_file", "menu_file_new_file", new DebugLogCommand("새 파일 선택됨 (Command 실행)"))
new MenuItemData("file_new_file", "menu_file_new_file",
new ActionCommand(() => Debug.Log("[SampleProject] 새 파일 선택됨")))
}),
new MenuItemData("file_open", "menu_file_open", new DebugLogCommand("파일 열기 선택됨 (Command 실행)"), isEnabled: false), // "파일 열기"는 비활성화 상태로 시작
new MenuItemData("file_open", "menu_file_open",
new ActionCommand<string>((path) => Debug.Log($"[SampleProject] 파일 열기 선택됨: {path}"), "sample.txt"),
commandParameter: "another_sample.txt", // 이 파라미터가 HandleMenuItemClicked에서 사용됨
isEnabled: false), // "파일 열기"는 비활성화 상태로 시작
MenuItemData.CreateSeparator("file_sep1"), // 구분선 추가
new MenuItemData("file_save", "menu_file_save", command: new DebugLogCommand("저장 선택됨 (Command 실행)") , subMenuItems: new List<MenuItemData>
{
@@ -222,7 +226,7 @@ namespace UVC.UI.Menu
model.MenuItems.Add(new MenuItemData("language", "menu_language", subMenuItems: new List<MenuItemData>
{
// 각 언어 메뉴 아이템에 ChangeLanguageCommand를 연결하여 언어 변경 기능 수행
new MenuItemData("lang_ko", "menu_lang_korean", new ChangeLanguageCommand("ko-KR")),
new MenuItemData("lang_ko", "menu_lang_korean", new ChangeLanguageCommand("ko-KR"), commandParameter: "ko-KR"),
new MenuItemData("lang_en", "menu_lang_english", new ChangeLanguageCommand("en-US"))
// 필요에 따라 다른 언어들도 추가 가능
}));
@@ -239,9 +243,13 @@ namespace UVC.UI.Menu
// 클릭된 아이템이 구분선이거나 비활성화 상태인지 확인
if (clickedItemData.IsSeparator)
{
// 구분선은 아무 동작도 하지 않음
if (!clickedItemData.IsEnabled)
{
Debug.Log($"비활성화된 메뉴 아이템 클릭 시도: {clickedItemData.ItemId} (표시 키: {clickedItemData.DisplayNameKey})");
}
return;
}
if (!clickedItemData.IsEnabled)
{
// 비활성화된 아이템 클릭 시 로그 (디버깅 목적)
@@ -254,7 +262,7 @@ namespace UVC.UI.Menu
// 메뉴 아이템에 연결된 Command가 있다면 실행
// Command가 null일 수 있으므로 null 조건부 연산자(?.) 사용
clickedItemData.Command?.Execute();
clickedItemData.Command?.Execute(clickedItemData.CommandParameter);
}
/// <summary>