ui/SplitterUI.xaml
|
<Window
xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Name="RootWindow" Title="Splitter UI" Background="#1E1E1E" Foreground="#E6E6E6" Width="1200" Height="820" MinWidth="980" MinHeight="700"> <Window.Styles> <Style Selector="Button"> <Setter Property="Background" Value="#3C3C3C" /> <Setter Property="Foreground" Value="#F0F0F0" /> <Setter Property="BorderBrush" Value="#555555" /> </Style> <Style Selector="TextBox"> <Setter Property="Background" Value="#2B2B2B" /> <Setter Property="Foreground" Value="#F0F0F0" /> <Setter Property="BorderBrush" Value="#555555" /> </Style> <Style Selector="ListBox"> <Setter Property="Background" Value="#1E1E1E" /> <Setter Property="Foreground" Value="#E6E6E6" /> <Setter Property="BorderBrush" Value="#555555" /> </Style> <Style Selector="TextBlock"> <Setter Property="Foreground" Value="#E6E6E6" /> </Style> <Style Selector="CheckBox"> <Setter Property="Foreground" Value="#E6E6E6" /> </Style> <Style Selector="Menu"> <Setter Property="Background" Value="#252526" /> <Setter Property="Foreground" Value="#E6E6E6" /> </Style> <Style Selector="MenuItem"> <Setter Property="Foreground" Value="#E6E6E6" /> </Style> </Window.Styles> <Grid RowDefinitions="Auto,*,Auto" Margin="12" RowSpacing="10"> <Border Grid.Row="0" Background="#252526" BorderBrush="#3E3E42" BorderThickness="1" CornerRadius="6" Padding="10"> <Grid ColumnDefinitions="*,Auto,Auto" ColumnSpacing="8"> <StackPanel Orientation="Vertical" Spacing="2" VerticalAlignment="Center"> <TextBlock FontSize="22" FontWeight="SemiBold" Text="Splitter" /> <TextBlock Foreground="#BFBFBF" Text="Edition-aware Windows install media builder" /> </StackPanel> <Button x:Name="RunPreflightButton" Grid.Column="1" Width="130" Height="32" Content="Run Preflight" VerticalAlignment="Center" /> <Button x:Name="CloseWindowButton" Grid.Column="2" Width="34" Height="32" Content="X" VerticalAlignment="Center" /> </Grid> </Border> <Grid Grid.Row="1" RowDefinitions="Auto,Auto,*" RowSpacing="10"> <Border Grid.Row="0" Background="#252526" BorderBrush="#3E3E42" BorderThickness="1" CornerRadius="6" Padding="4,2"> <Menu> <MenuItem Header="_File"> <MenuItem x:Name="ExitMenuItem" Header="E_xit" /> </MenuItem> </Menu> </Border> <Border Grid.Row="1" Background="#252526" BorderBrush="#3E3E42" BorderThickness="1" CornerRadius="6" Padding="10"> <TextBlock x:Name="StatusText" Text="Preflight has not run." /> </Border> <Grid Grid.Row="2" ColumnDefinitions="350,*" ColumnSpacing="10"> <Border Grid.Column="0" Background="#252526" BorderBrush="#3E3E42" BorderThickness="1" CornerRadius="6" Padding="10"> <Grid RowDefinitions="Auto,Auto,Auto,Auto,Auto,*" RowSpacing="8"> <TextBlock FontSize="16" FontWeight="SemiBold" Text="Build Options" /> <StackPanel Grid.Row="1" Spacing="8"> <CheckBox x:Name="SkipBootableIsoCheckBox" Content="Skip bootable ISO build" /> <CheckBox x:Name="DesktopExperienceCheckBox" Content="Desktop Experience only" /> <CheckBox x:Name="ServerCoreCheckBox" Content="Server Core only" /> </StackPanel> <Button x:Name="DiscoverImagesButton" Grid.Row="2" Height="32" Content="Discover Source Images" /> <Button x:Name="RunSplitButton" Grid.Row="3" Height="34" Content="Run Split" /> <TextBlock Grid.Row="4" FontWeight="SemiBold" Text="Discovered source images" /> <ListBox x:Name="ImagesListBox" Grid.Row="5" /> </Grid> </Border> <Grid Grid.Column="1" RowDefinitions="Auto,*,*" RowSpacing="10"> <Border Grid.Row="0" Background="#252526" BorderBrush="#3E3E42" BorderThickness="1" CornerRadius="6" Padding="10"> <Grid ColumnDefinitions="2.5*,1.7*,2*,2*,1.4*,1.1*" RowDefinitions="Auto,Auto" ColumnSpacing="8" RowSpacing="6"> <TextBlock Grid.Column="0" Grid.Row="0" Text="Source ISO" /> <Grid Grid.Column="0" Grid.Row="1" ColumnDefinitions="*,Auto" ColumnSpacing="6"> <TextBox x:Name="SourceIsoTextBox" Grid.Column="0" Watermark="C:\ISO\Windows.iso" /> <Button x:Name="BrowseSourceIsoButton" Grid.Column="1" Width="82" Content="Browse" /> </Grid> <TextBlock Grid.Column="1" Grid.Row="0" Text="Edition names" /> <TextBox x:Name="EditionNamesTextBox" Grid.Column="1" Grid.Row="1" Watermark="Standard,Datacenter" /> <TextBlock Grid.Column="2" Grid.Row="0" Text="Working root" /> <TextBox x:Name="WorkingRootTextBox" Grid.Column="2" Grid.Row="1" Watermark="C:\work\splitter" /> <TextBlock Grid.Column="3" Grid.Row="0" Text="Output root" /> <TextBox x:Name="OutputRootTextBox" Grid.Column="3" Grid.Row="1" Watermark="C:\out\splitter" /> <TextBlock Grid.Column="4" Grid.Row="0" Text="Output base" /> <TextBox x:Name="OutputBaseNameTextBox" Grid.Column="4" Grid.Row="1" Watermark="WinServer_2025" /> <TextBlock Grid.Column="5" Grid.Row="0" Text="Label prefix" /> <TextBox x:Name="LabelPrefixTextBox" Grid.Column="5" Grid.Row="1" Text="WIN" /> </Grid> </Border> <Border Grid.Row="1" Background="#252526" BorderBrush="#3E3E42" BorderThickness="1" CornerRadius="6" Padding="10"> <Grid RowDefinitions="Auto,*" RowSpacing="8"> <TextBlock FontSize="16" FontWeight="SemiBold" Text="Execution" /> <TextBox x:Name="LogTextBox" Grid.Row="1" AcceptsReturn="True" IsReadOnly="True" TextWrapping="NoWrap" IsUndoEnabled="False" FontFamily="Cascadia Mono" /> </Grid> </Border> <Border Grid.Row="2" Background="#252526" BorderBrush="#3E3E42" BorderThickness="1" CornerRadius="6" Padding="10"> <Grid RowDefinitions="Auto,*" RowSpacing="8"> <TextBlock FontSize="16" FontWeight="SemiBold" Text="Latest results" /> <ListBox x:Name="ResultsListBox" Grid.Row="1" /> </Grid> </Border> </Grid> </Grid> </Grid> <TextBlock Grid.Row="2" x:Name="FooterText" Foreground="#BFBFBF" Text="Preflight checks help avoid ADK, DISM, and path issues before long-running operations." /> </Grid> </Window> |