Browse Source

CodeCoverage -> CodeCoverageProjectOptions

pull/30/head
PeterForstmeier 14 years ago
parent
commit
5a39e7e668
  1. 3
      src/AddIns/Analysis/CodeCoverage/Project/CodeCoverage.addin
  2. 14
      src/AddIns/Analysis/CodeCoverage/Project/CodeCoverage.csproj
  3. 47
      src/AddIns/Analysis/CodeCoverage/Project/Resources/CodeCoverageProjectOptionsPanel.xfrm
  4. 101
      src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageProjectOptionsPanel.cs
  5. 35
      src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageProjectOptionsPanel.xaml
  6. 89
      src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageProjectOptionsPanel.xaml.cs
  7. 2
      src/AddIns/BackendBindings/CppBinding/CppBinding/CppBinding.csproj

3
src/AddIns/Analysis/CodeCoverage/Project/CodeCoverage.addin

@ -52,6 +52,8 @@ @@ -52,6 +52,8 @@
label = "${res:ICSharpCode.UnitTesting.CodeCoverage}"
insertafter = "CodeAnalysisOptionPanel"
class = "ICSharpCode.CodeCoverage.CodeCoverageOptionsPanel"/>
</Path>
<Path name = "/SharpDevelop/Pads/UnitTestsPad/CommonTestCommands">
@ -108,6 +110,7 @@ @@ -108,6 +110,7 @@
<OptionPanel id = "CodeCoverage"
label = "${res:ICSharpCode.UnitTesting.CodeCoverage}"
class = "ICSharpCode.CodeCoverage.CodeCoverageProjectOptionsPanel"/>
</Path>
<Path name = "/SharpDevelop/Workbench/MainMenu/Edit/Format">

14
src/AddIns/Analysis/CodeCoverage/Project/CodeCoverage.csproj

@ -60,6 +60,10 @@ @@ -60,6 +60,10 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Src\CodeCoverageControl.cs" />
<Compile Include="Src\CodeCoverageProjectOptionsPanel.xaml.cs">
<DependentUpon>CodeCoverageProjectOptionsPanel.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="Src\CodeCoveragePad.cs" />
<Compile Include="Configuration\AssemblyInfo.cs" />
<Compile Include="Src\CodeCoverageModule.cs" />
@ -94,8 +98,6 @@ @@ -94,8 +98,6 @@
<EmbeddedResource Include="Resources\CodeCoverageOptionsPanel.xfrm" />
<Compile Include="Src\CodeCoverageDisplayItem.cs" />
<Compile Include="Src\ColorPickerComboBox.cs" />
<Compile Include="Src\CodeCoverageProjectOptionsPanel.cs" />
<EmbeddedResource Include="Resources\CodeCoverageProjectOptionsPanel.xfrm" />
<Compile Include="Src\CodeCoverageService.cs" />
<Compile Include="Src\RunTestWithCodeCoverageCommand.cs" />
<None Include="CodeCoverage.addin">
@ -127,6 +129,11 @@ @@ -127,6 +129,11 @@
<Name>ICSharpCode.Core</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj">
<Project>{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}</Project>
<Name>ICSharpCode.Core.Presentation</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj">
<Project>{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}</Project>
<Name>ICSharpCode.Core.WinForms</Name>
@ -143,5 +150,8 @@ @@ -143,5 +150,8 @@
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Page Include="Src\CodeCoverageProjectOptionsPanel.xaml" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

47
src/AddIns/Analysis/CodeCoverage/Project/Resources/CodeCoverageProjectOptionsPanel.xfrm

@ -1,47 +0,0 @@ @@ -1,47 +0,0 @@
<Components version="1.0">
<System.Windows.Forms.UserControl>
<Name value="CodeCoverageProjectOptionsPanel" />
<ClientSize value="{Width=342, Height=396}" />
<Controls>
<System.Windows.Forms.TextBox>
<Name value="excludeListTextBox" />
<TabIndex value="3" />
<Location value="12, 229" />
<WordWrap value="False" />
<Anchor value="Top, Left, Right" />
<ScrollBars value="Vertical" />
<AcceptsReturn value="True" />
<Size value="317, 154" />
<Multiline value="True" />
</System.Windows.Forms.TextBox>
<System.Windows.Forms.Label>
<Name value="excludeListLabel" />
<Location value="12, 206" />
<Text value="${res:ICSharpCode.CodeCoverage.ProjectOptionsPanel.ExcludeListLabel}:" />
<Size value="317, 20" />
<Anchor value="Top, Left, Right" />
<TabIndex value="2" />
</System.Windows.Forms.Label>
<System.Windows.Forms.TextBox>
<Name value="includeListTextBox" />
<TabIndex value="1" />
<Location value="12, 36" />
<WordWrap value="False" />
<Anchor value="Top, Left, Right" />
<ScrollBars value="Vertical" />
<AcceptsReturn value="True" />
<Size value="317, 154" />
<Multiline value="True" />
</System.Windows.Forms.TextBox>
<System.Windows.Forms.Label>
<Name value="includeListLabel" />
<Location value="12, 12" />
<UseCompatibleTextRendering value="True" />
<Text value="${res:ICSharpCode.CodeCoverage.ProjectOptionsPanel.IncludeListLabel}:" />
<Size value="317, 21" />
<Anchor value="Top, Left, Right" />
<TabIndex value="0" />
</System.Windows.Forms.Label>
</Controls>
</System.Windows.Forms.UserControl>
</Components>

101
src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageProjectOptionsPanel.cs

@ -1,101 +0,0 @@ @@ -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);
}
}
/// <summary>
/// Each item in the string collection is added as a separate line
/// followed by a carriage return and line feed except the last
/// item.
/// </summary>
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();
}
/// <summary>
/// Creates a new string array but with any lines that are empty
/// in the original lines array removed from it.
/// </summary>
static string[] RemoveEmptyStrings(string[] lines)
{
List<string> convertedLines = new List<string>();
foreach (string line in lines) {
if (line.Trim().Length > 0) {
convertedLines.Add(line);
}
}
return convertedLines.ToArray();
}
}
}

35
src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageProjectOptionsPanel.xaml

@ -0,0 +1,35 @@ @@ -0,0 +1,35 @@
<optionpanels:ProjectOptionPanel x:Class="ICSharpCode.CodeCoverage.CodeCoverageProjectOptionsPanel"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:optionpanels="clr-namespace:ICSharpCode.SharpDevelop.Gui.OptionPanels;assembly=ICSharpCode.SharpDevelop"
xmlns:core="http://icsharpcode.net/sharpdevelop/core">
<ScrollViewer VerticalScrollBarVisibility="Auto">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="100"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="100"></RowDefinition>
</Grid.RowDefinitions>
<Label Content="{core:Localize ICSharpCode.CodeCoverage.ProjectOptionsPanel.IncludeListLabel}"></Label>
<TextBox x:Name="includeListTextBox" Grid.Row="1" Margin="5,0,5,0"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
TextChanged="TextBox_TextChanged"
TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto">
</TextBox>
<Label Grid.Row="2" Content="{core:Localize ICSharpCode.CodeCoverage.ProjectOptionsPanel.ExcludeListLabel}"></Label>
<TextBox x:Name="excludeListTextBox" Grid.Row="3" Margin="5,0,5,0"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
TextChanged="TextBox_TextChanged"
TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" >
</TextBox>
</Grid>
</ScrollViewer>
</optionpanels:ProjectOptionPanel>

89
src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageProjectOptionsPanel.xaml.cs

@ -0,0 +1,89 @@ @@ -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
{
/// <summary>
/// Interaction logic for CodeCoverageOptionsPanelXaml.xaml
/// </summary>
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);
}
/// <summary>
/// Each item in the string collection is added as a separate line
/// followed by a carriage return and line feed except the last
/// item.
/// </summary>
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;
}
}
}

2
src/AddIns/BackendBindings/CppBinding/CppBinding/CppBinding.csproj

@ -137,6 +137,7 @@ @@ -137,6 +137,7 @@
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj">
<Project>{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}</Project>
<Name>ICSharpCode.Core.Presentation</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
@ -146,6 +147,7 @@ @@ -146,6 +147,7 @@
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj">
<Project>{8035765F-D51F-4A0C-A746-2FD100E19419}</Project>
<Name>ICSharpCode.SharpDevelop.Widgets</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<ItemGroup>

Loading…
Cancel
Save