[Mono-dev] [PATCH] Colors for the code-coverage percantage in the monocov-gtk gui

2007-04-22 Thread Valentin Sawadski
D'oh!

forgot to attach the patch.

--  Forwarded Message  --

Subject: [PATCH] Colors for the code-coverage percantage in the monocov-gtk 
gui
Date: Sunday 22 April 2007 16:49
From: Valentin Sawadski <[EMAIL PROTECTED]>
To: mono-devel-list@lists.ximian.com

Hello everybody,

here's a small patch, thats highlights the coverage-column of the monocov
gtk-gui based on the amount of code that has been covered.

Please take a look at it,

Kind Regards,
Valentin

---
Index: gui/gtk/CoverageView.cs
===
--- gui/gtk/CoverageView.cs	(revision 76047)
+++ gui/gtk/CoverageView.cs	(working copy)
@@ -107,7 +107,7 @@
 	public static string[] DEFAULT_FILTERS = {
 		"-PrivateImplementationDetails"
 	};
-
+	
 	TreeView tree;
 	Hashtable namespaces;
 	Hashtable classes;
@@ -121,13 +121,14 @@
 		tree = new TreeView (store);
 
 		CellRendererText renderer = new CellRendererText ();
+		CellRendererText coverageRenderer = new CellRendererText ();
 		// LAME: Why is this property a float instead of a double ?
 		renderer.Xalign = 0.5f;
 
 		tree.AppendColumn ("Classes", new CellRendererText (), "text", 0);
 		tree.AppendColumn ("Lines Hit", renderer, "text", 1);
 		tree.AppendColumn ("Lines Missed", renderer, "text", 2);
-		tree.AppendColumn ("Coverage", renderer, "text", 3);
+		tree.AppendColumn ("Coverage", coverageRenderer, "text", 3);
 
 		tree.GetColumn (0).Resizable = true;
 		tree.GetColumn (1).Alignment = 0.0f;
@@ -136,6 +137,7 @@
 		tree.GetColumn (2).Resizable = true;
 		tree.GetColumn (3).Alignment = 0.0f;
 		tree.GetColumn (3).Resizable = true;
+		tree.GetColumn (3).SetCellDataFunc (coverageRenderer, new TreeCellDataFunc (RenderCoverage));
 
 		tree.HeadersVisible = true;
 
@@ -236,6 +238,21 @@
 
 	}
 
+	private void RenderCoverage (TreeViewColumn column, CellRenderer cell, TreeModel model, TreeIter iter)
+	{
+		string text = (string)model.GetValue (iter, 3);
+		int coverage = Int32.Parse(text.Substring(0, text.Length - 1));
+		
+		if(coverage > 99)
+			(cell as CellRendererText).Foreground = "darkgreen";
+		else if(coverage > 74)
+			(cell as CellRendererText).Foreground = "gold";
+		else if(coverage > 49)
+			(cell as CellRendererText).Foreground = "OrangeRed";
+		else
+			(cell as CellRendererText).Foreground = "FireBrick";
+	}
+
 	void OnDeleteEvent (object sender, DeleteEventArgs e)
 	{
 		if (window_maps [sender] != null){
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] [PATCH] Colors for the code-coverage percantage in the monocov-gtk gui

2007-04-22 Thread Valentin Sawadski
Hello everybody,

here's a small patch, thats highlights the coverage-column of the monocov 
gtk-gui based on the amount of code that has been covered.

Please take a look at it,

Kind Regards,
Valentin
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list