Browse Source

LocalizableDescriptionAttribute and EnumToFriendlyNameConverter to display enum's in a user friendly name

pull/20/merge
PeterForstmeier 14 years ago
parent
commit
287b860e9a
  1. 4
      src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.csproj
  2. 16
      src/AddIns/Analysis/CodeQuality/Src/MainWindow.xaml
  3. 9
      src/AddIns/Analysis/CodeQuality/Src/MainWindowModel.cs

4
src/AddIns/Analysis/CodeQuality/CodeQualityAnalysis.csproj

@ -145,6 +145,8 @@ @@ -145,6 +145,8 @@
<Compile Include="Src\Utility\DoubleKeyDictionary.cs" />
<Compile Include="Src\Utility\IColorizer.cs" />
<Compile Include="Src\Utility\Helper.cs" />
<Compile Include="Src\Utility\LocalizeableCombo\EnumToFriendlyNameConverter.cs" />
<Compile Include="Src\Utility\LocalizeableCombo\LocalizableDescriptionAttribute.cs" />
<Compile Include="Src\Utility\Matrix.cs" />
<Compile Include="Src\Utility\RelayCommand.cs" />
<Compile Include="Src\Utility\ViewModelBase.cs" />
@ -264,7 +266,7 @@ @@ -264,7 +266,7 @@
</ItemGroup>
<ItemGroup>
<Folder Include="Src\Utility" />
<Folder Include="Src\Utility\LocaliceableCombo" />
<Folder Include="Src\Utility\LocalizeableCombo" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.

16
src/AddIns/Analysis/CodeQuality/Src/MainWindow.xaml

@ -12,11 +12,14 @@ @@ -12,11 +12,14 @@
xmlns:tree="http://icsharpcode.net/sharpdevelop/treeview"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:t="clr-namespace:TreeMaps.Controls;assembly=TreeMaps"
xmlns:loc ="clr-namespace:ICSharpCode.CodeQualityAnalysis.Utility.LocalizeableCombo"
Title="{Binding FrmTitle}"
x:Name="root">
<Window.DataContext>
<src:MainWindowViewModel />
</Window.DataContext>
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
@ -27,6 +30,7 @@ @@ -27,6 +30,7 @@
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition
@ -238,6 +242,8 @@ @@ -238,6 +242,8 @@
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<loc:EnumToFriendlyNameConverter x:Key="enumItemsConverter"/>
<DataTemplate
x:Key="TreeMapDataTemplate">
<Border
@ -282,6 +288,16 @@ @@ -282,6 +288,16 @@
<ComboBox Width="200" Margin="4,0,0,0"
ItemsSource="{Binding Source={StaticResource Metrics}}"
SelectedItem="{Binding SelectedMetrics}">
<ComboBox.ItemTemplate>
<DataTemplate>
<Label Content="{Binding Path=.,Mode=OneWay,
Converter={StaticResource enumItemsConverter}}"
Height="Auto"
Margin="0"
VerticalAlignment="Center"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</ToolBar>

9
src/AddIns/Analysis/CodeQuality/Src/MainWindowModel.cs

@ -16,7 +16,7 @@ using System.Windows.Media.Imaging; @@ -16,7 +16,7 @@ using System.Windows.Media.Imaging;
using ICSharpCode.CodeQualityAnalysis.Controls;
using ICSharpCode.CodeQualityAnalysis.Utility;
using ICSharpCode.CodeQualityAnalysis.Utility.LocalizeableCombo;
using Microsoft.Win32;
namespace ICSharpCode.CodeQualityAnalysis
@ -32,10 +32,16 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -32,10 +32,16 @@ namespace ICSharpCode.CodeQualityAnalysis
Method
}
public enum Metrics
{
[LocalizableDescription("IL Instructions")]
ILInstructions,
[LocalizableDescription("Cyclomatic Complexity")]
CyclomaticComplexity,
[LocalizableDescription("Variables")]
Variables
}
@ -211,6 +217,5 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -211,6 +217,5 @@ namespace ICSharpCode.CodeQualityAnalysis
throw new Exception("Invalid value for Metrics");
}
}
}
}

Loading…
Cancel
Save