No Description
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.

LayerNameColumn.cs 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using UnityEngine;
  2. using UnityEngine.UIElements;
  3. using UnityEditor.U2D.Common;
  4. namespace UnityEditor.U2D.PSD
  5. {
  6. internal class UICellLabelElement : UICellElement
  7. {
  8. Label m_Label;
  9. VisualElement m_FolderIcon;
  10. public UICellLabelElement()
  11. {
  12. m_FolderIcon = new VisualElement()
  13. {
  14. name = "UICellFolderElement"
  15. };
  16. m_Label = new Label()
  17. {
  18. name = "UICellLabelElement"
  19. };
  20. this.Add(m_FolderIcon);
  21. this.Add(m_Label);
  22. }
  23. public string text
  24. {
  25. set { m_Label.text = value; }
  26. }
  27. public void EnableFolderIcon(Texture2D v)
  28. {
  29. if (v != null)
  30. {
  31. m_FolderIcon.SetHiddenFromLayout(false);
  32. m_FolderIcon.style.backgroundImage = new StyleBackground(v);
  33. }
  34. else
  35. m_FolderIcon.SetHiddenFromLayout(true);
  36. }
  37. }
  38. internal class UILayerNameColumn : UIColumn
  39. {
  40. PSDImporterLayerManagementMultiColumnTreeView m_TreeView;
  41. public UILayerNameColumn(PSDImporterLayerManagementMultiColumnTreeView treeView) : base(treeView)
  42. {
  43. makeCell = () => new UICellLabelElement();
  44. bindCell = BindCell;
  45. sortable = false;
  46. stretchable = true;
  47. title = "Layers";
  48. }
  49. public virtual void BindCell(VisualElement e, int index)
  50. {
  51. var item = treeView.GetFromIndex(index);
  52. UICellLabelElement label = (UICellLabelElement)e;
  53. label.text = item.displayName;
  54. label.EnableFolderIcon(item.icon);
  55. label.SetEnabled(!item.disable);
  56. if (item.disable)
  57. label.tooltip = Tooltips.layerHiddenToolTip;
  58. else
  59. label.tooltip = "";
  60. }
  61. }
  62. }