70 lines
1.9 KiB
C#
70 lines
1.9 KiB
C#
using UnityEngine;
|
|
using UnityEngine.UIElements;
|
|
using UnityEditor.U2D.Common;
|
|
|
|
namespace UnityEditor.U2D.PSD
|
|
{
|
|
internal class UICellLabelElement : UICellElement
|
|
{
|
|
Label m_Label;
|
|
VisualElement m_FolderIcon;
|
|
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 void EnableFolderIcon(Texture2D v)
|
|
{
|
|
if (v != null)
|
|
{
|
|
m_FolderIcon.SetHiddenFromLayout(false);
|
|
m_FolderIcon.style.backgroundImage = new StyleBackground(v);
|
|
}
|
|
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)
|
|
{
|
|
var item = treeView.GetFromIndex(index);
|
|
UICellLabelElement label = (UICellLabelElement)e;
|
|
label.text = item.displayName;
|
|
label.EnableFolderIcon(item.icon);
|
|
label.SetEnabled(!item.disable);
|
|
if (item.disable)
|
|
label.tooltip = Tooltips.layerHiddenToolTip;
|
|
else
|
|
label.tooltip = "";
|
|
}
|
|
}
|
|
|
|
}
|
|
|