using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using Codice.CM.Common;
using PlasticGui;
namespace Unity.PlasticSCM.Editor.UI.Errors
{
internal class ErrorsDialog : PlasticDialog
{
protected override Rect DefaultRect
{
get
{
var baseRect = base.DefaultRect;
return new Rect(baseRect.x, baseRect.y, 810, 385);
}
}
internal static void ShowDialog(
string title,
string explanation,
List<ErrorMessage> errors,
EditorWindow parentWindow)
{
ErrorsDialog dialog = Create(title, explanation, errors);
dialog.RunModal(parentWindow);
}
protected override void DoComponentsArea()
{
mErrorsPanel.OnGUI();
}
protected override string GetTitle()
{
return mTitle;
}
protected override string GetExplanation()
{
return mExplanation;
}
static ErrorsDialog Create(
string title,
string explanation,
List<ErrorMessage> errors)
{
var instance = CreateInstance<ErrorsDialog>();
instance.mEscapeKeyAction = instance.CloseButtonAction;
instance.mOkButtonText = string.Empty;
instance.mCancelButtonText = string.Empty;
instance.mCloseButtonText = PlasticLocalization.Name.CloseButton.GetString();
instance.mTitle = title;
instance.mExplanation = explanation;
instance.BuildComponents();
instance.SetErrorsList(errors);
return instance;
}
void SetErrorsList(List<ErrorMessage> errors)
{
mErrorsPanel.UpdateErrorsList(errors);
}
void BuildComponents()
{
mErrorsPanel = new ErrorsPanel(
string.Empty,
UnityConstants.CloudDrive.ERRORS_DIALOG_TREE_SETTINGS_NAME,
UnityConstants.CloudDrive.ERRORS_DIALOG_SPLITTER_SETTINGS_NAME);
}
ErrorsPanel mErrorsPanel;
string mTitle;
string mExplanation;
}
}