diff options
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/NodeBuilder.cs')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/NodeBuilder.cs | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/NodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/NodeBuilder.cs index cf548cbad2..eaa6bb08a8 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/NodeBuilder.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/NodeBuilder.cs @@ -29,6 +29,8 @@ using System; using MonoDevelop.Core; +using MonoDevelop.Components; +using MonoDevelop.Ide.Tasks; namespace MonoDevelop.Ide.Gui.Components { @@ -154,6 +156,32 @@ namespace MonoDevelop.Ide.Gui.Components public class NodeInfo { + public NodeInfo () + { + Reset (); + } + + public void Reset () + { + Label = string.Empty; + Icon = CellRendererImage.NullImage; + ClosedIcon = CellRendererImage.NullImage; + OverlayBottomLeft = CellRendererImage.NullImage; + OverlayBottomRight = CellRendererImage.NullImage; + OverlayTopLeft = CellRendererImage.NullImage; + OverlayTopRight = CellRendererImage.NullImage; + StatusIcon = CellRendererImage.NullImage; + StatusMessage = null; + StatusSeverity = null; + DisabledStyle = false; + } + + internal static readonly NodeInfo Empty = new NodeInfo (); + + internal bool IsShared { + get { return this == Empty; } + } + public string Label { get; set; } public Xwt.Drawing.Image Icon { get; set; } public Xwt.Drawing.Image ClosedIcon { get; set; } @@ -161,5 +189,29 @@ namespace MonoDevelop.Ide.Gui.Components public Xwt.Drawing.Image OverlayBottomRight { get; set; } public Xwt.Drawing.Image OverlayTopLeft { get; set; } public Xwt.Drawing.Image OverlayTopRight { get; set; } + public Xwt.Drawing.Image StatusIcon { get; set; } + public string StatusMessage { get; set; } + public TaskSeverity? StatusSeverity { get; set; } + public bool DisabledStyle { get; set; } + + internal Xwt.Drawing.Image StatusIconInternal { + get { + if (StatusIcon != null && StatusIcon != CellRendererImage.NullImage) + return StatusIcon; + if (StatusSeverity.HasValue) { + switch (StatusSeverity.Value) { + case TaskSeverity.Error: + return ImageService.GetIcon ("md-project-status-error"); + case TaskSeverity.Warning: + return ImageService.GetIcon ("md-project-status-warning"); + case TaskSeverity.Information: + return ImageService.GetIcon ("md-project-status-information"); + case TaskSeverity.Comment: + return ImageService.GetIcon ("md-project-status-information"); + } + } + return CellRendererImage.NullImage; + } + } } } |