using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using DynamicData;
using ReactiveUI;
namespace NodeNetwork.ViewModels
{
///
/// Viewmodel class for the UI cutting line that is used to delete connections.
///
public class CutLineViewModel : ReactiveObject
{
#region StartPoint
///
/// The coordinates of the point at which the cutting line starts.
///
public Point StartPoint
{
get => _startPoint;
set => this.RaiseAndSetIfChanged(ref _startPoint, value);
}
private Point _startPoint;
#endregion
#region EndPoint
///
/// The coordinates of the point at which the cutting line ends.
///
public Point EndPoint
{
get => _endPoint;
set => this.RaiseAndSetIfChanged(ref _endPoint, value);
}
private Point _endPoint;
#endregion
#region IsVisible
///
/// If true, the cutting line is visible. If false, the cutting line is hidden.
///
public bool IsVisible
{
get => _isVisible;
set => this.RaiseAndSetIfChanged(ref _isVisible, value);
}
private bool _isVisible;
#endregion
#region IntersectingConnections
///
/// A list of connections that visually intersect with the cutting line.
/// This list is driven by the view.
///
public ISourceList IntersectingConnections { get; } = new SourceList();
#endregion
}
}