Added .gitignore and created delete window.

This commit is contained in:
alphafetus committed 2023-10-17 14:25:14 -04:00
1 parent 8c53024d5c
commit 8249d9a27b
14 files changed
+188 -127

No files matched your search

+4 -4
View File
@@ -1,9 +1,9 @@
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:viewModels="clr-namespace:PcgsInvUi.ViewModels"
d:DesignWidth="325" d:DesignHeight="100"
x:Class="PcgsInvUi.Views.DeleteWindow"
x:Class="PcgsInvUi.Views.DeleteWindow" x:DataType="viewModels:DeleteWindowViewModel"
Width="325" Height="100" WindowStartupLocation="CenterOwner"
Title="DeleteWindow">
<Grid ColumnDefinitions="*, *" RowDefinitions="*, *">
@@ -14,11 +14,11 @@
Width="100"
HorizontalAlignment="Stretch" VerticalAlignment="Center"
HorizontalContentAlignment="Center"
Content="Yes" Click="AcceptClicked"/>
Content="Yes" Command="{Binding OkCommand}"/>
<Button Grid.Row="1" Grid.Column="1" Margin="5"
Width="100"
HorizontalAlignment="Stretch" VerticalAlignment="Center"
HorizontalContentAlignment="Center"
Content="No" Click="CancelClicked"/>
Content="No" Command="{Binding CancelCommand}"/>
</Grid>
</Window>
+7 -18
View File
@@ -1,27 +1,16 @@
using Avalonia.Controls;
using Avalonia.Interactivity;
using PcgsInvUi.ViewModels;
using Avalonia.ReactiveUI;
using ReactiveUI;
using System;
namespace PcgsInvUi.Views;
public partial class DeleteWindow : Window
public partial class DeleteWindow : ReactiveWindow<DeleteWindowViewModel>
{
public bool Accepted { get; set; }
public DeleteWindow()
{
InitializeComponent();
Accepted = false;
}
public void AcceptClicked(object source, RoutedEventArgs args)
{
// TODO Delete the SelectedCoin?
Accepted = true;
Close();
}
public void CancelClicked(object source, RoutedEventArgs args)
{
Close();
this.WhenActivated(d => d(ViewModel!.OkCommand.Subscribe(Close)));
}
}
+16 -16
View File
@@ -5,12 +5,16 @@
xmlns:viewModels="clr-namespace:PcgsInvUi.ViewModels"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="PcgsInvUi.Views.MainWindow" x:DataType="viewModels:MainWindowViewModel"
Title="MainWindow">
<SplitView IsPaneOpen="{Binding PaneOpen}"
DisplayMode="Overlay"
PanePlacement="Right">
Title="MainWindow"
WindowStartupLocation="CenterOwner">
<SplitView IsPaneOpen="True"
DisplayMode="Inline"
PanePlacement="Right" >
<SplitView.Pane>
<UserControl VerticalAlignment="Center" Content="{Binding SidebarContent}"/>
<Grid RowDefinitions="Auto, *">
<UserControl Grid.Row="0" Margin="10, 20, 10, 10" VerticalAlignment="Center" Content="{Binding SidebarContent}"/>
<TextBox Grid.Row="1" Margin="5" Watermark="Notes..."/>
</Grid>
</SplitView.Pane>
<Grid RowDefinitions="*, Auto" ShowGridLines="True">
<DataGrid Grid.Row="0" HorizontalAlignment="Stretch"
@@ -21,7 +25,7 @@
CanUserResizeColumns="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Series" Width="*"
Binding="{Binding Series}"
Binding="{Binding SeriesName}"
IsReadOnly="True"/>
<DataGridTextColumn Header="Year"
Binding="{Binding Year}"
@@ -45,25 +49,21 @@
Binding="{Binding PriceGuideValue}"
IsReadOnly="False"/>
<DataGridTextColumn Header="PCGS #" Width="*"
Binding="{Binding PcgsNumber}"
Binding="{Binding PCGSNo}"
IsReadOnly="True"/>
<DataGridTextColumn Header="Quantity" Width="*"
Binding="{Binding Quantity}"
IsReadOnly="False"/>
<DataGridTextColumn Header="Total Price" Width="*"
Binding="{Binding TotalPrice}"
Binding="{Binding TotalPrice, StringFormat='${0:0.00}'}"
IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
<DockPanel Grid.Row="1">
<Grid HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="5" ColumnDefinitions="Auto, Auto, Auto, Auto" DockPanel.Dock="Left">
<Button Grid.Column="0" Margin="5" Width="100" HorizontalContentAlignment="Center" Content="New..."
Command="{Binding AddItem}"/>
<Button Grid.Column="1" Margin="5" Width="100" HorizontalContentAlignment="Center" Content="Edit..."
Command="{Binding EditItem}"/>
<Button Grid.Column="2" Margin="5" Width="100" HorizontalContentAlignment="Center" Content="Delete"
Command="{Binding DeleteItem}"/>
<Button Grid.Column="3" Margin="5" Width="100" HorizontalContentAlignment="Center" Content="Find..."
<Grid HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="5" ColumnDefinitions="Auto, Auto" DockPanel.Dock="Left">
<Button Grid.Column="0" Margin="5" Width="100" HorizontalContentAlignment="Center" Content="Delete"
Command="{Binding DeleteCommand}"/>
<Button Grid.Column="1" Margin="5" Width="100" HorizontalContentAlignment="Center" Content="Find..."
Command="{Binding FindItem}"/>
</Grid>
<Grid HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="5" ColumnDefinitions="Auto, Auto" DockPanel.Dock="Right">
+13 -5
View File
@@ -1,8 +1,8 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using System;
using System.Threading.Tasks;
using Avalonia.ReactiveUI;
using PcgsInvUi.ViewModels;
using ReactiveUI;
namespace PcgsInvUi.Views;
@@ -10,7 +10,6 @@ public partial class MainWindow : ReactiveWindow<MainWindowViewModel>
{
// TODO New window.
// TODO Edit window.
// TODO Delete window.
// TODO Find window.
// TODO Export window.
// TODO Error handling.
@@ -22,9 +21,18 @@ public partial class MainWindow : ReactiveWindow<MainWindowViewModel>
// TODO API request tracker (1000 per day)
// TODO API update schedules (per month? manual override? needs to store a date of last update in the coin object)
public MainWindow()
{
InitializeComponent();
this.WhenActivated(d => d(ViewModel!.ShowDeleteWindow.RegisterHandler(ShowDeleteWindowAsync)));
}
public async Task ShowDeleteWindowAsync(InteractionContext<DeleteWindowViewModel, Boolean> interaction)
{
var window = new DeleteWindow();
window.DataContext = interaction.Input;
var result = await window.ShowDialog<bool>(this);
interaction.SetOutput(result);
}
}
+1 -1
View File
@@ -19,7 +19,7 @@
<Button Grid.Column="0" Margin="5" HorizontalAlignment="Center" VerticalAlignment="Center"
Width="90" HorizontalContentAlignment="Center" Content="OK" Command="{Binding OkCommand}"/>
<Button Grid.Column="1" Margin="5" HorizontalAlignment="Center" VerticalAlignment="Center"
Width="90" HorizontalContentAlignment="Center" Content="Cancel" Command="{Binding CancelCommand}" />
Width="90" HorizontalContentAlignment="Center" Content="Clear" Command="{Binding ClearCommand}" />
</Grid>
</DockPanel>
</UserControl>