76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
|  | using System; | ||
|  | using System.Collections.Generic; | ||
|  | 
 | ||
|  | using UnityEngine; | ||
|  | 
 | ||
|  | using Codice.Client.Common; | ||
|  | 
 | ||
|  | namespace Unity.PlasticSCM.Editor.UI.Tree | ||
|  | { | ||
|  |     internal class EmptyStatePanel : CenteredContentPanel | ||
|  |     { | ||
|  |         internal string Text { get { return mText; } } | ||
|  | 
 | ||
|  |         internal EmptyStatePanel(Action repaintAction) | ||
|  |             : base(repaintAction) | ||
|  |         { | ||
|  |         } | ||
|  | 
 | ||
|  |         internal bool IsEmpty() | ||
|  |         { | ||
|  |             return string.IsNullOrEmpty(mText); | ||
|  |         } | ||
|  | 
 | ||
|  |         internal void UpdateContent( | ||
|  |             string contentText, | ||
|  |             bool bDrawOkIcon = false, | ||
|  |             MultiLinkLabelData multiLinkLabelData = null) | ||
|  |         { | ||
|  |             mText = contentText; | ||
|  |             mbDrawOkIcon = bDrawOkIcon; | ||
|  |             mMultiLinkLabelData = multiLinkLabelData; | ||
|  |         } | ||
|  | 
 | ||
|  |         protected override void DrawGUI() | ||
|  |         { | ||
|  |             CenterContent(BuildDrawActions( | ||
|  |                 mbDrawOkIcon, mText, mMultiLinkLabelData).ToArray()); | ||
|  |         } | ||
|  | 
 | ||
|  |         static List<Action> BuildDrawActions( | ||
|  |             bool hasOkIcon, | ||
|  |             string text, | ||
|  |             MultiLinkLabelData multiLinkLabelData) | ||
|  |         { | ||
|  |             List<Action> result = new List<Action>() | ||
|  |             { | ||
|  |                 () => | ||
|  |                 { | ||
|  |                     if (hasOkIcon) | ||
|  |                         GUILayout.Label(Images.GetStepOkIcon(), UnityStyles.EmptyState.Icon); | ||
|  | 
 | ||
|  |                     GUILayout.Label(text); | ||
|  |                 } | ||
|  |             }; | ||
|  | 
 | ||
|  |             if (multiLinkLabelData == null) | ||
|  |                 return result; | ||
|  | 
 | ||
|  |             result.Add( | ||
|  |                 () => | ||
|  |                 { | ||
|  |                     DrawTextBlockWithLink.ForMultiLinkLabel( | ||
|  |                         multiLinkLabelData, | ||
|  |                         UnityStyles.EmptyState.LabelForMultiLinkLabel, | ||
|  |                         UnityStyles.EmptyState.LinkForMultiLinkLabel); | ||
|  |                 }); | ||
|  | 
 | ||
|  |             return result; | ||
|  |         } | ||
|  | 
 | ||
|  |         bool mbDrawOkIcon; | ||
|  |         string mText; | ||
|  |         MultiLinkLabelData mMultiLinkLabelData; | ||
|  |     } | ||
|  | } |