You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.3 KiB
36 lines
1.3 KiB
using System;
|
|
using UnityEditor.IMGUI.Controls;
|
|
using UnityEngine;
|
|
|
|
namespace UnityEditor.U2D.Animation
|
|
{
|
|
internal class VisibilityToolColumnHeader : MultiColumnHeader
|
|
{
|
|
public Action<bool> SetAllVisibility = (b) => {};
|
|
public Func<bool> GetAllVisibility = () => true;
|
|
|
|
public VisibilityToolColumnHeader(MultiColumnHeaderState state)
|
|
: base(state)
|
|
{
|
|
visibilityColumn = -1;
|
|
}
|
|
|
|
public int visibilityColumn { private get; set; }
|
|
|
|
protected override void ColumnHeaderGUI(MultiColumnHeaderState.Column column, Rect headerRect, int columnIndex)
|
|
{
|
|
if (columnIndex == visibilityColumn)
|
|
{
|
|
GUIStyle style = DefaultStyles.columnHeaderCenterAligned;
|
|
EditorGUI.BeginChangeCheck();
|
|
var visibility = GetAllVisibility();
|
|
visibility = GUI.Toggle(headerRect, visibility, visibility ? VisibilityTreeViewBase.VisibilityIconStyle.visibilityOnIcon : VisibilityTreeViewBase.VisibilityIconStyle.visibilityOffIcon, style);
|
|
if (EditorGUI.EndChangeCheck())
|
|
SetAllVisibility(visibility);
|
|
}
|
|
else
|
|
base.ColumnHeaderGUI(column, headerRect, columnIndex);
|
|
}
|
|
}
|
|
}
|