diff --git a/src/AddIns/Analysis/CodeQuality/CodeQuality.csproj b/src/AddIns/Analysis/CodeQuality/CodeQuality.csproj
index 0db5a9764a..dfa9dcf52d 100644
--- a/src/AddIns/Analysis/CodeQuality/CodeQuality.csproj
+++ b/src/AddIns/Analysis/CodeQuality/CodeQuality.csproj
@@ -91,7 +91,9 @@
-
+
+
+
@@ -101,6 +103,9 @@
Always
+
+ Always
+
Always
diff --git a/src/AddIns/Analysis/CodeQuality/Gui/MainView.xaml b/src/AddIns/Analysis/CodeQuality/Gui/MainView.xaml
index acfd8d2bfa..b5d941d54c 100644
--- a/src/AddIns/Analysis/CodeQuality/Gui/MainView.xaml
+++ b/src/AddIns/Analysis/CodeQuality/Gui/MainView.xaml
@@ -12,9 +12,9 @@
diff --git a/src/AddIns/Analysis/CodeQuality/Gui/MainView.xaml.cs b/src/AddIns/Analysis/CodeQuality/Gui/MainView.xaml.cs
index af88a38ee1..45a357b808 100644
--- a/src/AddIns/Analysis/CodeQuality/Gui/MainView.xaml.cs
+++ b/src/AddIns/Analysis/CodeQuality/Gui/MainView.xaml.cs
@@ -91,5 +91,14 @@ namespace ICSharpCode.CodeQuality.Gui
viewer.SetBinding(previewViewModel);
reportTab.Visibility = Visibility.Visible;
}
+
+ void DependecyReport_Click(object sender, RoutedEventArgs e)
+ {
+ var dependency = new DependencyReport(fileNames);
+ var reportCreator = dependency.Run(list);
+ var previewViewModel = new PreviewViewModel(dependency.ReportSettings,reportCreator.Pages);
+ viewer.SetBinding(previewViewModel);
+ reportTab.Visibility = Visibility.Visible;
+ }
}
}
\ No newline at end of file
diff --git a/src/AddIns/Analysis/CodeQuality/Reporting/BaseReport.cs b/src/AddIns/Analysis/CodeQuality/Reporting/BaseReport.cs
new file mode 100644
index 0000000000..d607bffd55
--- /dev/null
+++ b/src/AddIns/Analysis/CodeQuality/Reporting/BaseReport.cs
@@ -0,0 +1,46 @@
+/*
+ * Created by SharpDevelop.
+ * User: Peter Forstmeier
+ * Date: 25.02.2012
+ * Time: 21:04
+ *
+ * To change this template use Tools | Options | Coding | Edit Standard Headers.
+ */
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Reflection;
+
+using ICSharpCode.Reports.Core;
+
+namespace ICSharpCode.CodeQuality.Reporting
+{
+ ///
+ /// Description of BaseReport.
+ ///
+ public class BaseReport
+ {
+ private const string reportDir = "Reporting";
+
+ public BaseReport(List fileNames)
+ {
+
+ if (fileNames.Count > 0)
+ {
+ this.FileNames = new List();
+ this.FileNames.AddRange(fileNames);
+ }
+ }
+
+ protected string MakeReportFileName (string reportName)
+ {
+ Uri uri = new Uri(Assembly.GetExecutingAssembly().GetName().CodeBase);
+ var fullname = uri.LocalPath;
+ return Path.GetDirectoryName(fullname) + Path.DirectorySeparatorChar + reportDir + Path.DirectorySeparatorChar + reportName;
+ }
+
+ protected List FileNames {get;private set;}
+
+ public ReportSettings ReportSettings {get;set;}
+ }
+}
diff --git a/src/AddIns/Analysis/CodeQuality/Reporting/DependencyReport.cs b/src/AddIns/Analysis/CodeQuality/Reporting/DependencyReport.cs
new file mode 100644
index 0000000000..ec3e1c8df8
--- /dev/null
+++ b/src/AddIns/Analysis/CodeQuality/Reporting/DependencyReport.cs
@@ -0,0 +1,78 @@
+/*
+ * Created by SharpDevelop.
+ * User: Peter Forstmeier
+ * Date: 25.02.2012
+ * Time: 21:17
+ *
+ * To change this template use Tools | Options | Coding | Edit Standard Headers.
+ */
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+
+using ICSharpCode.CodeQuality.Engine.Dom;
+using ICSharpCode.Reports.Core;
+
+namespace ICSharpCode.CodeQuality.Reporting
+{
+ ///
+ /// Description of Dependencyrepor.
+ ///
+ public class DependencyReport:BaseReport
+ {
+ private const string overviewReport = "DependencyReport.srd";
+ public DependencyReport(List fileNames):base(fileNames)
+ {
+ }
+
+ public IReportCreator Run(ReadOnlyCollection list)
+ {
+ var reportFileName = MakeReportFileName(overviewReport);
+ var model = ReportEngine.LoadReportModel(reportFileName);
+ ReportSettings = model.ReportSettings;
+ var newList = MakeList (list);
+
+ IReportCreator creator = ReportEngine.CreatePageBuilder(model,newList,null);
+ creator.BuildExportList();
+ return creator;
+ }
+
+ List MakeList (ReadOnlyCollection list)
+ {
+ AssemblyNode baseNode = list[0];
+ var newList = new List();
+ foreach (var element in list) {
+ var i = baseNode.GetUses(element);
+ if (i > 0) {
+ Console.WriteLine("{0} ref {1} times {2}",baseNode.Name,element.Name,i);
+ newList.Add(new DependencyViewModel()
+ {
+ Node = baseNode,
+ References = element.Name
+ });
+ }
+ }
+ return newList;
+ }
+ }
+
+
+ internal class DependencyViewModel
+ {
+ public DependencyViewModel()
+ {
+
+ }
+
+ public AssemblyNode Node {get;set;}
+
+
+ public string Name
+ {
+ get {return Node.Name;}
+ }
+
+ public string References {get;set;}
+ }
+
+}
diff --git a/src/AddIns/Analysis/CodeQuality/Reporting/DependencyReport.srd b/src/AddIns/Analysis/CodeQuality/Reporting/DependencyReport.srd
new file mode 100644
index 0000000000..ab19d8a7e4
--- /dev/null
+++ b/src/AddIns/Analysis/CodeQuality/Reporting/DependencyReport.srd
@@ -0,0 +1,290 @@
+
+
+
+
+ DependencyReport
+ FormSheet
+ 50
+ 50
+ 50
+ 50
+ 827, 1169
+ False
+ Millimeter
+ 5, 5, 5, 5
+
+
+
+
+ Ascending
+ Name
+ System.String
+
+
+
+
+
+
+ Text
+ FormSheet
+ No Data for this Report
+ Microsoft Sans Serif, 10pt
+ True
+
+
+
+
+ 50, 50
+ 727, 60
+ White
+ False
+ 0
+ 0
+ False
+ False
+
+
+ 157, 3
+ 414, 40
+ White
+ True
+ Segoe UI, 18pt, style=Bold
+ None
+ TopLeft
+ False
+ False
+ No
+ SharpDevelop CodeQuality Analysis
+ False
+ Black
+ Black
+ BaseTextItem2147483637
+
+
+ Black
+ ReportHeader
+
+
+ 50, 125
+ 727, 69
+ White
+ False
+ 0
+ 0
+ False
+ False
+
+
+ 22, 47
+ 660, 10
+ White
+ True
+ Black
+ 10, 5
+ 647, 5
+ Flat
+ Flat
+ Flat
+ Solid
+ 4
+ BaseLineItem1
+
+
+ 222, 3
+ 257, 26
+ White
+ True
+ Microsoft Sans Serif, 15.75pt
+ None
+ TopLeft
+ False
+ False
+ System.String
+ No
+ Analysis Overview Report
+ False
+ Black
+ Black
+ Overview
+
+
+ 563, 3
+ 100, 26
+ White
+ True
+ Segoe UI, 15.75pt
+ None
+ TopLeft
+ False
+ False
+ No
+ =Today()
+ False
+ Black
+ ControlText
+ BaseTextItem2147483638
+
+
+ Black
+ ReportPageHeader
+
+
+ 50, 209
+ 727, 115
+ White
+ False
+ 0
+ 0
+ False
+ False
+
+
+ 31, 72
+ 641, 30
+ White
+ True
+ False
+ Black
+ Black
+
+
+ 254, 4
+ 156, 20
+ White
+ True
+ Microsoft Sans Serif, 10pt
+ None
+ TopLeft
+ False
+ False
+ No
+ References
+ False
+ Black
+ Black
+ References
+ BaseDataItem2
+
+
+
+ 0
+ BaseRowItem1
+
+
+ 31, 22
+ 641, 30
+ LightGray
+ True
+ False
+ Black
+ Black
+
+
+ 254, 2
+ 100, 20
+ White
+ True
+ Microsoft Sans Serif, 10pt
+ None
+ TopLeft
+ False
+ False
+ No
+ References
+ False
+ Black
+ Black
+ BaseTextItem2147483636
+
+
+ 12, 3
+ 211, 20
+ White
+ True
+ Microsoft Sans Serif, 10pt
+ None
+ TopLeft
+ False
+ False
+ No
+ BaseDataItem1
+ False
+ Black
+ Black
+ Name
+ BaseDataItem1
+
+
+
+ 0
+ False
+ GroupHeader1
+
+
+ Black
+ ReportDetail
+
+
+ 50, 339
+ 727, 60
+ White
+ False
+ 0
+ 0
+ False
+ False
+
+
+ 31, 5
+ 573, 20
+ White
+ True
+ Segoe UI, 9.75pt
+ None
+ TopLeft
+ False
+ False
+ No
+ = Globals!ReportFolder + '\' + Globals!ReportName
+ False
+ Black
+ ControlText
+ BaseTextItem2147483641
+
+
+ 622, 5
+ 100, 20
+ White
+ True
+ Microsoft Sans Serif, 10pt
+ None
+ TopLeft
+ False
+ False
+ System.String
+ No
+ =Globals!PageNumber
+ False
+ Black
+ Black
+ PageNumber1
+
+
+ Black
+ ReportPageFooter
+
+
+ 50, 414
+ 727, 60
+ White
+ False
+ 0
+ 0
+ False
+ False
+
+ Black
+ ReportFooter
+
+
+
\ No newline at end of file
diff --git a/src/AddIns/Analysis/CodeQuality/Reporting/Overview.cs b/src/AddIns/Analysis/CodeQuality/Reporting/OverviewReport.cs
similarity index 70%
rename from src/AddIns/Analysis/CodeQuality/Reporting/Overview.cs
rename to src/AddIns/Analysis/CodeQuality/Reporting/OverviewReport.cs
index 506cd3000e..fdce388624 100644
--- a/src/AddIns/Analysis/CodeQuality/Reporting/Overview.cs
+++ b/src/AddIns/Analysis/CodeQuality/Reporting/OverviewReport.cs
@@ -12,65 +12,42 @@ using System.Collections.ObjectModel;
using System.IO;
using System.Linq;
using System.Reflection;
-using System.Windows;
-
using ICSharpCode.CodeQuality.Engine.Dom;
+using ICSharpCode.CodeQuality.Reporting;
using ICSharpCode.NRefactory.Utils;
using ICSharpCode.Reports.Core;
-using ICSharpCode.Reports.Core.Exporter.ExportRenderer;
-using ICSharpCode.Reports.Core.WpfReportViewer;
-using Microsoft.Win32;
namespace ICSharpCode.CodeQuality.Reporting
{
///
/// Description of Overview.
///
- public class OverviewReport
+ public class OverviewReport:BaseReport
{
- private const string reportDir = "Reporting";
private const string overviewReport = "ReportingOverview.srd";
- List fileNames;
-
- public OverviewReport(List fileNames)
+ public OverviewReport(List fileNames):base(fileNames)
{
- if (fileNames.Count > 0)
- {
- this.fileNames = new List();
- this.fileNames.AddRange(fileNames);
- }
}
public IReportCreator Run(ReadOnlyCollection list)
{
- var r = from c in list
- select new OverviewViewModel { Node = c};
-
var reportFileName = MakeReportFileName(overviewReport);
var model = ReportEngine.LoadReportModel(reportFileName);
+ ReportSettings = model.ReportSettings;
+
+ var r = from c in list
+ select new OverviewViewModel { Node = c};
var p = new ReportParameters();
- p.Parameters.Add(new BasicParameter ("param1",fileNames[0]));
+ p.Parameters.Add(new BasicParameter ("param1",base.FileNames[0]));
p.Parameters.Add(new BasicParameter ("param2",list.Count.ToString()));
- ReportSettings = model.ReportSettings;
-
IReportCreator creator = ReportEngine.CreatePageBuilder(model,r.ToList(),p);
creator.BuildExportList();
return creator;
- }
-
- string MakeReportFileName (string repName)
- {
- Uri uri = new Uri(Assembly.GetExecutingAssembly().GetName().CodeBase);
- var fullname = uri.LocalPath;
- return Path.GetDirectoryName(fullname) + Path.DirectorySeparatorChar + reportDir + Path.DirectorySeparatorChar + repName;
- }
-
- public ReportSettings ReportSettings {get;private set;}
-
+ }
}
diff --git a/src/AddIns/Analysis/CodeQuality/Reporting/ReportingOverview.srd b/src/AddIns/Analysis/CodeQuality/Reporting/ReportingOverview.srd
index 8508a4e5d7..b7f119e734 100644
--- a/src/AddIns/Analysis/CodeQuality/Reporting/ReportingOverview.srd
+++ b/src/AddIns/Analysis/CodeQuality/Reporting/ReportingOverview.srd
@@ -37,7 +37,7 @@
50, 50
- 727, 107
+ 727, 168
White
False
0
@@ -46,11 +46,28 @@
False
- 600, 37
- 100, 20
+ 122, 13
+ 414, 40
White
True
- Segoe UI, 9pt
+ Segoe UI, 18pt, style=Bold
+ None
+ TopLeft
+ False
+ False
+ No
+ SharpDevelop CodeQuality Analysis
+ False
+ Black
+ ControlText
+ BaseTextItem2147483637
+
+
+ 601, 59
+ 100, 26
+ White
+ True
+ Segoe UI, 15.75pt
None
TopLeft
False
@@ -63,7 +80,7 @@
BaseTextItem2147483638
- 3, 91
+ 12, 145
680, 10
White
True
@@ -78,7 +95,7 @@
BaseLineItem1
- 130, 64
+ 139, 118
108, 20
White
True
@@ -95,7 +112,7 @@
BaseTextItem2147483639
- 18, 64
+ 27, 118
106, 20
White
True
@@ -112,7 +129,7 @@
BaseTextItem2147483640
- 130, 37
+ 139, 91
438, 20
White
True
@@ -129,7 +146,7 @@
Param1
- 18, 37
+ 27, 91
106, 20
White
True
@@ -146,7 +163,7 @@
BaseTextItem2147483646
- 186, 5
+ 195, 59
257, 26
White
True
@@ -168,7 +185,7 @@
ReportHeader
- 50, 172
+ 50, 233
727, 60
White
False
@@ -298,7 +315,7 @@
ReportPageHeader
- 50, 247
+ 50, 308
727, 60
White
False
@@ -436,7 +453,7 @@
ReportDetail
- 50, 322
+ 50, 383
727, 37
White
False
@@ -456,7 +473,7 @@
False
False
No
- = Globals!ReportFolder + Globals!ReportName
+ = Globals!ReportFolder + '\' + Globals!ReportName
False
Black
ControlText
@@ -485,7 +502,7 @@
ReportPageFooter
- 50, 374
+ 50, 435
727, 60
White
False