bea2dce063
test
95 lines
2.3 KiB
C#
95 lines
2.3 KiB
C#
using System;
|
|
using UnityEditor;
|
|
using UnityEditor.Collaboration;
|
|
using UnityEngine;
|
|
|
|
#if UNITY_2019_1_OR_NEWER
|
|
using UnityEngine.UIElements;
|
|
#else
|
|
using UnityEngine.Experimental.UIElements;
|
|
#endif
|
|
|
|
namespace UnityEditor.Collaboration
|
|
{
|
|
internal class CollabHistoryRevisionLine : VisualElement
|
|
{
|
|
public CollabHistoryRevisionLine(int number)
|
|
{
|
|
AddNumber(number);
|
|
AddLine("topLine");
|
|
AddLine("bottomLine");
|
|
AddIndicator();
|
|
}
|
|
|
|
public CollabHistoryRevisionLine(DateTime date, bool isFullDateObtained)
|
|
{
|
|
AddLine(isFullDateObtained ? "obtainedDateLine" : "absentDateLine");
|
|
AddHeader(GetFormattedHeader(date));
|
|
AddToClassList("revisionLineHeader");
|
|
}
|
|
|
|
private void AddHeader(string content)
|
|
{
|
|
Add(new Label
|
|
{
|
|
text = content
|
|
});
|
|
}
|
|
|
|
private void AddIndicator()
|
|
{
|
|
Add(new VisualElement
|
|
{
|
|
name = "RevisionIndicator"
|
|
});
|
|
}
|
|
|
|
private void AddLine(string className = null)
|
|
{
|
|
var line = new VisualElement
|
|
{
|
|
name = "RevisionLine"
|
|
};
|
|
if (!String.IsNullOrEmpty(className))
|
|
{
|
|
line.AddToClassList(className);
|
|
}
|
|
Add(line);
|
|
}
|
|
|
|
private void AddNumber(int number)
|
|
{
|
|
Add(new Label
|
|
{
|
|
text = number.ToString(),
|
|
name = "RevisionIndex"
|
|
});
|
|
}
|
|
|
|
private string GetFormattedHeader(DateTime date)
|
|
{
|
|
string result = "Commits on " + date.ToString("MMM d");
|
|
switch (date.Day)
|
|
{
|
|
case 1:
|
|
case 21:
|
|
case 31:
|
|
result += "st";
|
|
break;
|
|
case 2:
|
|
case 22:
|
|
result += "nd";
|
|
break;
|
|
case 3:
|
|
case 23:
|
|
result += "rd";
|
|
break;
|
|
default:
|
|
result += "th";
|
|
break;
|
|
}
|
|
return result;
|
|
}
|
|
}
|
|
}
|