Initial Commit
This commit is contained in:
parent
53eb92e9af
commit
270ab7d11f
15341 changed files with 700234 additions and 0 deletions
|
@ -0,0 +1,56 @@
|
|||
using System;
|
||||
using JetBrains.Annotations;
|
||||
using Unity.Cloud.Collaborate.UserInterface;
|
||||
using UnityEditor;
|
||||
using UnityEngine.UIElements;
|
||||
|
||||
namespace Unity.Cloud.Collaborate.Components
|
||||
{
|
||||
internal class Paginator : VisualElement
|
||||
{
|
||||
public const string UssClassName = "paginator";
|
||||
public const string PageTextUssClassName = UssClassName + "__page-text";
|
||||
public const string BackButtonUssClassName = UssClassName + "__back-button";
|
||||
public const string ForwardsButtonUssClassName = UssClassName + "__forwards-button";
|
||||
|
||||
static readonly string k_LayoutPath = $"{CollaborateWindow.LayoutPath}/{nameof(Paginator)}.uxml";
|
||||
static readonly string k_StylePath = $"{CollaborateWindow.StylePath}/{nameof(Paginator)}.uss";
|
||||
|
||||
public const int MoveBackwards = -1;
|
||||
public const int MoveForwards = 1;
|
||||
|
||||
public event Action<int> ClickedMovePage;
|
||||
|
||||
readonly Label m_PageText;
|
||||
readonly Button m_BackButton;
|
||||
readonly Button m_ForwardsButton;
|
||||
|
||||
public Paginator()
|
||||
{
|
||||
// Get the layout
|
||||
AddToClassList(UssClassName);
|
||||
AssetDatabase.LoadAssetAtPath<VisualTreeAsset>(k_LayoutPath).CloneTree(this);
|
||||
styleSheets.Add(AssetDatabase.LoadAssetAtPath<StyleSheet>(k_StylePath));
|
||||
|
||||
m_PageText = this.Q<Label>(className: PageTextUssClassName);
|
||||
m_BackButton = this.Q<Button>(className: BackButtonUssClassName);
|
||||
m_ForwardsButton = this.Q<Button>(className: ForwardsButtonUssClassName);
|
||||
|
||||
m_BackButton.text = "<";
|
||||
m_ForwardsButton.text = ">";
|
||||
|
||||
m_BackButton.clickable.clicked += () => ClickedMovePage?.Invoke(MoveBackwards);
|
||||
m_ForwardsButton.clickable.clicked += () => ClickedMovePage?.Invoke(MoveForwards);
|
||||
}
|
||||
|
||||
public void SetPage(int page, int maxPage)
|
||||
{
|
||||
m_PageText.text = $"Page {page + 1} of {maxPage + 1}";
|
||||
m_BackButton.SetEnabled(page != 0);
|
||||
m_ForwardsButton.SetEnabled(page != maxPage);
|
||||
}
|
||||
|
||||
[UsedImplicitly]
|
||||
public new class UxmlFactory : UxmlFactory<Paginator> { }
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue