|
|
- using UnityEngine.Experimental.UIElements;
-
- namespace UnityEditor.PackageManager.UI
- {
- internal static class UIUtils
- {
- private const string DisplayNone = "display-none";
-
- public static void SetElementDisplay(VisualElement element, bool value)
- {
- if (element == null)
- return;
-
- if (value)
- element.RemoveFromClassList(DisplayNone);
- else
- element.AddToClassList(DisplayNone);
-
- element.visible = value;
- }
-
- public static void SetElementDisplayNonEmpty(Label element)
- {
- if (element == null)
- return;
-
- var empty = string.IsNullOrEmpty(element.text);
- if (empty)
- element.AddToClassList(DisplayNone);
- else
- element.RemoveFromClassList(DisplayNone);
-
- element.visible = !empty;
- }
-
- public static void SetElementDisplayNonEmpty(Button element)
- {
- if (element == null)
- return;
-
- var empty = string.IsNullOrEmpty(element.text);
- if (empty)
- element.AddToClassList(DisplayNone);
- else
- element.RemoveFromClassList(DisplayNone);
-
- element.visible = !empty;
- }
-
- public static bool IsElementVisible(VisualElement element)
- {
- return element.visible && !element.ClassListContains(DisplayNone);
- }
- }
- }
|