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 = "";
 | |
|         }
 | |
|     }
 | |
| 
 | |
| }
 | |
| 
 |