using System; namespace UVC.UI.Window.PropertyWindow { /// /// 그룹 추가/제거 이벤트 인자 /// public class PropertyGroupEventArgs : EventArgs { /// /// 이벤트 대상 그룹 /// public IPropertyGroup Group { get; } public PropertyGroupEventArgs(IPropertyGroup group) { Group = group; } } /// /// 그룹 펼침/접힘 상태 변경 이벤트 인자 /// public class PropertyGroupExpandedEventArgs : EventArgs { /// /// 이벤트 대상 그룹 /// public IPropertyGroup Group { get; } /// /// 변경 전 펼침 상태 /// public bool WasExpanded { get; } /// /// 변경 후 펼침 상태 /// public bool IsExpanded { get; } public PropertyGroupExpandedEventArgs(IPropertyGroup group, bool wasExpanded, bool isExpanded) { Group = group; WasExpanded = wasExpanded; IsExpanded = isExpanded; } } /// /// 엔트리(그룹 또는 아이템) 추가/제거 이벤트 인자 /// public class PropertyEntryEventArgs : EventArgs { /// /// 이벤트 대상 엔트리 /// public IPropertyEntry Entry { get; } /// /// 엔트리가 그룹인지 여부 /// public bool IsGroup => Entry is IPropertyGroup; /// /// 엔트리가 아이템인지 여부 /// public bool IsItem => Entry is IPropertyItem; public PropertyEntryEventArgs(IPropertyEntry entry) { Entry = entry; } } }