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 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 errors) { var instance = CreateInstance(); 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 errors) { mErrorsPanel.UpdateErrorsList(errors); } void BuildComponents() { mErrorsPanel = new ErrorsPanel( string.Empty, UnityConstants.CloudDrive.ERRORS_DIALOG_SETTINGS_NAME); } ErrorsPanel mErrorsPanel; string mTitle; string mExplanation; } }