Browse Source

CodeCoverageOptionPanel

pull/30/head
PeterForstmeier 13 years ago
parent
commit
4655c6fd3f
  1. 7
      src/AddIns/Analysis/CodeCoverage/Project/CodeCoverage.addin
  2. 8
      src/AddIns/Analysis/CodeCoverage/Project/CodeCoverage.csproj
  3. 0
      src/AddIns/Analysis/CodeCoverage/Project/Resources/old_CodeCoverageOptionsPanel.xfrm
  4. 75
      src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageOptionsPanelXaml.xaml
  5. 77
      src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageOptionsPanelXaml.xaml.cs
  6. 2
      src/AddIns/Analysis/CodeCoverage/Project/Src/old_CodeCoverageOptionsPanel.cs

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

@ -48,15 +48,10 @@ @@ -48,15 +48,10 @@
</Path>
<Path name = "/SharpDevelop/Dialogs/OptionsDialog/ToolsOptions">
<OptionPanel id = "CodeCoverageOptionsPanel"
<OptionPanel id = "CodeCoverageOptionsPanel1"
label = "${res:ICSharpCode.UnitTesting.CodeCoverage}"
insertafter = "CodeAnalysisOptionPanel"
class = "ICSharpCode.CodeCoverage.CodeCoverageOptionsPanel"/>
<OptionPanel id = "CodeCoverageOptionsPanel1"
label = "${res:ICSharpCode.UnitTesting.CodeCoverage}"
insertafter = "CodeAnalysisOptionPanel"
class = "ICSharpCode.CodeCoverage.CodeCoverageOptionsPanelXaml"/>
</Path>
<Path name = "/SharpDevelop/Pads/UnitTestsPad/CommonTestCommands">

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

@ -99,8 +99,8 @@ @@ -99,8 +99,8 @@
<Compile Include="Src\ToggleCodeCoverageCommand.cs" />
<Compile Include="Src\CodeCoverageHighlighter.cs" />
<Compile Include="Src\CodeCoverageOptions.cs" />
<Compile Include="Src\CodeCoverageOptionsPanel.cs" />
<EmbeddedResource Include="Resources\CodeCoverageOptionsPanel.xfrm" />
<Compile Include="Src\old_CodeCoverageOptionsPanel.cs" />
<EmbeddedResource Include="Resources\old_CodeCoverageOptionsPanel.xfrm" />
<Compile Include="Src\CodeCoverageDisplayItem.cs" />
<Compile Include="Src\ColorPickerComboBox.cs" />
<Compile Include="Src\CodeCoverageService.cs" />
@ -144,6 +144,10 @@ @@ -144,6 +144,10 @@
<Name>ICSharpCode.Core.WinForms</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj">
<Project>{8035765F-D51F-4A0C-A746-2FD100E19419}</Project>
<Name>ICSharpCode.SharpDevelop.Widgets</Name>
</ProjectReference>
<ProjectReference Include="..\..\UnitTesting\UnitTesting.csproj">
<Project>{1F261725-6318-4434-A1B1-6C70CE4CD324}</Project>
<Name>UnitTesting</Name>

0
src/AddIns/Analysis/CodeCoverage/Project/Resources/CodeCoverageOptionsPanel.xfrm → src/AddIns/Analysis/CodeCoverage/Project/Resources/old_CodeCoverageOptionsPanel.xfrm

75
src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageOptionsPanelXaml.xaml

@ -1,46 +1,83 @@ @@ -1,46 +1,83 @@
<?xml version="1.0" encoding="utf-8"?>
<gui:OptionPanel
x:Class="ICSharpCode.CodeCoverage.CodeCoverageOptionsPanelXaml"
x:Class="ICSharpCode.CodeCoverage.CodeCoverageOptionsPanel"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:core="http://icsharpcode.net/sharpdevelop/core"
xmlns:core="http://icsharpcode.net/sharpdevelop/core"
xmlns:gui="clr-namespace:ICSharpCode.SharpDevelop.Gui;assembly=ICSharpCode.SharpDevelop"
xmlns:widgets="http://icsharpcode.net/sharpdevelop/widgets">
<GroupBox Header="{core:Localize ICSharpCode.CodeCoverage.OptionsPanel.CodeCoverageColoursGroupBoxText}">
<Grid ShowGridLines="True" >
<!--xmlns:local="clr-namespace:ICSharpCode.CodeCoverage"-->
<GroupBox
Header="{core:Localize ICSharpCode.CodeCoverage.OptionsPanel.CodeCoverageColoursGroupBoxText}">
<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="40"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="30"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label Content="{core:Localize ICSharpCode.CodeCoverage.OptionsPanel.DisplayItemsLabel}"></Label>
<Label Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="3,0,0,3"
Content="{core:Localize ICSharpCode.CodeCoverage.OptionsPanel.ItemForegroundLabel}"></Label>
<Label
Content="{core:Localize ICSharpCode.CodeCoverage.OptionsPanel.DisplayItemsLabel}"></Label>
<Button Grid.Row="1" Grid.Column="3" Padding="9,1" VerticalAlignment="Center"
Content="..."></Button>
<Label
Grid.Column="2"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Content="{core:Localize ICSharpCode.CodeCoverage.OptionsPanel.ItemForegroundLabel}"></Label>
<gui:ColorPickerButton
Grid.Row="1" Grid.Column="3" VerticalAlignment="Center"
Value="{Binding ForeGroundColor}"
Text="...">
</gui:ColorPickerButton>
<Label Grid.Row="2" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="3,0,0,3"
Content="{core:Localize ICSharpCode.CodeCoverage.OptionsPanel.ItemBackgroundLabel}"></Label>
<Label
Grid.Row="2"
Grid.Column="2"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Content="{core:Localize ICSharpCode.CodeCoverage.OptionsPanel.ItemBackgroundLabel}"></Label>
<Button Grid.Row="4" Grid.Column="3" Padding="9,1" VerticalAlignment="Center"
Content="..."></Button>
<ListView x:Name="displayItemsListBox" Grid.Row="1" Grid.ColumnSpan="2" Grid.RowSpan="3"
ItemsSource="{Binding DisplayItems}">
<gui:ColorPickerButton
Grid.Row="3" Grid.Column="3" VerticalAlignment="Center"
Value="{Binding BackGroundColor}"
Text="...">
</gui:ColorPickerButton>
</ListView>
<ListView x:Name="displayItemsListBox"
Grid.Row="1" Grid.ColumnSpan="2" Grid.RowSpan="3"
ItemsSource="{Binding DisplayItems}"
SelectedIndex="0"
SelectedItem="{Binding DisplayItem}"
IsSynchronizedWithCurrentItem="True"></ListView>
<TextBlock
Grid.Row="6"
Grid.ColumnSpan="3"
Text="{core:Localize ICSharpCode.CodeCoverage.OptionsPanel.SampleText}"
TextAlignment="Center"
FontSize="15"
VerticalAlignment="Center">
<TextBlock.Foreground>
<SolidColorBrush Color="{Binding ForeGroundColor}"></SolidColorBrush>
</TextBlock.Foreground>
<TextBlock.Background>
<SolidColorBrush Color="{Binding BackGroundColor}"></SolidColorBrush>
</TextBlock.Background>
</TextBlock>
</Grid>
</GroupBox>
</gui:OptionPanel>

77
src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageOptionsPanelXaml.xaml.cs

@ -8,9 +8,11 @@ @@ -8,9 +8,11 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Globalization;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
@ -18,23 +20,92 @@ using System.Windows.Media; @@ -18,23 +20,92 @@ using System.Windows.Media;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Widgets;
namespace ICSharpCode.CodeCoverage
{
/// <summary>
/// Interaction logic for CodeCoverageOptionsPanelXaml.xaml
/// </summary>
public partial class CodeCoverageOptionsPanelXaml : OptionPanel
public partial class CodeCoverageOptionsPanel : OptionPanel
{
public CodeCoverageOptionsPanelXaml()
public CodeCoverageOptionsPanel()
{
InitializeComponent();
DisplayItems = new ObservableCollection<CodeCoverageDisplayItem>();
DataContext = this;
DisplayItems = new ObservableCollection<CodeCoverageDisplayItem>();
DisplayItems.Add(new CodeCoverageDisplayItem(StringParser.Parse("${res:ICSharpCode.CodeCoverage.CodeCovered}"), CodeCoverageOptions.VisitedColorProperty, CodeCoverageOptions.VisitedColor, CodeCoverageOptions.VisitedForeColorProperty, CodeCoverageOptions.VisitedForeColor));
DisplayItems.Add(new CodeCoverageDisplayItem(StringParser.Parse("${res:ICSharpCode.CodeCoverage.CodeNotCovered}"), CodeCoverageOptions.NotVisitedColorProperty, CodeCoverageOptions.NotVisitedColor, CodeCoverageOptions.NotVisitedForeColorProperty, CodeCoverageOptions.NotVisitedForeColor));
DisplayItem = DisplayItems[0];
}
CodeCoverageDisplayItem displayItem;
public CodeCoverageDisplayItem DisplayItem {
get { return displayItem; }
set { displayItem = value;
base.RaisePropertyChanged(() => DisplayItem);
ShowColors();
}
}
private System.Windows.Media.Color foreGroundColor;
public Color ForeGroundColor {
get { return foreGroundColor; }
set {
foreGroundColor = value;
RaisePropertyChanged(() => ForeGroundColor);
DisplayItem.ForeColor = SetColor(ForeGroundColor);
}
}
private System.Windows.Media.Color backGroundColor;
public Color BackGroundColor {
get { return backGroundColor; }
set { backGroundColor = value;
RaisePropertyChanged(() => BackGroundColor);
DisplayItem.BackColor = SetColor(BackGroundColor);
}
}
public override bool SaveOptions()
{
bool codeCoverageColorsChanged = false;
foreach (CodeCoverageDisplayItem item in displayItemsListBox.Items) {
if (item.HasChanged) {
CodeCoverageOptions.Properties.Set<System.Drawing.Color>(item.ForeColorPropertyName, item.ForeColor);
CodeCoverageOptions.Properties.Set<System.Drawing.Color>(item.BackColorPropertyName, item.BackColor);
codeCoverageColorsChanged = true;
}
}
if (codeCoverageColorsChanged) {
CodeCoverageService.RefreshCodeCoverageHighlights();
}
return base.SaveOptions();
}
private void ShowColors()
{
System.Drawing.Color clr = DisplayItem.ForeColor;
ForeGroundColor = System.Windows.Media.Color.FromArgb(clr.A, clr.R, clr.G, clr.B);
clr = DisplayItem.BackColor;
BackGroundColor = System.Windows.Media.Color.FromArgb(clr.A, clr.R, clr.G, clr.B);
}
private System.Drawing.Color SetColor (System.Windows.Media.Color color)
{
return System.Drawing.Color.FromArgb(color.A,color.R,color.G,color.B);
}
public ObservableCollection<CodeCoverageDisplayItem> DisplayItems {get; private set;}
}
}

2
src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageOptionsPanel.cs → src/AddIns/Analysis/CodeCoverage/Project/Src/old_CodeCoverageOptionsPanel.cs

@ -10,7 +10,7 @@ using ICSharpCode.SharpDevelop.Gui; @@ -10,7 +10,7 @@ using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.CodeCoverage
{
public class CodeCoverageOptionsPanel : XmlFormsOptionPanel
public class old_CodeCoverageOptionsPanel : XmlFormsOptionPanel
{
static readonly string foregroundCustomColourButtonName = "foregroundCustomColourButton";
static readonly string backgroundCustomColourButtonName = "backgroundCustomColourButton";
Loading…
Cancel
Save