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 } }