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;
|
private bool _allShutdownSequencesRunning;
|
||||||
|
|
||||||
|
public NavigationService Navigation { get; }
|
||||||
|
|
||||||
public Application(IServiceProvider services, bool fullscreen = false)
|
public Application(IServiceProvider services, bool fullscreen = false)
|
||||||
{
|
{
|
||||||
_services = services;
|
_services = services;
|
||||||
@@ -35,6 +37,7 @@ public partial class Application : Avalonia.Application
|
|||||||
// Создаём DependencyInjectionViewLocator
|
// Создаём DependencyInjectionViewLocator
|
||||||
_logger = _services.GetRequiredService<ILogger<Application>>();
|
_logger = _services.GetRequiredService<ILogger<Application>>();
|
||||||
_viewLocator = _services.GetRequiredService<DependencyInjectionViewLocator>();
|
_viewLocator = _services.GetRequiredService<DependencyInjectionViewLocator>();
|
||||||
|
Navigation = _services.GetRequiredService<NavigationService>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
@@ -95,9 +98,6 @@ public partial class Application : Avalonia.Application
|
|||||||
Environment.Exit(1);
|
Environment.Exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Создаём сервис навигации между элементами управления
|
|
||||||
var navigationService = _services.GetRequiredService<NavigationService>();
|
|
||||||
|
|
||||||
// Создаём начальный элемент управления и переходим к нему
|
// Создаём начальный элемент управления и переходим к нему
|
||||||
var mainView = new MainView()
|
var mainView = new MainView()
|
||||||
{
|
{
|
||||||
@@ -131,7 +131,7 @@ public partial class Application : Avalonia.Application
|
|||||||
desktop.MainWindow = mainWindow;
|
desktop.MainWindow = mainWindow;
|
||||||
|
|
||||||
// Переключаемся на начальный элемент управления
|
// Переключаемся на начальный элемент управления
|
||||||
navigationService.NavigateTo(mainView);
|
Navigation.NavigateTo(mainView);
|
||||||
|
|
||||||
break;
|
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:avalonia_converters="using:Avalonia.Data.Converters"
|
||||||
xmlns:i="using:Avalonia.Xaml.Interactivity"
|
xmlns:i="using:Avalonia.Xaml.Interactivity"
|
||||||
xmlns:ia="using:Avalonia.Xaml.Interactions.Custom"
|
xmlns:ia="using:Avalonia.Xaml.Interactions.Custom"
|
||||||
|
xmlns:local="using:GSS2"
|
||||||
xmlns:core="using:GSS2.UI.Core"
|
xmlns:core="using:GSS2.UI.Core"
|
||||||
xmlns:core_vm="using:GSS2.UI.Core.ViewModels"
|
xmlns:core_vm="using:GSS2.UI.Core.ViewModels"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
@@ -152,23 +153,23 @@
|
|||||||
<!-- Название пробы (подпись) -->
|
<!-- Название пробы (подпись) -->
|
||||||
<TextBlock Grid.Row="2" Grid.Column="0" Classes="mini" Text="Название пробы:" />
|
<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="Марка пробы:" />
|
<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="Дата и время отбора пробы:" />
|
<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="Место отбора пробы:" />
|
<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="Масса пробы (кг):" />
|
<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>
|
</Grid>
|
||||||
|
|
||||||
@@ -196,23 +197,23 @@
|
|||||||
<!-- Название используемой кондиционирующей смеси (подпись) -->
|
<!-- Название используемой кондиционирующей смеси (подпись) -->
|
||||||
<TextBlock Grid.Row="0" Grid.ColumnSpan="2" Grid.Column="0" Classes="mini" Text="Название используемой кондиционирующей смеси:" />
|
<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="Содержание люминофоров в кондиционирующей смеси (%):" />
|
<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="Норма расхода (кг/т | гр/кг):" />
|
<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="Фактический расход (кг/т | гр/кг):" />
|
<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="Измеренное количество кондиционирующей смеси (кг/т | гр/кг):" />
|
<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>
|
</Grid>
|
||||||
|
|
||||||
@@ -228,7 +229,7 @@
|
|||||||
<!-- Дополнительная информация о пробе (подпись) -->
|
<!-- Дополнительная информация о пробе (подпись) -->
|
||||||
<TextBlock Grid.Row="0" Classes="mini" Text="Дополнительная информация о пробе:" />
|
<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>
|
</Grid>
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
xmlns:avalonia_converters="using:Avalonia.Data.Converters"
|
xmlns:avalonia_converters="using:Avalonia.Data.Converters"
|
||||||
xmlns:i="using:Avalonia.Xaml.Interactivity"
|
xmlns:i="using:Avalonia.Xaml.Interactivity"
|
||||||
xmlns:ia="using:Avalonia.Xaml.Interactions.Custom"
|
xmlns:ia="using:Avalonia.Xaml.Interactions.Custom"
|
||||||
|
xmlns:local="using:GSS2"
|
||||||
xmlns:core="using:GSS2.UI.Core"
|
xmlns:core="using:GSS2.UI.Core"
|
||||||
xmlns:core_vm="using:GSS2.UI.Core.ViewModels"
|
xmlns:core_vm="using:GSS2.UI.Core.ViewModels"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
@@ -123,11 +124,11 @@
|
|||||||
<!-- Тип (подпись) -->
|
<!-- Тип (подпись) -->
|
||||||
<TextBlock Grid.Row="2" Grid.Column="1" Classes="mini" Text="Тип:" />
|
<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="Партия:" />
|
<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>
|
</Grid>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user