/**************************************************** 文件:TableColumnHeader.cs 作者:陶长春 邮箱:376248129@qq.com 日期:2024年12月12日 8:16:50 UnityVersion: 2021.3.13f1 功能:绘制表头样式 *****************************************************/ using System.Collections; using UnityEngine; using System.Collections.Generic; using UnityEditor.IMGUI.Controls; using UnityEditor; namespace TFramework { /// /// 表格表头(列标题) /// public class TableColumnHeader : MultiColumnHeader where T : class, new() { /// /// 绘制单个列标题方法 /// public TAction, int> DrawHeaderMethod; public TableColumnHeader(MultiColumnHeaderState state) : base(state) { } /// /// 单击列标题时展开的上下文菜单 /// /// 上下文菜单 protected override void AddColumnHeaderContextMenuItems(GenericMenu menu) { base.AddColumnHeaderContextMenuItems(menu); } /// /// 单击列标题时 /// /// 列标题数据 /// 列标题索引 protected override void ColumnHeaderClicked(MultiColumnHeaderState.Column column, int columnIndex) { base.ColumnHeaderClicked(column, columnIndex); } /// /// 定义单个列标题GUI /// /// 列标题数据 /// 列标题矩形 /// 列标题索引 protected override void ColumnHeaderGUI(MultiColumnHeaderState.Column column, Rect headerRect, int columnIndex) { TableColumn tableColumn = column as TableColumn; if (DrawHeaderMethod != null) { DrawHeaderMethod.Invoke(headerRect, tableColumn, columnIndex); } else base.ColumnHeaderGUI(column, headerRect, columnIndex); } } }