feat: massive rework

1) GSS2.Core:
- strip prefixes in GSS2.Core.Analysis.AmineContent namespace class names
- add IEnumerable<double>.Variance extension
- remake analysis + update database so not needed to store all every file, calibration data also stored in database, also currently capturing images stored in system temporary directory and rewriting every time
2) GSS.UI.Core: AsyncImageRecordViewModel make zoom and pans public
3) GSS:
- remove image-storage-clear command
- remove ResultsView and ResultsViewModel, results presented in analysis
- rework calibration views
- add analysis views
- add text and number fields editors view
- add confirmation view on danger buttons
This commit is contained in:
2026-05-13 12:56:32 +03:00
parent ec95eef375
commit 3cc4d21947
63 changed files with 4359 additions and 3961 deletions
+129
View File
@@ -0,0 +1,129 @@
<UserControl
x:Class="GSS2.Views.NumericKeyboardView"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:GSS2.ViewModels"
x:DataType="vm:NumericKeyboardViewModel"
Value="{Binding Value, Mode=TwoWay}">
<UserControl.Resources>
<SolidColorBrush x:Key="MainBackground" Color="#001e46" />
<SolidColorBrush x:Key="ButtonBackground" Color="#0865b2" />
<SolidColorBrush x:Key="ButtonForeground" Color="#ffffff" />
</UserControl.Resources>
<UserControl.Styles>
<Style Selector="Button">
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="VerticalAlignment" Value="Stretch" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Background" Value="{StaticResource ButtonBackground}" />
<Setter Property="Foreground" Value="{StaticResource ButtonForeground}" />
<Setter Property="CornerRadius" Value="5" />
</Style>
<Style Selector="Button:pointerover /template/ ContentPresenter">
<Setter Property="Background" Value="#004a94" />
<Setter Property="Foreground" Value="#eef7ff" />
</Style>
<Style Selector="Button:pressed /template/ ContentPresenter">
<Setter Property="Background" Value="#004a94" />
<Setter Property="Foreground" Value="#eef7ff" />
</Style>
<!-- Стиль для поля ввода -->
<Style Selector="TextPresenter">
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="Focusable" Value="False" />
<Setter Property="CaretBrush" Value="#004a94" />
</Style>
<!-- Стиль обёртки TextPresenter -->
<Style Selector="Border.DisplayBorder">
<Setter Property="VerticalAlignment" Value="Stretch" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="Background" Value="#eef7ff" />
<Setter Property="CornerRadius" Value="5" />
</Style>
</UserControl.Styles>
<Grid Background="{StaticResource MainBackground}">
<Grid Margin="5" RowSpacing="5">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" ColumnSpacing="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0" Classes="DisplayBorder">
<TextPresenter x:Name="Text" FontSize="20" Foreground="#004a94" />
</Border>
<Button Grid.Column="1" Click="Backspace" Content="⌫" />
</Grid>
<Grid Grid.Row="1" Grid.RowSpan="4" ColumnSpacing="5" RowSpacing="5">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Button Grid.Row="0" Grid.Column="0" Click="KeyPressed" Content="1" />
<Button Grid.Row="0" Grid.Column="1" Click="KeyPressed" Content="2" />
<Button Grid.Row="0" Grid.Column="2" Click="KeyPressed" Content="3" />
<Button Grid.Row="1" Grid.Column="0" Click="KeyPressed" Content="4" />
<Button Grid.Row="1" Grid.Column="1" Click="KeyPressed" Content="5" />
<Button Grid.Row="1" Grid.Column="2" Click="KeyPressed" Content="6" />
<Button Grid.Row="2" Grid.Column="0" Click="KeyPressed" Content="7" />
<Button Grid.Row="2" Grid.Column="1" Click="KeyPressed" Content="8" />
<Button Grid.Row="2" Grid.Column="2" Click="KeyPressed" Content="9" />
<Button Grid.Row="3" Grid.Column="0" Click="KeyPressed" Content="-" />
<Button Grid.Row="3" Grid.Column="1" Click="KeyPressed" Content="0" />
<Button Grid.Row="3" Grid.Column="2" Click="KeyPressed" Content="," />
</Grid>
<Grid Grid.Row="5" ColumnSpacing="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Click="MoveCursorLeft" Content="◀" />
<Button Grid.Column="1" Click="Accept" Command="{Binding AcceptCommand}" Content="Применить" />
<Button Grid.Column="2" Click="Cancel" Command="{Binding CancelCommand}" Content="Отменить" />
<Button Grid.Column="3" Click="MoveCursorRight" Content="▶" />
</Grid>
</Grid>
</Grid>
</UserControl>