Files
finder2e_foundry_converter/views/mainwindow.axaml
T

87 lines
4.5 KiB
XML
Raw Normal View History

2026-06-08 10:39:11 -05:00
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
2026-06-08 15:18:19 -05:00
xmlns:vm="using:finder2e_foundry_converter.ViewModels"
2026-06-08 10:39:11 -05:00
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="500" d:DesignHeight="600"
2026-06-08 15:18:19 -05:00
x:Class="finder2e_foundry_converter.Views.MainWindow"
2026-06-08 10:39:11 -05:00
x:DataType="vm:MainWindowViewModel"
2026-06-08 15:53:40 -05:00
Icon="/assets/avalonia-logo.ico"
2026-06-08 10:39:11 -05:00
Title="Finder2e Foundry Converter"
Width="500" Height="600"
DragDrop.AllowDrop="True">
<Design.DataContext>
<!-- This only sets the DataContext for the previewer in an IDE,
to set the actual DataContext at runtime, set the DataContext property in code (look at App.axaml.cs) -->
<vm:MainWindowViewModel/>
</Design.DataContext>
2026-06-08 10:50:01 -05:00
<ScrollViewer DragDrop.AllowDrop="True">
<StackPanel Margin="20" Spacing="10" DragDrop.AllowDrop="True">
2026-06-08 10:39:11 -05:00
<Label Content="Provider:"/>
<Grid ColumnDefinitions="*,Auto">
<ComboBox Grid.Column="0" HorizontalAlignment="Stretch"
ItemsSource="{Binding Providers}"
SelectedItem="{Binding SelectedProvider}"/>
<Button Grid.Column="1" Content="Address" Command="{Binding ToggleAddressCommand}" Margin="5,0,0,0"/>
</Grid>
<TextBlock Text="{Binding ErrorText}" Foreground="Red" HorizontalAlignment="Center" IsVisible="{Binding IsErrorVisible}"/>
<StackPanel IsVisible="{Binding IsAddressVisible}" Spacing="5">
2026-06-08 15:53:40 -05:00
<Label Content="{Binding SelectedProvider, StringFormat='{}{0} Address:'}"/>
<TextBox Text="{Binding CurrentAddress}" PlaceholderText="http://localhost:11434"/>
2026-06-08 10:39:11 -05:00
</StackPanel>
<Label Content="Model:"/>
<Grid ColumnDefinitions="*,Auto">
<ComboBox Grid.Column="0" HorizontalAlignment="Stretch"
ItemsSource="{Binding Models}"
SelectedItem="{Binding SelectedModel}"
PlaceholderText="Select Model"/>
<Button Grid.Column="1" Content="Refresh" Command="{Binding RefreshModelsCommand}" Margin="5,0,0,0"/>
</Grid>
<Label Content="Category:"/>
<ComboBox HorizontalAlignment="Stretch"
ItemsSource="{Binding Categories}"
SelectedItem="{Binding SelectedCategory}"/>
<StackPanel IsVisible="{Binding IsNpcSelected}" Spacing="10">
<Label Content="Name:"/>
<TextBox Text="{Binding Name}" PlaceholderText="Enter name..."/>
<Label Content="Level:"/>
<ComboBox HorizontalAlignment="Stretch"
ItemsSource="{Binding Levels}"
SelectedItem="{Binding SelectedLevel}"/>
2026-06-08 10:39:11 -05:00
2026-07-01 15:33:12 -05:00
<Label Content="System:"/>
<ComboBox HorizontalAlignment="Stretch"
ItemsSource="{Binding Systems}"
SelectedItem="{Binding SelectedSystem}"/>
<Label Content="Description:"/>
<TextBox Text="{Binding Description}" AcceptsReturn="True" Height="100" PlaceholderText="Enter description here..."/>
</StackPanel>
2026-06-08 10:39:11 -05:00
<Button Content="Generate" HorizontalAlignment="Stretch" HorizontalContentAlignment="Center"
2026-07-01 15:33:12 -05:00
Command="{Binding GenerateCommand}" FontWeight="Bold" IsEnabled="{Binding CanGenerate}"/>
<ProgressBar Minimum="0" Maximum="1" Value="{Binding Progress}" IsVisible="{Binding IsGenerating}" Height="10"/>
2026-06-08 10:39:11 -05:00
<TextBlock Text="{Binding StatusMessage}" TextWrapping="Wrap" Margin="0,10,0,0"/>
2026-07-01 15:03:12 -05:00
<StackPanel Spacing="5" Margin="0,10,0,0" IsVisible="{Binding IsNpcSelected}">
<Label Content="Generated NPC JSON:"/>
<TextBox Text="{Binding GeneratedNpcJson}" AcceptsReturn="True" Height="200" IsReadOnly="True" />
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Spacing="5">
<Button Content="Save NPC..." Click="SaveNpc_Click"/>
<Button Content="Open Temp Folder" Click="OpenTempFolder_Click"/>
</StackPanel>
</StackPanel>
2026-06-08 10:39:11 -05:00
</StackPanel>
</ScrollViewer>
</Window>