From 5a39e7e668621e551592f685ab1aa8d041db94c3 Mon Sep 17 00:00:00 2001 From: PeterForstmeier Date: Sat, 9 Jun 2012 16:45:19 +0200 Subject: [PATCH] CodeCoverage -> CodeCoverageProjectOptions --- .../CodeCoverage/Project/CodeCoverage.addin | 3 + .../CodeCoverage/Project/CodeCoverage.csproj | 14 ++- .../CodeCoverageProjectOptionsPanel.xfrm | 47 -------- .../Src/CodeCoverageProjectOptionsPanel.cs | 101 ------------------ .../Src/CodeCoverageProjectOptionsPanel.xaml | 35 ++++++ .../CodeCoverageProjectOptionsPanel.xaml.cs | 89 +++++++++++++++ .../CppBinding/CppBinding/CppBinding.csproj | 2 + 7 files changed, 141 insertions(+), 150 deletions(-) delete mode 100644 src/AddIns/Analysis/CodeCoverage/Project/Resources/CodeCoverageProjectOptionsPanel.xfrm delete mode 100644 src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageProjectOptionsPanel.cs create mode 100644 src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageProjectOptionsPanel.xaml create mode 100644 src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageProjectOptionsPanel.xaml.cs diff --git a/src/AddIns/Analysis/CodeCoverage/Project/CodeCoverage.addin b/src/AddIns/Analysis/CodeCoverage/Project/CodeCoverage.addin index 7b2ab73202..a0421426ee 100644 --- a/src/AddIns/Analysis/CodeCoverage/Project/CodeCoverage.addin +++ b/src/AddIns/Analysis/CodeCoverage/Project/CodeCoverage.addin @@ -52,6 +52,8 @@ label = "${res:ICSharpCode.UnitTesting.CodeCoverage}" insertafter = "CodeAnalysisOptionPanel" class = "ICSharpCode.CodeCoverage.CodeCoverageOptionsPanel"/> + + @@ -108,6 +110,7 @@ + diff --git a/src/AddIns/Analysis/CodeCoverage/Project/CodeCoverage.csproj b/src/AddIns/Analysis/CodeCoverage/Project/CodeCoverage.csproj index c763fe5e61..a146ac0c4a 100644 --- a/src/AddIns/Analysis/CodeCoverage/Project/CodeCoverage.csproj +++ b/src/AddIns/Analysis/CodeCoverage/Project/CodeCoverage.csproj @@ -60,6 +60,10 @@ + + CodeCoverageProjectOptionsPanel.xaml + Code + @@ -94,8 +98,6 @@ - - @@ -127,6 +129,11 @@ ICSharpCode.Core False + + {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} + ICSharpCode.Core.Presentation + False + {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} ICSharpCode.Core.WinForms @@ -143,5 +150,8 @@ False + + + \ No newline at end of file diff --git a/src/AddIns/Analysis/CodeCoverage/Project/Resources/CodeCoverageProjectOptionsPanel.xfrm b/src/AddIns/Analysis/CodeCoverage/Project/Resources/CodeCoverageProjectOptionsPanel.xfrm deleted file mode 100644 index 6e5649c73b..0000000000 --- a/src/AddIns/Analysis/CodeCoverage/Project/Resources/CodeCoverageProjectOptionsPanel.xfrm +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageProjectOptionsPanel.cs b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageProjectOptionsPanel.cs deleted file mode 100644 index 09420d2ec5..0000000000 --- a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageProjectOptionsPanel.cs +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) -// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) - -using System; -using System.Collections.Generic; -using System.Collections.Specialized; -using System.IO; -using System.Text; -using System.Windows.Forms; - -using ICSharpCode.SharpDevelop.Gui.OptionPanels; - -namespace ICSharpCode.CodeCoverage -{ - public class CodeCoverageProjectOptionsPanel : AbstractXmlFormsProjectOptionPanel - { - static readonly string IncludeListTextBoxName = "includeListTextBox"; - static readonly string ExcludeListTextBoxName = "excludeListTextBox"; - - TextBox includeListTextBox; - TextBox excludeListTextBox; - - public CodeCoverageProjectOptionsPanel() - { - } - - public override void LoadPanelContents() - { - SetupFromXmlStream(this.GetType().Assembly.GetManifestResourceStream("ICSharpCode.CodeCoverage.Resources.CodeCoverageProjectOptionsPanel.xfrm")); - InitializeHelper(); - - includeListTextBox = (TextBox)ControlDictionary[IncludeListTextBoxName]; - excludeListTextBox = (TextBox)ControlDictionary[ExcludeListTextBoxName]; - - ReadPartCoverSettings(); - - includeListTextBox.TextChanged += TextBoxTextChanged; - excludeListTextBox.TextChanged += TextBoxTextChanged; - } - - public override bool StorePanelContents() - { - SavePartCoverSettings(); - IsDirty = false; - return true; - } - - void TextBoxTextChanged(object sender, EventArgs e) - { - IsDirty = true; - } - - void SavePartCoverSettings() - { - PartCoverSettings settings = new PartCoverSettings(); - settings.Include.AddRange(RemoveEmptyStrings(includeListTextBox.Lines)); - settings.Exclude.AddRange(RemoveEmptyStrings(excludeListTextBox.Lines)); - settings.Save(PartCoverSettings.GetFileName(project)); - } - - void ReadPartCoverSettings() - { - string settingsFileName = PartCoverSettings.GetFileName(project); - if (File.Exists(settingsFileName)) { - PartCoverSettings settings = new PartCoverSettings(settingsFileName); - includeListTextBox.Text = ConvertToMultLineString(settings.Include); - excludeListTextBox.Text = ConvertToMultLineString(settings.Exclude); - } - } - - /// - /// Each item in the string collection is added as a separate line - /// followed by a carriage return and line feed except the last - /// item. - /// - static string ConvertToMultLineString(StringCollection items) - { - StringBuilder text = new StringBuilder(); - foreach (String item in items) { - text.Append(item); - text.Append("\r\n"); - } - return text.ToString().Trim(); - } - - /// - /// Creates a new string array but with any lines that are empty - /// in the original lines array removed from it. - /// - static string[] RemoveEmptyStrings(string[] lines) - { - List convertedLines = new List(); - foreach (string line in lines) { - if (line.Trim().Length > 0) { - convertedLines.Add(line); - } - } - return convertedLines.ToArray(); - } - } -} diff --git a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageProjectOptionsPanel.xaml b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageProjectOptionsPanel.xaml new file mode 100644 index 0000000000..ab89d715c0 --- /dev/null +++ b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageProjectOptionsPanel.xaml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageProjectOptionsPanel.xaml.cs b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageProjectOptionsPanel.xaml.cs new file mode 100644 index 0000000000..7ee67cb76f --- /dev/null +++ b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageProjectOptionsPanel.xaml.cs @@ -0,0 +1,89 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 09.06.2012 + * Time: 15:01 + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.Collections.Specialized; +using System.IO; +using System.Text; +using System.Windows.Controls; + +using ICSharpCode.SharpDevelop.Gui.OptionPanels; +using ICSharpCode.SharpDevelop.Project; + +namespace ICSharpCode.CodeCoverage +{ + /// + /// Interaction logic for CodeCoverageOptionsPanelXaml.xaml + /// + public partial class CodeCoverageProjectOptionsPanel : ProjectOptionPanel + { + public CodeCoverageProjectOptionsPanel() + { + InitializeComponent(); + } + + protected override void Load(MSBuildBasedProject project, string configuration, string platform) + { + ReadPartCoverSettings(); + base.Load(project, configuration, platform); + } + + + protected override bool Save(MSBuildBasedProject project, string configuration, string platform) + { + SavePartCoverSettings(); + return base.Save(project, configuration, platform); + } + + + void ReadPartCoverSettings() + { + string settingsFileName = PartCoverSettings.GetFileName(base.Project); + if (File.Exists(settingsFileName)) { + PartCoverSettings settings = new PartCoverSettings(settingsFileName); + includeListTextBox.Text = ConvertToMultLineString(settings.Include); + excludeListTextBox.Text = ConvertToMultLineString(settings.Exclude); + } + } + + + private void SavePartCoverSettings() + { + PartCoverSettings settings = new PartCoverSettings(); + settings.Include.AddRange(MakeStringArray(includeListTextBox.Text)); + settings.Exclude.AddRange(MakeStringArray(excludeListTextBox.Text)); + settings.Save(PartCoverSettings.GetFileName(base.Project)); + } + + + private string[] MakeStringArray(string str) + { + return str.Split(new char[]{'\r','\n'}, StringSplitOptions.RemoveEmptyEntries); + } + + /// + /// Each item in the string collection is added as a separate line + /// followed by a carriage return and line feed except the last + /// item. + /// + private static string ConvertToMultLineString(StringCollection items) + { + StringBuilder text = new StringBuilder(); + foreach (String item in items) { + text.Append(item); + text.Append("\r\n"); + } + return text.ToString().Trim(); + } + + + void TextBox_TextChanged(object sender, TextChangedEventArgs e) + { + IsDirty = true; + } + } +} \ No newline at end of file diff --git a/src/AddIns/BackendBindings/CppBinding/CppBinding/CppBinding.csproj b/src/AddIns/BackendBindings/CppBinding/CppBinding/CppBinding.csproj index 78a513458c..72fba9f328 100644 --- a/src/AddIns/BackendBindings/CppBinding/CppBinding/CppBinding.csproj +++ b/src/AddIns/BackendBindings/CppBinding/CppBinding/CppBinding.csproj @@ -137,6 +137,7 @@ {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} ICSharpCode.Core.Presentation + False {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} @@ -146,6 +147,7 @@ {8035765F-D51F-4A0C-A746-2FD100E19419} ICSharpCode.SharpDevelop.Widgets + False