com.alicizax.unity.editor.e.../Editor/Toolbar/RecommendedStyles/EditorToolbarToggleRecommendedStyle.cs

35 lines
1.2 KiB
C#
Raw Permalink Normal View History

2025-08-01 19:32:29 +08:00
using UnityEditor.Toolbars;
using UnityEngine.UIElements;
using System.Reflection;
using UnityEngine;
namespace Paps.UnityToolbarExtenderUIToolkit
{
internal class EditorToolbarToggleRecommendedStyle : RecommendedStyle
{
private readonly EditorToolbarToggle _toolbarToggle;
private Image _iconImageElement;
private VisualElement _checkmark;
public EditorToolbarToggleRecommendedStyle(EditorToolbarToggle toolbarToggle)
{
_toolbarToggle = toolbarToggle;
_iconImageElement = _toolbarToggle.Q<Image>();
_checkmark = _toolbarToggle.Query(className: "unity-toggle__checkmark");
}
protected override void ApplyRootElementStyle()
{
_iconImageElement.style.width = Length.Auto();
_toolbarToggle.style.paddingLeft = 3;
}
protected override void ApplyInsideGroupStyle()
{
_toolbarToggle.AddToClassList("unity-button");
_toolbarToggle.RemoveFromClassList("unity-toolbar-toggle");
_toolbarToggle.RemoveFromClassList("unity-editor-toolbar-toggle");
_checkmark.style.display = DisplayStyle.None;
}
}
}