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