/****************************************************
文件: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);
}
}
}