Initial Commit
This commit is contained in:
parent
53eb92e9af
commit
270ab7d11f
15341 changed files with 700234 additions and 0 deletions
|
@ -0,0 +1,67 @@
|
|||
using System;
|
||||
using JetBrains.Annotations;
|
||||
using Unity.Cloud.Collaborate.Assets;
|
||||
using Unity.Cloud.Collaborate.UserInterface;
|
||||
using Unity.Cloud.Collaborate.Utilities;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UIElements;
|
||||
|
||||
namespace Unity.Cloud.Collaborate.Components
|
||||
{
|
||||
internal class ChangesGroupHeader : VisualElement
|
||||
{
|
||||
public const string UssClassName = "changes-group-header";
|
||||
public const string NameUssClassName = UssClassName + "__name";
|
||||
public const string OverflowButtonUssClassName = UssClassName + "__overflow-button";
|
||||
|
||||
static readonly string k_LayoutPath = $"{CollaborateWindow.LayoutPath}/{nameof(ChangesGroupHeader)}.uxml";
|
||||
static readonly string k_StylePath = $"{CollaborateWindow.StylePath}/{nameof(ChangesGroupHeader)}.uss";
|
||||
|
||||
readonly Label m_GroupName;
|
||||
readonly IconButton m_OverflowButton;
|
||||
|
||||
public event Action<float, float> OnOverflowButtonClicked;
|
||||
|
||||
public ChangesGroupHeader()
|
||||
{
|
||||
// Get the layout and style sheet
|
||||
AddToClassList(UssClassName);
|
||||
AssetDatabase.LoadAssetAtPath<VisualTreeAsset>(k_LayoutPath).CloneTree(this);
|
||||
styleSheets.Add(AssetDatabase.LoadAssetAtPath<StyleSheet>(k_StylePath));
|
||||
|
||||
// Initialise fields
|
||||
m_GroupName = this.Q<Label>(className: NameUssClassName);
|
||||
m_OverflowButton = this.Q<IconButton>(className: OverflowButtonUssClassName);
|
||||
|
||||
// Wire up overflow button
|
||||
m_OverflowButton.Clicked += TriggerOverflowMenu;
|
||||
}
|
||||
|
||||
public void SetEnableOverflowMenu(bool enable)
|
||||
{
|
||||
if (enable)
|
||||
{
|
||||
m_OverflowButton.RemoveFromClassList(UiConstants.ussHidden);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_OverflowButton.AddToClassList(UiConstants.ussHidden);
|
||||
}
|
||||
}
|
||||
|
||||
void TriggerOverflowMenu()
|
||||
{
|
||||
var (x, y) = MenuUtilities.GetMenuPosition(m_OverflowButton, MenuUtilities.AnchorPoint.BottomRight);
|
||||
OnOverflowButtonClicked?.Invoke(x, y);
|
||||
}
|
||||
|
||||
public void UpdateGroupName(string text)
|
||||
{
|
||||
m_GroupName.text = text;
|
||||
}
|
||||
|
||||
[UsedImplicitly]
|
||||
public new class UxmlFactory : UxmlFactory<ChangesGroupHeader> { }
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue