68 lines
2.6 KiB
C#
68 lines
2.6 KiB
C#
using Codice.CM.Client.Differences;
|
|
using MergetoolGui;
|
|
using UnityEditor;
|
|
using UnityEngine;
|
|
using XDiffGui.Options;
|
|
|
|
namespace Unity.PlasticSCM.Editor.Diff.Text
|
|
{
|
|
internal class ComparisonMethodMenu
|
|
{
|
|
internal ComparisonMethodMenu(
|
|
IComparisonMethodListener comparisonMethodListener)
|
|
{
|
|
mComparisonMethodListener = comparisonMethodListener;
|
|
}
|
|
|
|
internal void SetComparisonMethod(ComparisonMethodTypes comparisonMethod)
|
|
{
|
|
mCurrentComparisonMethod = comparisonMethod;
|
|
}
|
|
|
|
internal void UpdateIsCheckedValueForMenuItems(
|
|
ComparisonMethodTypes comparisonMethod)
|
|
{
|
|
mCurrentComparisonMethod = comparisonMethod;
|
|
}
|
|
|
|
internal void BuildMenuItems(GenericMenu menu, string submenuPath)
|
|
{
|
|
menu.AddItem(
|
|
new GUIContent(submenuPath + MergetoolLocalization.GetString(
|
|
MergetoolLocalization.Name.IgnoreEol)),
|
|
mCurrentComparisonMethod == ComparisonMethodTypes.IgnoreEol,
|
|
() => ComparisonMethodMenuItem_Click(ComparisonMethodTypes.IgnoreEol));
|
|
|
|
menu.AddItem(
|
|
new GUIContent(submenuPath + MergetoolLocalization.GetString(
|
|
MergetoolLocalization.Name.IgnoreWhitespace)),
|
|
mCurrentComparisonMethod == ComparisonMethodTypes.IgnoreWhiteSpaces,
|
|
() => ComparisonMethodMenuItem_Click(ComparisonMethodTypes.IgnoreWhiteSpaces));
|
|
|
|
menu.AddItem(
|
|
new GUIContent(submenuPath + MergetoolLocalization.GetString(
|
|
MergetoolLocalization.Name.IgnoreEolWhitespace)),
|
|
mCurrentComparisonMethod == ComparisonMethodTypes.IgnoreEolWhiteSpaces,
|
|
() => ComparisonMethodMenuItem_Click(ComparisonMethodTypes.IgnoreEolWhiteSpaces));
|
|
|
|
menu.AddSeparator(submenuPath);
|
|
|
|
menu.AddItem(
|
|
new GUIContent(submenuPath + MergetoolLocalization.GetString(
|
|
MergetoolLocalization.Name.RecognizeAll)),
|
|
mCurrentComparisonMethod == ComparisonMethodTypes.NotIgnore,
|
|
() => ComparisonMethodMenuItem_Click(ComparisonMethodTypes.NotIgnore));
|
|
}
|
|
|
|
void ComparisonMethodMenuItem_Click(ComparisonMethodTypes comparisonMethod)
|
|
{
|
|
mCurrentComparisonMethod = comparisonMethod;
|
|
mComparisonMethodListener.OnComparisonMethodChanged(comparisonMethod);
|
|
}
|
|
|
|
ComparisonMethodTypes mCurrentComparisonMethod;
|
|
|
|
readonly IComparisonMethodListener mComparisonMethodListener;
|
|
}
|
|
}
|