You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
157 lines
5.3 KiB
157 lines
5.3 KiB
using UnityEditor;
|
|
|
|
using Codice.Client.Common;
|
|
using PlasticGui;
|
|
|
|
namespace Unity.PlasticSCM.Editor.UI
|
|
{
|
|
internal class UnityPlasticGuiMessage : GuiMessage.IGuiMessage
|
|
{
|
|
internal UnityPlasticGuiMessage(EditorWindow parentWindow)
|
|
{
|
|
mParentWindow = parentWindow;
|
|
}
|
|
|
|
void GuiMessage.IGuiMessage.ShowMessage(
|
|
string title,
|
|
string message,
|
|
GuiMessage.GuiMessageType alertType)
|
|
{
|
|
EditorUtility.DisplayDialog(
|
|
BuildDialogTitle(title, alertType),
|
|
message,
|
|
PlasticLocalization.GetString(PlasticLocalization.Name.CloseButton));
|
|
}
|
|
|
|
void GuiMessage.IGuiMessage.ShowError(string message)
|
|
{
|
|
EditorUtility.DisplayDialog(
|
|
PlasticLocalization.GetString(PlasticLocalization.Name.ErrorPlasticSCM),
|
|
message,
|
|
PlasticLocalization.GetString(PlasticLocalization.Name.CloseButton));
|
|
}
|
|
|
|
GuiMessage.GuiMessageResponseButton GuiMessage.IGuiMessage.ShowQuestion(
|
|
string title,
|
|
string message,
|
|
string firstActionButton,
|
|
string secondActionButton,
|
|
string thirdActionButton,
|
|
bool isFirstButtonEnabled)
|
|
{
|
|
if (!isFirstButtonEnabled)
|
|
{
|
|
bool result = EditorUtility.DisplayDialog(
|
|
title,
|
|
message,
|
|
secondActionButton,
|
|
thirdActionButton);
|
|
|
|
return (result) ?
|
|
GuiMessage.GuiMessageResponseButton.Second :
|
|
GuiMessage.GuiMessageResponseButton.Third;
|
|
}
|
|
|
|
int intResult = EditorUtility.DisplayDialogComplex(
|
|
title,
|
|
message,
|
|
firstActionButton,
|
|
secondActionButton,
|
|
thirdActionButton);
|
|
|
|
return GetResponse(intResult);
|
|
}
|
|
|
|
bool GuiMessage.IGuiMessage.ShowQuestion(
|
|
string title,
|
|
string message,
|
|
string yesButton)
|
|
{
|
|
return EditorUtility.DisplayDialog(
|
|
title,
|
|
message,
|
|
yesButton,
|
|
PlasticLocalization.GetString(PlasticLocalization.Name.NoButton));
|
|
}
|
|
|
|
bool GuiMessage.IGuiMessage.ShowYesNoQuestion(string title, string message)
|
|
{
|
|
return EditorUtility.DisplayDialog(
|
|
title,
|
|
message,
|
|
PlasticLocalization.GetString(PlasticLocalization.Name.YesButton),
|
|
PlasticLocalization.GetString(PlasticLocalization.Name.NoButton));
|
|
}
|
|
|
|
GuiMessage.GuiMessageResponseButton GuiMessage.IGuiMessage.ShowYesNoCancelQuestion(
|
|
string title, string message)
|
|
{
|
|
int intResult = EditorUtility.DisplayDialogComplex(
|
|
title,
|
|
message,
|
|
PlasticLocalization.GetString(PlasticLocalization.Name.YesButton),
|
|
PlasticLocalization.GetString(PlasticLocalization.Name.NoButton),
|
|
PlasticLocalization.GetString(PlasticLocalization.Name.CancelButton));
|
|
|
|
return GetResponse(intResult);
|
|
}
|
|
|
|
bool GuiMessage.IGuiMessage.ShowYesNoQuestionWithType(
|
|
string title, string message, GuiMessage.GuiMessageType messageType)
|
|
{
|
|
return EditorUtility.DisplayDialog(
|
|
BuildDialogTitle(title, messageType),
|
|
message,
|
|
PlasticLocalization.GetString(PlasticLocalization.Name.YesButton),
|
|
PlasticLocalization.GetString(PlasticLocalization.Name.NoButton));
|
|
}
|
|
|
|
static GuiMessage.GuiMessageResponseButton GetResponse(int dialogResult)
|
|
{
|
|
switch (dialogResult)
|
|
{
|
|
case 0:
|
|
return GuiMessage.GuiMessageResponseButton.First;
|
|
case 1:
|
|
return GuiMessage.GuiMessageResponseButton.Second;
|
|
case 2:
|
|
return GuiMessage.GuiMessageResponseButton.Third;
|
|
default:
|
|
return GuiMessage.GuiMessageResponseButton.Second;
|
|
}
|
|
}
|
|
|
|
static string BuildDialogTitle(
|
|
string title,
|
|
GuiMessage.GuiMessageType alertType)
|
|
{
|
|
string alertTypeText = GetAlertTypeText(alertType);
|
|
return string.Format("{0} - {1}", alertTypeText, title);
|
|
}
|
|
|
|
static string GetAlertTypeText(GuiMessage.GuiMessageType alertType)
|
|
{
|
|
string alertTypeText = string.Empty;
|
|
|
|
switch (alertType)
|
|
{
|
|
case GuiMessage.GuiMessageType.Informational:
|
|
alertTypeText = "Information";
|
|
break;
|
|
case GuiMessage.GuiMessageType.Warning:
|
|
alertTypeText = "Warning";
|
|
break;
|
|
case GuiMessage.GuiMessageType.Critical:
|
|
alertTypeText = "Error";
|
|
break;
|
|
case GuiMessage.GuiMessageType.Question:
|
|
alertTypeText = "Question";
|
|
break;
|
|
}
|
|
|
|
return alertTypeText;
|
|
}
|
|
|
|
EditorWindow mParentWindow;
|
|
}
|
|
}
|
|
|