58 lines
1.8 KiB
C#
58 lines
1.8 KiB
C#
using System.Windows;
|
|
using CommunityToolkit.Mvvm.Messaging;
|
|
using Livia.Utility;
|
|
using Livia.ViewModels;
|
|
|
|
namespace Livia.Views.Controls;
|
|
|
|
/// <summary>
|
|
/// Interaction logic for RoiExpanderControl.xaml
|
|
/// </summary>
|
|
public partial class RoiExpanderControl
|
|
{
|
|
//give a litter extra just to be safe. Maybe not needed though.
|
|
private static readonly DebounceHelper LocateRoiButtonDebounceHelper = new(TimeSpan.FromMilliseconds(RoiExpanderControlViewModel.BlinkTime + 100));
|
|
|
|
public RoiExpanderControl()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void ToggleRoiLocationDisplayModeButtonOnClick(object sender, RoutedEventArgs e)
|
|
{
|
|
if (DataContext is not RoiExpanderControlViewModel viewModel)
|
|
return;
|
|
viewModel.ToggleRoiLocationsDisplayMode();
|
|
}
|
|
|
|
private void ToggleTwoColumnModeButtonOnClick(object sender, RoutedEventArgs e)
|
|
{
|
|
if (DataContext is not RoiExpanderControlViewModel viewModel)
|
|
return;
|
|
viewModel.ToggleTwoColumnMode();
|
|
}
|
|
|
|
private void ToggleUnfoldButtonOnClick(object sender, RoutedEventArgs e)
|
|
{
|
|
if (DataContext is not RoiExpanderControlViewModel viewModel)
|
|
return;
|
|
viewModel.ToggleUnfold();
|
|
}
|
|
|
|
private void LocateRoiButtonOnClick(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!LocateRoiButtonDebounceHelper.TryFire())
|
|
return;
|
|
|
|
if (DataContext is not RoiExpanderControlViewModel viewModel)
|
|
return;
|
|
WeakReferenceMessenger.Default.Send(new LocateRoiMessage(viewModel));
|
|
}
|
|
|
|
private void ShowBoundaryButtonOnClick(object sender, RoutedEventArgs e)
|
|
{
|
|
if (DataContext is not RoiExpanderControlViewModel viewModel)
|
|
return;
|
|
viewModel.ToggleShowBoundary();
|
|
}
|
|
} |