namespace UVC.UI.Toolbar.Model { /// /// 툴바에 추가될 수 있는 모든 항목(예: 버튼, 구분선, 드롭다운 메뉴 등)의 /// 기본 인터페이스입니다. /// 이 인터페이스를 구현하는 클래스는 툴바 시스템의 일부로 인식되어 /// ToolbarModel에 추가되고 ToolbarView에 의해 렌더링될 수 있습니다. /// /// 역할: /// - 툴바 항목의 통일성: 다양한 UI 요소들을 툴바 시스템 내에서 동일한 타입(IToolbarItem)으로 취급할 수 있게 합니다. /// - 확장성: 새로운 종류의 툴바 항목을 추가할 때, 이 인터페이스를 구현함으로써 /// 기존 툴바 시스템과 쉽게 통합될 수 있도록 합니다. /// /// 사용 예시: /// - ToolbarButtonBase: 모든 버튼 타입의 기본 클래스로, IToolbarItem을 구현합니다. /// - ToolbarSeparator: 툴바 내 항목들을 시각적으로 구분하는 구분선 클래스로, IToolbarItem을 구현합니다. /// /// 개발자가 새로운 툴바 항목(예: 색상 선택기, 슬라이더 등)을 만들고 싶다면, /// 해당 클래스가 IToolbarItem 인터페이스를 구현하도록 해야 합니다. /// /// /// /// // 새로운 툴바 항목으로 'MyCustomToolbarItem'을 정의하는 경우 /// public class MyCustomToolbarItem : IToolbarItem /// { /// // 이 항목에 필요한 속성 및 메서드 정의 /// public string CustomData { get; set; } /// public void PerformAction() { /* ... */ } /// } /// /// // ToolbarModel에 추가하는 방법 /// ToolbarModel toolbarModel = new ToolbarModel(); /// MyCustomToolbarItem customItem = new MyCustomToolbarItem { CustomData = "Example" }; /// toolbarModel.AddItem(customItem); /// // ToolbarView는 이 customItem을 렌더링하기 위한 로직이 추가적으로 필요할 수 있습니다. /// // (예: MyCustomToolbarItem 타입에 맞는 프리팹과 렌더링 로직) /// /// public interface IToolbarItem { } }