forked from amkovkov/GranuSightSoftware2
feat: placeholder for touch screen editors
This commit is contained in:
+4
-4
@@ -23,6 +23,8 @@ public partial class Application : Avalonia.Application
|
||||
|
||||
private bool _allShutdownSequencesRunning;
|
||||
|
||||
public NavigationService Navigation { get; }
|
||||
|
||||
public Application(IServiceProvider services, bool fullscreen = false)
|
||||
{
|
||||
_services = services;
|
||||
@@ -35,6 +37,7 @@ public partial class Application : Avalonia.Application
|
||||
// Создаём DependencyInjectionViewLocator
|
||||
_logger = _services.GetRequiredService<ILogger<Application>>();
|
||||
_viewLocator = _services.GetRequiredService<DependencyInjectionViewLocator>();
|
||||
Navigation = _services.GetRequiredService<NavigationService>();
|
||||
}
|
||||
|
||||
public override void Initialize()
|
||||
@@ -95,9 +98,6 @@ public partial class Application : Avalonia.Application
|
||||
Environment.Exit(1);
|
||||
}
|
||||
|
||||
// Создаём сервис навигации между элементами управления
|
||||
var navigationService = _services.GetRequiredService<NavigationService>();
|
||||
|
||||
// Создаём начальный элемент управления и переходим к нему
|
||||
var mainView = new MainView()
|
||||
{
|
||||
@@ -131,7 +131,7 @@ public partial class Application : Avalonia.Application
|
||||
desktop.MainWindow = mainWindow;
|
||||
|
||||
// Переключаемся на начальный элемент управления
|
||||
navigationService.NavigateTo(mainView);
|
||||
Navigation.NavigateTo(mainView);
|
||||
|
||||
break;
|
||||
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Input;
|
||||
|
||||
namespace GSS2;
|
||||
|
||||
public class TouchNumericUpDown : NumericUpDown
|
||||
{
|
||||
protected override Type StyleKeyOverride => typeof(NumericUpDown);
|
||||
|
||||
public TouchNumericUpDown()
|
||||
: base()
|
||||
{
|
||||
AddHandler(PointerPressedEvent, OnPointerPressed, handledEventsToo: true);
|
||||
}
|
||||
|
||||
private void OnPointerPressed(object? sender, PointerPressedEventArgs ea)
|
||||
{
|
||||
Console.WriteLine($"TODO: process TouchNumericUpDown.PointerPressed event");
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Input;
|
||||
|
||||
namespace GSS2;
|
||||
|
||||
public class TouchTextBox : TextBox
|
||||
{
|
||||
protected override Type StyleKeyOverride => typeof(TextBox);
|
||||
|
||||
public TouchTextBox()
|
||||
: base()
|
||||
{
|
||||
AddHandler(PointerPressedEvent, OnPointerPressed, handledEventsToo: true);
|
||||
}
|
||||
|
||||
private void OnPointerPressed(object? sender, PointerPressedEventArgs ea)
|
||||
{
|
||||
Console.WriteLine($"TODO: process TouchTextBox.PointerPressed event");
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,7 @@
|
||||
xmlns:avalonia_converters="using:Avalonia.Data.Converters"
|
||||
xmlns:i="using:Avalonia.Xaml.Interactivity"
|
||||
xmlns:ia="using:Avalonia.Xaml.Interactions.Custom"
|
||||
xmlns:local="using:GSS2"
|
||||
xmlns:core="using:GSS2.UI.Core"
|
||||
xmlns:core_vm="using:GSS2.UI.Core.ViewModels"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
@@ -152,23 +153,23 @@
|
||||
<!-- Название пробы (подпись) -->
|
||||
<TextBlock Grid.Row="2" Grid.Column="0" Classes="mini" Text="Название пробы:" />
|
||||
<!-- Название пробы (поле) -->
|
||||
<TextBox Grid.Row="3" Grid.Column="0" Classes="singleline" Text="{Binding EditingRecord.SampleName}" PlaceholderText="Название пробы" />
|
||||
<local:TouchTextBox Grid.Row="3" Grid.Column="0" Classes="singleline" Text="{Binding EditingRecord.SampleName}" PlaceholderText="Название пробы" />
|
||||
<!-- Марка пробы (подпись) -->
|
||||
<TextBlock Grid.Row="2" Grid.Column="1" Classes="mini" Text="Марка пробы:" />
|
||||
<!-- Марка пробы (поле) -->
|
||||
<TextBox Grid.Row="3" Grid.Column="1" Classes="singleline" Text="{Binding EditingRecord.SampleBrand}" PlaceholderText="Марка пробы" />
|
||||
<local:TouchTextBox Grid.Row="3" Grid.Column="1" Classes="singleline" Text="{Binding EditingRecord.SampleBrand}" PlaceholderText="Марка пробы" />
|
||||
<!-- Дата и время отбора пробы (подпись) -->
|
||||
<TextBlock Grid.Row="4" Grid.Column="0" Classes="mini" Text="Дата и время отбора пробы:" />
|
||||
<!-- Дата и время отбора пробы (поле) -->
|
||||
<TextBox Grid.Row="5" Grid.Column="0" Classes="singleline" Text="{Binding EditingRecord.SamplingDateTime, Converter={StaticResource DateTimeConverter}}" PlaceholderText="Дата и время отбора пробы" />
|
||||
<local:TouchTextBox Grid.Row="5" Grid.Column="0" Classes="singleline" Text="{Binding EditingRecord.SamplingDateTime, Converter={StaticResource DateTimeConverter}}" PlaceholderText="Дата и время отбора пробы" />
|
||||
<!-- Место отбора пробы (подпись) -->
|
||||
<TextBlock Grid.Row="4" Grid.Column="1" Classes="mini" Text="Место отбора пробы:" />
|
||||
<!-- Место отбора пробы (поле) -->
|
||||
<TextBox Grid.Row="5" Grid.Column="1" Classes="singleline" Text="{Binding EditingRecord.SamplingPlace}" PlaceholderText="Место отбора пробы" />
|
||||
<local:TouchTextBox Grid.Row="5" Grid.Column="1" Classes="singleline" Text="{Binding EditingRecord.SamplingPlace}" PlaceholderText="Место отбора пробы" />
|
||||
<!-- Масса пробы (кг) (подпись) -->
|
||||
<TextBlock Grid.Row="6" Grid.ColumnSpan="2" Grid.Column="0" Classes="mini" Text="Масса пробы (кг):" />
|
||||
<!-- Масса пробы (кг) (поле) -->
|
||||
<NumericUpDown Grid.Row="7" Grid.ColumnSpan="2" Grid.Column="0" Classes="singleline" FormatString="0.0000" Increment="0.0001" Value="{Binding EditingRecord.SampleMass}" PlaceholderText="Масса пробы (кг)" />
|
||||
<local:TouchNumericUpDown Grid.Row="7" Grid.ColumnSpan="2" Grid.Column="0" Classes="singleline" FormatString="0.0000" Increment="0.0001" Value="{Binding EditingRecord.SampleMass}" PlaceholderText="Масса пробы (кг)" />
|
||||
|
||||
</Grid>
|
||||
|
||||
@@ -196,23 +197,23 @@
|
||||
<!-- Название используемой кондиционирующей смеси (подпись) -->
|
||||
<TextBlock Grid.Row="0" Grid.ColumnSpan="2" Grid.Column="0" Classes="mini" Text="Название используемой кондиционирующей смеси:" />
|
||||
<!-- Название используемой кондиционирующей смеси (поле) -->
|
||||
<TextBox Grid.Row="1" Grid.ColumnSpan="2" Grid.Column="0" Classes="singleline" Text="{Binding EditingRecord.MixtureName}" PlaceholderText="Название используемой кондиционирующей смеси" />
|
||||
<local:TouchTextBox Grid.Row="1" Grid.ColumnSpan="2" Grid.Column="0" Classes="singleline" Text="{Binding EditingRecord.MixtureName}" PlaceholderText="Название используемой кондиционирующей смеси" />
|
||||
<!-- Содержание люминофоров в кондиционирующей смеси (%) (подпись) -->
|
||||
<TextBlock Grid.Row="2" Grid.ColumnSpan="2" Grid.Column="0" Classes="mini" Text="Содержание люминофоров в кондиционирующей смеси (%):" />
|
||||
<!-- Содержание люминофоров в кондиционирующей смеси (%) (поле) -->
|
||||
<NumericUpDown Grid.Row="3" Grid.ColumnSpan="2" Grid.Column="0" Classes="singleline" FormatString="0.0" Increment="0.1" Value="{Binding EditingRecord.MixtureAmineContent}" PlaceholderText="Содержание люминофоров в кондиционирующей смеси (%)" />
|
||||
<local:TouchNumericUpDown Grid.Row="3" Grid.ColumnSpan="2" Grid.Column="0" Classes="singleline" FormatString="0.0" Increment="0.1" Value="{Binding EditingRecord.MixtureAmineContent}" PlaceholderText="Содержание люминофоров в кондиционирующей смеси (%)" />
|
||||
<!-- Норма расхода кондиционирующей смеси (кг/т | гр/кг) (подпись) -->
|
||||
<TextBlock Grid.Row="4" Grid.Column="0" Classes="mini" Text="Норма расхода (кг/т | гр/кг):" />
|
||||
<!-- Норма расхода кондиционирующей смеси (кг/т | гр/кг) (поле) -->
|
||||
<NumericUpDown Grid.Row="5" Grid.Column="0" Classes="singleline" FormatString="0.0000" Increment="0.0001" Value="{Binding EditingRecord.MixtureNormalRate}" PlaceholderText="Норма расхода кондиционирующей смеси (кг/т | гр/кг)" />
|
||||
<local:TouchNumericUpDown Grid.Row="5" Grid.Column="0" Classes="singleline" FormatString="0.0000" Increment="0.0001" Value="{Binding EditingRecord.MixtureNormalRate}" PlaceholderText="Норма расхода кондиционирующей смеси (кг/т | гр/кг)" />
|
||||
<!-- Фактический расход кондиционирующей смеси (кг/т | гр/кг) (подпись) -->
|
||||
<TextBlock Grid.Row="4" Grid.Column="1" Classes="mini" Text="Фактический расход (кг/т | гр/кг):" />
|
||||
<!-- Фактический расход кондиционирующей смеси (кг/т | гр/кг) (поле) -->
|
||||
<NumericUpDown Grid.Row="5" Grid.Column="1" Classes="singleline" FormatString="0.0000" Increment="0.0001" Value="{Binding EditingRecord.MixtureActualRate}" PlaceholderText="Фактический расход кондиционирующей смеси (кг/т | гр/кг)" />
|
||||
<local:TouchNumericUpDown Grid.Row="5" Grid.Column="1" Classes="singleline" FormatString="0.0000" Increment="0.0001" Value="{Binding EditingRecord.MixtureActualRate}" PlaceholderText="Фактический расход кондиционирующей смеси (кг/т | гр/кг)" />
|
||||
<!-- Измеренное количество кондиционирующей смеси (кг/т | гр/кг) (подпись) -->
|
||||
<TextBlock Grid.Row="6" Grid.ColumnSpan="2" Grid.Column="0" Classes="mini" Text="Измеренное количество кондиционирующей смеси (кг/т | гр/кг):" />
|
||||
<!-- Измеренное количество кондиционирующей смеси (кг/т | гр/кг) (поле) -->
|
||||
<NumericUpDown Grid.Row="7" Grid.ColumnSpan="2" Grid.Column="0" Classes="singleline" FormatString="0.0000" Increment="0.0001" Value="{Binding EditingRecord.MeasuredContent}" PlaceholderText="Измеренное количество кондиционирующей смеси (кг/т | гр/кг)" />
|
||||
<local:TouchNumericUpDown Grid.Row="7" Grid.ColumnSpan="2" Grid.Column="0" Classes="singleline" FormatString="0.0000" Increment="0.0001" Value="{Binding EditingRecord.MeasuredContent}" PlaceholderText="Измеренное количество кондиционирующей смеси (кг/т | гр/кг)" />
|
||||
|
||||
</Grid>
|
||||
|
||||
@@ -228,7 +229,7 @@
|
||||
<!-- Дополнительная информация о пробе (подпись) -->
|
||||
<TextBlock Grid.Row="0" Classes="mini" Text="Дополнительная информация о пробе:" />
|
||||
<!-- Дополнительная информация о пробе (поле) -->
|
||||
<TextBox Grid.Row="1" Classes="multiline" Text="{Binding EditingRecord.SampleComment}" PlaceholderText="Дополнительная информация о пробе" />
|
||||
<local:TouchTextBox Grid.Row="1" Classes="multiline" Text="{Binding EditingRecord.SampleComment}" PlaceholderText="Дополнительная информация о пробе" />
|
||||
|
||||
</Grid>
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
xmlns:avalonia_converters="using:Avalonia.Data.Converters"
|
||||
xmlns:i="using:Avalonia.Xaml.Interactivity"
|
||||
xmlns:ia="using:Avalonia.Xaml.Interactions.Custom"
|
||||
xmlns:local="using:GSS2"
|
||||
xmlns:core="using:GSS2.UI.Core"
|
||||
xmlns:core_vm="using:GSS2.UI.Core.ViewModels"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
@@ -123,11 +124,11 @@
|
||||
<!-- Тип (подпись) -->
|
||||
<TextBlock Grid.Row="2" Grid.Column="1" Classes="mini" Text="Тип:" />
|
||||
<!-- Тип (поле) -->
|
||||
<TextBox Grid.Row="3" Grid.Column="1" Classes="singleline" Text="{Binding EditingRecord.Type}" PlaceholderText="Тип" />
|
||||
<local:TouchTextBox Grid.Row="3" Grid.Column="1" Classes="singleline" Text="{Binding EditingRecord.Type}" PlaceholderText="Тип" />
|
||||
<!-- Партия (подпись) -->
|
||||
<TextBlock Grid.Row="4" Grid.Column="1" Classes="mini" Text="Партия:" />
|
||||
<!-- Партия (поле) -->
|
||||
<TextBox Grid.Row="5" Grid.Column="1" Classes="singleline" Text="{Binding EditingRecord.Batch}" PlaceholderText="Партия" />
|
||||
<local:TouchTextBox Grid.Row="5" Grid.Column="1" Classes="singleline" Text="{Binding EditingRecord.Batch}" PlaceholderText="Партия" />
|
||||
|
||||
</Grid>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user