Files
GSS2Rework/GSS2.Test/ViewModels/MainViewModel.cs
T
amkovkov 40aa38d353 feat: SectionPanel
Add scroll flugs
Add carusel scroll
Add animation
2026-02-10 15:03:23 +03:00

38 lines
1.6 KiB
C#

using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using GSS2.Core.Hardware;
using GSS2.UI.Core.ViewModels;
namespace GSS2.Test.ViewModels;
public partial class MainViewModel : ViewModelBase
{
private readonly ILogger<MainViewModel> _logger;
private readonly CameraService _cameraService;
[ObservableProperty] private CameraViewModel _cameraViewModel;
[ObservableProperty] private ResourcesViewModel _resourcesViewModel;
[ObservableProperty] private OpenCvSharp.Mat? _image;
[ObservableProperty] private IRelayCommand _buttonCaptureClick;
[ObservableProperty] private IRelayCommand _buttonUpClick;
[ObservableProperty] private IRelayCommand _buttonDownClick;
[ObservableProperty] private int _currentIndex;
[ObservableProperty] private bool _canScrollForward;
[ObservableProperty] private bool _canScrollBackward;
public MainViewModel(ILogger<MainViewModel> logger, CameraViewModel cameraViewModel, ResourcesViewModel resourcesViewModel, CameraService cameraService)
{
_logger = logger;
_cameraService = cameraService;
CameraViewModel = cameraViewModel;
ResourcesViewModel = resourcesViewModel;
ButtonCaptureClick = new RelayCommand(() =>
{
Task.Run(() => cameraService.CaptureImage(CancellationToken.None, 10).ContinueWith(image => Image = image.Result));
});
ButtonUpClick = new RelayCommand(() => CurrentIndex--);
ButtonDownClick = new RelayCommand(() => CurrentIndex++);
_logger.LogInformation("{} initialized", nameof(MainViewModel));
}
}