Skip to content

Commit 01fb5aa

Browse files
committed
Fix CodeMetrics UI Column Widths
1 parent ec3061a commit 01fb5aa

File tree

3 files changed

+38
-7
lines changed

3 files changed

+38
-7
lines changed

RetailCoder.VBE/Rubberduck.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -431,6 +431,7 @@
431431
<Compile Include="UI\Controls\EmptyUIRefresh.xaml.cs">
432432
<DependentUpon>EmptyUIRefresh.xaml</DependentUpon>
433433
</Compile>
434+
<Compile Include="UI\Converters\SubractionConverter.cs" />
434435
<Compile Include="UI\EnvironmentProvider.cs" />
435436
<Compile Include="UI\Inspections\AggregateInspectionResult.cs" />
436437
<Compile Include="UI\ModernFolderBrowser.cs" />

RetailCoder.VBE/UI/CodeMetrics/CodeMetricsControl.xaml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
<converters:BoolToHiddenVisibilityConverter x:Key="BoolToHiddenVisibility" />
2929
<converters:StringHasValueToVisibilityConverter x:Key="StringHasValueToVisibility" />
3030
<converters:StringHasNoValueToVisibilityConverter x:Key="StringHasNoValueToVisibility" />
31+
<converters:SubractionConverter x:Key="SubtractionConverter" />
3132

3233
<LinearGradientBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" EndPoint="0,1" StartPoint="0,0">
3334
<GradientStop Color="#FFD9F4FF" Offset="0"/>
@@ -157,18 +158,18 @@
157158
<DataGrid Grid.Row="2" ItemsSource="{Binding ModuleMetrics}" AutoGenerateColumns="False" IsReadOnly="True">
158159
<DataGrid.Columns>
159160
<DataGridTextColumn Binding="{Binding Path=ModuleName}" Header="Declaration" Width="*"/>
160-
<DataGridTextColumn Binding="{Binding Path=Result.Lines}" Header="Lines" Width="Auto"/>
161-
<DataGridTextColumn Binding="{Binding Path=Result.CyclomaticComplexity}" Header="Cyclomatic Complexity" Width="Auto"/>
162-
<DataGridTextColumn Binding="{Binding Path=Result.MaximumNesting}" Header="Nesting Level" Width="Auto"/>
161+
<DataGridTextColumn Binding="{Binding Path=Result.Lines}" Header="Lines" Width="Auto" x:Name="LinesColumn"/>
162+
<DataGridTextColumn Binding="{Binding Path=Result.CyclomaticComplexity}" Header="Cyclomatic Complexity" Width="Auto" x:Name="CCColumn"/>
163+
<DataGridTextColumn Binding="{Binding Path=Result.MaximumNesting}" Header="Nesting Level" Width="Auto" x:Name="NestingColumn"/>
163164
</DataGrid.Columns>
164165
<DataGrid.RowDetailsTemplate>
165166
<DataTemplate>
166-
<DataGrid ItemsSource="{Binding Path=MemberResults}" AutoGenerateColumns="False" IsReadOnly="True" Width="{Binding Path=ActualWidth, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid,AncestorLevel=1}}">
167+
<DataGrid ItemsSource="{Binding Path=MemberResults}" AutoGenerateColumns="False" IsReadOnly="True" Width="{Binding Path=ActualWidth, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid,AncestorLevel=1}, Converter={StaticResource SubtractionConverter},ConverterParameter=25}">
167168
<DataGrid.Columns>
168169
<DataGridTextColumn Header="Declaration" Binding="{Binding Path=Key.IdentifierName}" Width="*"/>
169-
<DataGridTextColumn Header="Lines" Binding="{Binding Path=Value.Lines}" Width="Auto"/>
170-
<DataGridTextColumn Header="Cyclomatic Complexity" Binding="{Binding Path=Value.CyclomaticComplexity}" Width="Auto"/>
171-
<DataGridTextColumn Header="Nesting Level" Binding="{Binding Path=Value.MaximumNesting}" Width="Auto"/>
170+
<DataGridTextColumn Header="Lines" Binding="{Binding Path=Value.Lines}" Width="{Binding Path=ActualWidth, Source={x:Reference LinesColumn}}"/>
171+
<DataGridTextColumn Header="Cyclomatic Complexity" Binding="{Binding Path=Value.CyclomaticComplexity}" Width="{Binding Path=ActualWidth, Source={x:Reference CCColumn}}"/>
172+
<DataGridTextColumn Header="Nesting Level" Binding="{Binding Path=Value.MaximumNesting}" Width="{Binding Path=ActualWidth, Source={x:Reference NestingColumn}}"/>
172173
</DataGrid.Columns>
173174
</DataGrid>
174175
</DataTemplate>
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
using System;
2+
using System.Globalization;
3+
using System.Windows.Data;
4+
5+
namespace Rubberduck.UI.Converters
6+
{
7+
public class SubractionConverter : IValueConverter
8+
{
9+
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
10+
{
11+
var typedValue = (double)value;
12+
if (!Double.TryParse((string)parameter, out var typedParam))
13+
{
14+
return (double)value;
15+
}
16+
return typedValue - typedParam;
17+
}
18+
19+
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
20+
{
21+
var typedValue = (double)value;
22+
if (!Double.TryParse((string)parameter, out var typedParam))
23+
{
24+
return (double)value;
25+
}
26+
return typedValue + typedParam;
27+
}
28+
}
29+
}

0 commit comments

Comments
 (0)