WIP UI refractor

Swapped stack panels for using the grid's rows. Unfortunately, this is causing some height problems.
This commit is contained in:
Tony Bark 2026-05-16 07:45:01 -04:00
parent 71cc94e251
commit 77cc3b4364
2 changed files with 72 additions and 72 deletions

View file

@ -1,10 +1,10 @@
<Window xmlns="https://github.com/avaloniaui" <Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:CyberBits.ViewModels"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:vm="using:CyberBits.ViewModels"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="530" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="530"
Width="800" Height="530" CanResize="False" Width="800" Height="530" CanResize="False"
ExtendClientAreaToDecorationsHint="True" ExtendClientAreaToDecorationsHint="True"
x:Class="CyberBits.Views.MainWindow" x:Class="CyberBits.Views.MainWindow"
x:DataType="vm:MainWindowViewModel" x:DataType="vm:MainWindowViewModel"
@ -14,7 +14,7 @@
<Design.DataContext> <Design.DataContext>
<!-- This only sets the DataContext for the previewer in an IDE, <!-- This only sets the DataContext for the previewer in an IDE,
to set the actual DataContext for runtime, set the DataContext property in code (look at App.axaml.cs) --> to set the actual DataContext for runtime, set the DataContext property in code (look at App.axaml.cs) -->
<vm:MainWindowViewModel/> <vm:MainWindowViewModel />
</Design.DataContext> </Design.DataContext>
<StackPanel> <StackPanel>
@ -22,72 +22,76 @@
WindowDecorationProperties.ElementRole="TitleBar"> WindowDecorationProperties.ElementRole="TitleBar">
<TextBlock Margin="12,0" FontSize="17" <TextBlock Margin="12,0" FontSize="17"
VerticalAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"
Text="CyberBits" > Text="CyberBits">
</TextBlock> </TextBlock>
</Border> </Border>
<Grid ColumnDefinitions="*,*" HorizontalAlignment="Center"> <Grid ColumnDefinitions="*,*" HorizontalAlignment="Center">
<!-- Left column: Image -->
<Image x:Name="BitsImage" Grid.Column="0" Source="avares://CyberBits/Assets/cock.jpg" /> <Image x:Name="BitsImage" Grid.Column="0" Source="avares://CyberBits/Assets/cock.jpg" />
<GridSplitter Grid.Column="1" ResizeDirection="Columns"/>
<StackPanel Grid.Column="1"> <!-- Right column: main content grid (replaces the two StackPanels) -->
<Grid ColumnDefinitions="200,180"> <Grid Grid.Column="1"
<GridSplitter ResizeDirection="Columns"/> RowDefinitions="Auto,Auto,Auto,*,*,*"
<StackPanel Grid.Column="0" > ColumnDefinitions="200,Auto,180">
<ComboBox ItemsSource="{Binding GenitalOptions}"
SelectedItem="{Binding SelectedBits}" <!-- First column (200px) Bit selection and model lists -->
PlaceholderText="Genitals" <ComboBox Grid.Row="0" Grid.Column="0"
Width="120" Width="120"
HorizontalContentAlignment="Center" HorizontalContentAlignment="Center"
SelectedValue="0" SelectedValue="0"
x:Name="BitSelection" x:Name="BitSelection"
HorizontalAlignment="Center" PlaceholderText="Genitals"
SelectionChanged="SelectedBitsControl_OnSelectionChanged" HorizontalAlignment="Center"
Margin="5"/> Margin="5" />
<ListBox ItemsSource="{Binding ModelsList}"
SelectedItem="{Binding SelectedModels}" <ListBox Grid.Row="1" Grid.Column="0"
Name="ModelItems" ItemsSource="{Binding ModelsList}"
Margin="5" SelectedItem="{Binding SelectedModels}"
Height="110"/> Name="ModelItems"
<Border Height="10" /> Margin="5"
<TextBlock Text="Pubes" HorizontalAlignment="Center" /> Height="110" />
<ListBox ItemsSource="{Binding PubesList}"
SelectedItem="{Binding SelectedPubes}" <ListBox Grid.Row="2" Grid.Column="0"
Name="PubesItems" Margin="5"
Margin="5" Height="110" />
Height="110"/> <TextBlock Name="ExtrasText" Grid.Row="3" Grid.Column="0" Text="Balls" />
<TextBlock Name="ExtrasText" Text="Balls" HorizontalAlignment="Center" /> <ListBox Grid.Row="4" Grid.Column="0"
<ListBox ItemsSource="{Binding ExtrasList}"
ItemsSource="{Binding ExtrasList}" SelectedItem="{Binding SelectedExtras}"
SelectedItem="{Binding SelectedExtras}" Name="ExtraItems"
Name="ExtraItems" Height="110" />
Margin="5"
Height="110" <!-- Splitter between the two inner columns -->
/> <GridSplitter Grid.Row="0" Grid.RowSpan="4"
</StackPanel> Grid.Column="1"
<GridSplitter Grid.Column="1" ResizeDirection="Columns"/> ResizeDirection="Columns" />
<StackPanel Grid.Column="1">
<TextBlock Text="Aesthetics" HorizontalAlignment="Center" /> <!-- Second column Aesthetics, Cyberware, etc. -->
<ListBox ItemsSource="{Binding AestheticsList}" <TextBlock Grid.Row="0" Grid.Column="2"
SelectedItem="{Binding SelectedAesthetics}" Text="Aesthetics"
Name="AestheticsItems" HorizontalAlignment="Center" />
Margin="5"
Height="110"/> <ListBox Grid.Row="1" Grid.Column="2"
<Border Height="10" /> ItemsSource="{Binding AestheticsList}"
<TextBlock Text="Cyberware" HorizontalAlignment="Center" /> SelectedItem="{Binding SelectedAesthetics}"
<ListBox ItemsSource="{Binding CyberwareList}" Name="AestheticsItems"
SelectedItem="{Binding SelectedCyberware}" Margin="5"
Name="CyberwareItems" Height="110" />
Margin="5"
Height="110" /> <TextBlock Grid.Row="2" Grid.Column="2"
<TextBlock Text="Butt" HorizontalAlignment="Center" /> Text="Cyberware"
<ListBox ItemsSource="{Binding ButtsList}" HorizontalAlignment="Center" />
SelectedItem="{Binding SelectedButt}"
Name="ButtOptions" <ListBox Grid.Row="3" Grid.Column="2"
Margin="5" ItemsSource="{Binding CyberwareList}"
Height="110" SelectedItem="{Binding SelectedCyberware}"
/> Name="CyberwareItems"
</StackPanel> Height="110" />
</Grid> <TextBlock Grid.Row="4" Grid.Column="2" Text="Butts" />
</StackPanel> <ListBox Grid.Row="5" Grid.Column="2"
Margin="5"
Height="110" />
</Grid>
</Grid> </Grid>
<Border Margin="2" VerticalAlignment="Bottom"> <Border Margin="2" VerticalAlignment="Bottom">
<TextBlock HorizontalAlignment="Right" Name="VersionBox" Margin="10" Text="v0.1.100" /> <TextBlock HorizontalAlignment="Right" Name="VersionBox" Margin="10" Text="v0.1.100" />

View file

@ -6,7 +6,7 @@ namespace CyberBits.Views;
public partial class MainWindow : Window public partial class MainWindow : Window
{ {
private string? AppPath => Path.GetDirectoryName(Assembly.GetAssembly(typeof(MainWindow))?.Location); private static string? AppPath => Path.GetDirectoryName(Assembly.GetAssembly(typeof(MainWindow))?.Location);
public MainWindow() public MainWindow()
@ -18,11 +18,10 @@ public partial class MainWindow : Window
var commonFile = File.ReadAllText($"{AppPath}//{DataFiles.COMMON_JSON}"); var commonFile = File.ReadAllText($"{AppPath}//{DataFiles.COMMON_JSON}");
var commonData = JsonSerializer.Deserialize<UniversalModel>(commonFile); var commonData = JsonSerializer.Deserialize<UniversalModel>(commonFile);
PubesItems.ItemsSource = commonData?.Pubes; /*PubesItems.ItemsSource = commonData?.Pubes;
CyberwareItems.ItemsSource = commonData?.Cyberware; CyberwareItems.ItemsSource = commonData?.Cyberware;
AestheticsItems.ItemsSource = commonData?.Aesthetic; AestheticsItems.ItemsSource = commonData?.Aesthetic;
ButtOptions.ItemsSource = commonData?.Butt; ButtOptions.ItemsSource = commonData?.Butt;*/
} }
catch (Exception e) catch (Exception e)
{ {
@ -35,12 +34,10 @@ public partial class MainWindow : Window
#else #else
VersionBox.Text = AppConsts.VERSION; VersionBox.Text = AppConsts.VERSION;
#endif #endif
} }
private void GenitalSwap(string image, string data) private void GenitalSwap(string image, string data)
{ {
try try
{ {
var genitalFile = File.ReadAllText($"{AppPath}//{data}"); var genitalFile = File.ReadAllText($"{AppPath}//{data}");
@ -56,7 +53,6 @@ public partial class MainWindow : Window
Console.WriteLine(e); Console.WriteLine(e);
throw; throw;
} }
} }
private void SelectedBitsControl_OnSelectionChanged(object? sender, SelectionChangedEventArgs e) private void SelectedBitsControl_OnSelectionChanged(object? sender, SelectionChangedEventArgs e)