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.
71 lines
1.5 KiB
71 lines
1.5 KiB
using System;
|
|
namespace Mapbox.Editor
|
|
{
|
|
using UnityEditor;
|
|
using UnityEditor.IMGUI.Controls;
|
|
using UnityEngine;
|
|
internal class FeatureSectionMultiColumnHeader : MultiColumnHeader
|
|
{
|
|
Mode m_Mode;
|
|
|
|
public enum Mode
|
|
{
|
|
LargeHeader,
|
|
DefaultHeader,
|
|
MinimumHeaderWithoutSorting
|
|
}
|
|
|
|
public FeatureSectionMultiColumnHeader(MultiColumnHeaderState state)
|
|
: base(state)
|
|
{
|
|
mode = Mode.DefaultHeader;
|
|
}
|
|
|
|
public Mode mode
|
|
{
|
|
get
|
|
{
|
|
return m_Mode;
|
|
}
|
|
set
|
|
{
|
|
m_Mode = value;
|
|
switch (m_Mode)
|
|
{
|
|
case Mode.LargeHeader:
|
|
canSort = true;
|
|
height = 37f;
|
|
break;
|
|
case Mode.DefaultHeader:
|
|
canSort = true;
|
|
height = DefaultGUI.defaultHeight;
|
|
break;
|
|
case Mode.MinimumHeaderWithoutSorting:
|
|
canSort = false;
|
|
height = DefaultGUI.minimumHeight;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
protected override void ColumnHeaderGUI(MultiColumnHeaderState.Column column, Rect headerRect, int columnIndex)
|
|
{
|
|
// Default column header gui
|
|
base.ColumnHeaderGUI(column, headerRect, columnIndex);
|
|
|
|
// Add additional info for large header
|
|
if (mode == Mode.LargeHeader)
|
|
{
|
|
// Show example overlay stuff on some of the columns
|
|
if (columnIndex > 2)
|
|
{
|
|
headerRect.xMax -= 3f;
|
|
var oldAlignment = EditorStyles.largeLabel.alignment;
|
|
EditorStyles.largeLabel.alignment = TextAnchor.UpperRight;
|
|
GUI.Label(headerRect, 36 + columnIndex + "%", EditorStyles.largeLabel);
|
|
EditorStyles.largeLabel.alignment = oldAlignment;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |