81 lines
2.2 KiB
C#
81 lines
2.2 KiB
C#
using UnityEditor.U2D.Common;
|
|
using UnityEngine;
|
|
using UnityEngine.UIElements;
|
|
|
|
namespace UnityEditor.U2D.PSD
|
|
{
|
|
internal class UICellLabelElement : UICellElement
|
|
{
|
|
static readonly Texture2D s_FolderIcon = EditorGUIUtility.FindTexture("Folder Icon") as Texture2D;
|
|
|
|
Label m_Label;
|
|
VisualElement m_FolderIcon;
|
|
bool m_ShowFolderIcon;
|
|
|
|
public UICellLabelElement()
|
|
{
|
|
m_FolderIcon = new VisualElement()
|
|
{
|
|
name = "UICellFolderElement"
|
|
};
|
|
m_Label = new Label()
|
|
{
|
|
name = "UICellLabelElement"
|
|
};
|
|
this.Add(m_FolderIcon);
|
|
this.Add(m_Label);
|
|
}
|
|
|
|
public string text
|
|
{
|
|
set { m_Label.text = value; }
|
|
}
|
|
|
|
public bool showFolderIcon
|
|
{
|
|
get => m_ShowFolderIcon;
|
|
set
|
|
{
|
|
m_ShowFolderIcon = value;
|
|
if (m_ShowFolderIcon)
|
|
{
|
|
m_FolderIcon.SetHiddenFromLayout(false);
|
|
m_FolderIcon.style.backgroundImage = new StyleBackground(s_FolderIcon);
|
|
}
|
|
else
|
|
{
|
|
m_FolderIcon.SetHiddenFromLayout(true);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
internal class UILayerNameColumn : UIColumn
|
|
{
|
|
PSDImporterLayerManagementMultiColumnTreeView m_TreeView;
|
|
public UILayerNameColumn(PSDImporterLayerManagementMultiColumnTreeView treeView) : base(treeView)
|
|
{
|
|
makeCell = () => new UICellLabelElement();
|
|
bindCell = BindCell;
|
|
sortable = false;
|
|
stretchable = true;
|
|
title = "Layers";
|
|
}
|
|
|
|
public virtual void BindCell(VisualElement e, int index)
|
|
{
|
|
PSDTreeViewNode item = treeView.GetFromIndex(index);
|
|
UICellLabelElement label = (UICellLabelElement)e;
|
|
label.text = item.displayName;
|
|
label.showFolderIcon = item is PSDGroupTreeViewNode;
|
|
label.SetEnabled(!item.disable);
|
|
if (item.disable)
|
|
label.tooltip = Tooltips.layerHiddenToolTip;
|
|
else
|
|
label.tooltip = "";
|
|
}
|
|
}
|
|
|
|
}
|
|
|