Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.cs52
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;
+ }
+ }
}
}