55 lines
2.3 KiB
C#
55 lines
2.3 KiB
C#
|
using System.Collections.Generic;
|
|||
|
using UnityEngine.UIElements;
|
|||
|
|
|||
|
namespace UnityEditor.AddressableAssets.GUIElements
|
|||
|
{
|
|||
|
internal static class GUIUtility
|
|||
|
{
|
|||
|
public static readonly string OpenManualTooltip = L10n.Tr("Open the relevant documentation entry.");
|
|||
|
|
|||
|
public const string HelpIconButtonClass = "icon-button__help-icon";
|
|||
|
public const string MenuIconButtonClass = "icon-button__menu-icon";
|
|||
|
|
|||
|
public const string UIToolKitAssetsPath = "Packages/com.unity.addressables/Editor/GUI/GUIElements/";
|
|||
|
public const string UxmlFilesPath = UIToolKitAssetsPath + "UXML/";
|
|||
|
public const string StyleSheetsPath = UIToolKitAssetsPath + "StyleSheets/";
|
|||
|
|
|||
|
public const string RibbonUxmlPath = UxmlFilesPath + "Ribbon.uxml";
|
|||
|
public const string RibbonUssPath = StyleSheetsPath + "Ribbon.uss";
|
|||
|
public const string RibbonDarkUssPath = StyleSheetsPath + "Ribbon_dark.uss";
|
|||
|
public const string RibbonLightUssPath = StyleSheetsPath + "Ribbon_light.uss";
|
|||
|
|
|||
|
public static void SetVisibility(VisualElement element, bool visible)
|
|||
|
{
|
|||
|
SetElementDisplay(element, visible);
|
|||
|
}
|
|||
|
|
|||
|
public static void SetElementDisplay(VisualElement element, bool value)
|
|||
|
{
|
|||
|
if (element == null)
|
|||
|
return;
|
|||
|
|
|||
|
element.style.display = value ? DisplayStyle.Flex : DisplayStyle.None;
|
|||
|
element.style.visibility = value ? Visibility.Visible : Visibility.Hidden;
|
|||
|
}
|
|||
|
|
|||
|
public static VisualElement Clone(this VisualTreeAsset tree, VisualElement target = null, string styleSheetPath = null, Dictionary<string, VisualElement> slots = null)
|
|||
|
{
|
|||
|
var ret = tree.CloneTree();
|
|||
|
if (!string.IsNullOrEmpty(styleSheetPath))
|
|||
|
ret.styleSheets.Add(AssetDatabase.LoadAssetAtPath<StyleSheet>(styleSheetPath));
|
|||
|
if (target != null)
|
|||
|
target.Add(ret);
|
|||
|
ret.style.flexGrow = 1f;
|
|||
|
return ret;
|
|||
|
}
|
|||
|
|
|||
|
public static void SwitchClasses(this VisualElement element, string classToAdd, string classToRemove)
|
|||
|
{
|
|||
|
if (!element.ClassListContains(classToAdd))
|
|||
|
element.AddToClassList(classToAdd);
|
|||
|
element.RemoveFromClassList(classToRemove);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|