Skip to content

Commit 3c70b7d

Browse files
committed
add controltemplate for HorizontalScrollbar, enable horizontalscrollbar for buildreport datagrid, started adding more info into buildreport tools (overall stats)
1 parent fbc18af commit 3c70b7d

File tree

2 files changed

+85
-24
lines changed

2 files changed

+85
-24
lines changed

UnityLauncherPro/Data/BuildReportItem.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
public class BuildReportItem
44
{
55
// TODO use real values, so can sort and convert kb/mb
6+
public string Category { set; get; } // for category list
67
public string Size { set; get; }
78
public string Percentage { set; get; }
89
public string Path { set; get; }

UnityLauncherPro/MainWindow.xaml

Lines changed: 84 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -379,10 +379,43 @@
379379
</Grid>
380380
</ControlTemplate>
381381

382+
<ControlTemplate x:Key="HorizontalScrollBar" TargetType="{x:Type ScrollBar}">
383+
<Grid >
384+
<Grid.ColumnDefinitions>
385+
<ColumnDefinition MaxWidth="18"/>
386+
<ColumnDefinition Width="0.00001*"/>
387+
<ColumnDefinition MaxWidth="18"/>
388+
</Grid.ColumnDefinitions>
389+
<!-- scrollbar background -->
390+
<Border Grid.ColumnSpan="3" CornerRadius="2" Background="{DynamicResource ThemeScrollBarBackground}" />
391+
<!-- scrollbar left button -->
392+
<RepeatButton Grid.Column="0" Style="{StaticResource ScrollBarLineButton}" Width="18" Command="ScrollBar.LineLeftCommand" Content="M 4 0 L 4 8 L 0 4 Z" />
393+
<Track Name="PART_Track" Grid.Column="1" IsDirectionReversed="False">
394+
<Track.DecreaseRepeatButton>
395+
<RepeatButton Style="{StaticResource ScrollBarPageButton}" Command="ScrollBar.PageLeftCommand" />
396+
</Track.DecreaseRepeatButton>
397+
<Track.Thumb>
398+
<!-- scrollbar foreground -->
399+
<Thumb Style="{StaticResource ScrollBarThumb}" Margin="0,1,0,1" Background="{DynamicResource ThemeScrollBarFill}" BorderBrush="{x:Null}" />
400+
</Track.Thumb>
401+
<Track.IncreaseRepeatButton>
402+
<RepeatButton Style="{StaticResource ScrollBarPageButton}" Command="ScrollBar.PageRightCommand" />
403+
</Track.IncreaseRepeatButton>
404+
</Track>
405+
<!-- scrollbar right button -->
406+
<RepeatButton Grid.Column="3" Style="{StaticResource ScrollBarLineButton}" Width="18" Command="ScrollBar.LineRightCommand" Content="M 0 0 L 4 4 L 0 8 Z"/>
407+
</Grid>
408+
</ControlTemplate>
409+
382410
<Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}">
383411
<Setter Property="SnapsToDevicePixels" Value="True"/>
384412
<Setter Property="OverridesDefaultStyle" Value="true"/>
385413
<Style.Triggers>
414+
<Trigger Property="Orientation" Value="Horizontal">
415+
<Setter Property="Width" Value="Auto"/>
416+
<Setter Property="Height" Value="18" />
417+
<Setter Property="Template" Value="{StaticResource HorizontalScrollBar}" />
418+
</Trigger>
386419
<Trigger Property="Orientation" Value="Vertical">
387420
<Setter Property="Width" Value="18"/>
388421
<Setter Property="Height" Value="Auto" />
@@ -851,12 +884,15 @@
851884
</TabItem>
852885

853886
<!-- Tab: Tools -->
854-
<TabItem Header="Tools" Style="{DynamicResource TabItemStyle1}" Padding="0,0,0,0" Margin="-1,1,1,-1" BorderBrush="{x:Null}" Background="Black">
887+
<TabItem Header="Tools" Style="{DynamicResource TabItemStyle1}" Padding="0,0,0,0" Margin="-1,1,1,-1" BorderBrush="{x:Null}" Background="Black" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.CanContentScroll="True">
855888
<Grid PreviewKeyDown="Grid_PreviewKeyDown">
889+
856890
<Grid.RowDefinitions>
857891
<RowDefinition Height="124" />
892+
<RowDefinition Height="32" />
858893
<RowDefinition Height="50*" />
859894
</Grid.RowDefinitions>
895+
860896
<!-- 1st part -->
861897
<Grid Grid.Row="0" VerticalAlignment="Top">
862898
<StackPanel Orientation="Vertical" Margin="10" VerticalAlignment="Top" HorizontalAlignment="Left">
@@ -906,6 +942,7 @@
906942
</StackPanel>
907943
</StackPanel>
908944
</Grid>
945+
909946
<!-- 2nd part -->
910947
<Grid Grid.Row="1" VerticalAlignment="Top">
911948
<StackPanel Orientation="Horizontal" Margin="0">
@@ -914,6 +951,7 @@
914951
<Button x:Name="btnRefreshBuildReport" Style="{StaticResource CustomButton}" ToolTip="Get latest Build Report from Editor.log" Content="" Height="22" Width="22" HorizontalAlignment="Center" VerticalAlignment="Top" FontSize="16" Margin="0,4,10,0" Padding="1,-2,1,1" BorderBrush="{x:Null}" Click="BtnRefreshBuildReport_Click"/>
915952
<!--<CheckBox x:Name="chkAutoUpdateBuildReport" Content="AutoUpdate" Foreground="{DynamicResource ButtonForeground}" Margin="0,0,0,3" ToolTip="" HorizontalAlignment="Right" VerticalAlignment="Top" Height="26" VerticalContentAlignment="Center" IsEnabled="False"/>-->
916953

954+
917955
<!-- search box -->
918956
<Grid Background="{DynamicResource ThemeTextBoxBackground}" HorizontalAlignment="Left" VerticalAlignment="Top" Width="222" Margin="6,5,0,0" Height="20" >
919957
<TextBlock Margin="3,2" MinWidth="100" Text="Search" Foreground="{DynamicResource ThemeSearchPlaceholder}" Visibility="{Binding Text.IsEmpty, Converter={StaticResource MyBoolToVisibilityConverter}, ElementName=txtSearchBoxBuildReport}" Height="24" IsEnabled="False" />
@@ -940,32 +978,54 @@
940978
<Button x:Name="btnPrevBuildReport" Style="{StaticResource CustomButton}" ToolTip="Previous Build Report" Content="" Height="22" Width="22" HorizontalAlignment="Center" VerticalAlignment="Top" FontSize="16" Margin="0,4,0,0" Padding="1,-2,1,1" BorderBrush="{x:Null}" Click="BtnPrevBuildReport_Click" IsEnabled="False"/>
941979
<Button x:Name="btnNextBuildReport" Style="{StaticResource CustomButton}" ToolTip="Next Build Report" Content="" Height="22" Width="22" HorizontalAlignment="Center" VerticalAlignment="Top" FontSize="16" Margin="8,4,10,0" Padding="1,-2,1,1" BorderBrush="{x:Null}" Click="BtnNextBuildReport_Click" IsEnabled="False"/>
942980
</StackPanel>
981+
</Grid>
943982

944-
<DataGrid x:Name="gridBuildReport" SelectionMode="Single" CanUserAddRows="False" Margin="4,30,2,0" Background="{x:Null}" BorderBrush="{x:Null}" ColumnHeaderStyle="{StaticResource HeaderStyle}" Padding="0" HorizontalScrollBarVisibility="Disabled" HeadersVisibility="Column" Foreground="{DynamicResource ThemeGridForeground}" HorizontalGridLinesBrush="{DynamicResource ThemeDatagridLines}" VerticalGridLinesBrush="{DynamicResource ThemeGridVerticalGridLines}" AutoGenerateColumns="False" VerticalAlignment="Top" PreviewMouseDoubleClick="GridBuildReport_PreviewMouseDoubleClick">
945-
<DataGrid.CommandBindings>
946-
<CommandBinding Command="ApplicationCommands.Copy" Executed="CopyRowFolderToClipBoard" CanExecute="CanExecute_Copy"/>
947-
</DataGrid.CommandBindings>
948-
949-
<DataGrid.Columns>
950-
<DataGridTextColumn Binding="{Binding Size}" ClipboardContentBinding="{x:Null}" Header="Size" IsReadOnly="True" Width="75"/>
951-
<DataGridTextColumn Binding="{Binding Percentage}" ClipboardContentBinding="{x:Null}" Header="%" IsReadOnly="True" Width="55" />
952-
<DataGridTextColumn Binding="{Binding Path}" ClipboardContentBinding="{x:Null}" Header="Path" IsReadOnly="True" Width="333" />
953-
<DataGridTextColumn Binding="{Binding Format}" ClipboardContentBinding="{x:Null}" Header="Format" IsReadOnly="True" Width="65"/>
954-
</DataGrid.Columns>
955-
956-
<!-- right click context menu -->
957-
<DataGrid.ContextMenu>
958-
<ContextMenu>
959-
<MenuItem x:Name="menuItemExploreBuildItem" Header="Open Explorer here" Click="MenuItemExploreBuildItem_Click" />
960-
<MenuItem x:Name="menuItemCopyPathToClipboard" Header="Copy Path to clipboard" Click="menuItemCopyPathToClipboard_Click" />
961-
</ContextMenu>
962-
</DataGrid.ContextMenu>
963-
964-
<!-- sample data for testing -->
965-
<local:BuildReportItem Size="10.0 mb" Percentage="50.0%" Path="Assets/Textures/sample.png" />
966-
</DataGrid>
983+
<!-- 3rd part -->
984+
<Grid Grid.Row="2" VerticalAlignment="Top">
985+
<Grid ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.CanContentScroll="True">
986+
<Grid.ColumnDefinitions>
987+
<ColumnDefinition Width="64*" />
988+
<ColumnDefinition Width="30*" />
989+
</Grid.ColumnDefinitions>
990+
<!--Grid.Column="0"-->
991+
<DataGrid x:Name="gridBuildReport" SelectionMode="Single" CanUserAddRows="False" Margin="4,0,2,0" Background="{x:Null}" BorderBrush="{x:Null}" ColumnHeaderStyle="{StaticResource HeaderStyle}" Padding="0" HorizontalScrollBarVisibility="Visible" HeadersVisibility="Column" Foreground="{DynamicResource ThemeGridForeground}" HorizontalGridLinesBrush="{DynamicResource ThemeDatagridLines}" VerticalGridLinesBrush="{DynamicResource ThemeGridVerticalGridLines}" AutoGenerateColumns="False" VerticalAlignment="Top" PreviewMouseDoubleClick="GridBuildReport_PreviewMouseDoubleClick" HorizontalAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.CanContentScroll="True" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Top" ScrollViewer.VerticalScrollBarVisibility="Visible">
992+
<DataGrid.CommandBindings>
993+
<CommandBinding Command="ApplicationCommands.Copy" Executed="CopyRowFolderToClipBoard" CanExecute="CanExecute_Copy"/>
994+
</DataGrid.CommandBindings>
995+
996+
<DataGrid.Columns>
997+
<DataGridTextColumn Binding="{Binding Size}" ClipboardContentBinding="{x:Null}" Header="Size" IsReadOnly="True" Width="75"/>
998+
<DataGridTextColumn Binding="{Binding Percentage}" ClipboardContentBinding="{x:Null}" Header="%" IsReadOnly="True" Width="55" />
999+
<DataGridTextColumn Binding="{Binding Path}" ClipboardContentBinding="{x:Null}" Header="Path" IsReadOnly="True" Width="333" />
1000+
<DataGridTextColumn Binding="{Binding Format}" ClipboardContentBinding="{x:Null}" Header="Format" IsReadOnly="True" Width="65"/>
1001+
</DataGrid.Columns>
1002+
1003+
<!-- right click context menu -->
1004+
<DataGrid.ContextMenu>
1005+
<ContextMenu>
1006+
<MenuItem x:Name="menuItemExploreBuildItem" Header="Open Explorer here" Click="MenuItemExploreBuildItem_Click" />
1007+
<MenuItem x:Name="menuItemCopyPathToClipboard" Header="Copy Path to clipboard" Click="menuItemCopyPathToClipboard_Click" />
1008+
</ContextMenu>
1009+
</DataGrid.ContextMenu>
1010+
1011+
<!-- sample data for testing -->
1012+
<local:BuildReportItem Size="10.0 mb" Percentage="50.0%" Path="Assets/Textures/sample.png" />
1013+
<local:BuildReportItem Size="10.0 mb" Percentage="50.0%" Path="Assets/Textures/sample.png" />
1014+
<local:BuildReportItem Size="10.0 mb" Percentage="50.0%" Path="Assets/Textures/sample.png" />
1015+
</DataGrid>
1016+
1017+
<DataGrid Grid.Column="1" x:Name="gridBuildReportData" SelectionMode="Single" CanUserAddRows="False" Margin="4,0,2,0" Background="{x:Null}" BorderBrush="{x:Null}" ColumnHeaderStyle="{StaticResource HeaderStyle}" Padding="0" HorizontalScrollBarVisibility="Disabled" HeadersVisibility="Column" Foreground="{DynamicResource ThemeGridForeground}" HorizontalGridLinesBrush="{DynamicResource ThemeDatagridLines}" VerticalGridLinesBrush="{DynamicResource ThemeGridVerticalGridLines}" AutoGenerateColumns="False" VerticalAlignment="Top" PreviewMouseDoubleClick="GridBuildReport_PreviewMouseDoubleClick" HorizontalContentAlignment="Stretch">
1018+
<DataGrid.Columns>
1019+
<DataGridTextColumn Header="Type" Binding="{Binding Category}" IsReadOnly="True" CanUserResize="False" MinWidth="80" />
1020+
<DataGridTextColumn Header="Size" Binding="{Binding Size}" IsReadOnly="True" CanUserResize="False" MinWidth="80" />
1021+
<DataGridTextColumn Header="%" Binding="{Binding Percentage}" IsReadOnly="True" CanUserResize="False" MinWidth="80" />
1022+
</DataGrid.Columns>
1023+
<local:BuildReportItem Category="Texture" Size="10.0 mb" Percentage="50.0%" />
1024+
</DataGrid>
1025+
</Grid>
9671026

9681027
</Grid>
1028+
<!--<DataGrid x:Name="gridBuildReport" SelectionMode="Single" CanUserAddRows="False" Margin="4,0,2,0" Background="{x:Null}" BorderBrush="{x:Null}" ColumnHeaderStyle="{StaticResource HeaderStyle}" Padding="0" HorizontalScrollBarVisibility="Visible" HeadersVisibility="Column" Foreground="{DynamicResource ThemeGridForeground}" HorizontalGridLinesBrush="{DynamicResource ThemeDatagridLines}" VerticalGridLinesBrush="{DynamicResource ThemeGridVerticalGridLines}" AutoGenerateColumns="False" VerticalAlignment="Top" PreviewMouseDoubleClick="GridBuildReport_PreviewMouseDoubleClick" HorizontalAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.CanContentScroll="True" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Top">-->
9691029

9701030
</Grid>
9711031
</TabItem>

0 commit comments

Comments
 (0)