60 lines
1.6 KiB
C#
60 lines
1.6 KiB
C#
/*
|
|
* Copyright (c) 2022 LG Electronics Inc.
|
|
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
|
|
*/
|
|
using Aurora;
|
|
using Aurora.Api;
|
|
using Aurora.View;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
using System.ComponentModel;
|
|
using System.Reactive.Linq;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Input;
|
|
|
|
namespace AuroraUIComponent.UserControls.SequenceDrawer
|
|
{
|
|
/// <summary>
|
|
/// Interaction logic for WinSequenceDiagram.xaml
|
|
/// </summary>
|
|
public partial class UCSequenceDiagramControl : UserControl, INotifyPropertyChanged
|
|
{
|
|
public event PropertyChangedEventHandler PropertyChanged;
|
|
protected bool SetProperty<S>(
|
|
ref S storage,
|
|
S value,
|
|
[CallerMemberName] string propertyName = null)
|
|
{
|
|
if (Equals(storage, value))
|
|
return false;
|
|
storage = value;
|
|
OnPropertyChanged(propertyName);
|
|
return true;
|
|
}
|
|
|
|
protected void OnPropertyChanged(
|
|
[CallerMemberName] string propertyName = null)
|
|
=> PropertyChanged?.Invoke(
|
|
this,
|
|
new PropertyChangedEventArgs(propertyName)
|
|
);
|
|
|
|
public UCSequenceDiagramControl() : this(null)
|
|
{
|
|
|
|
}
|
|
|
|
public UCSequenceDiagramControl(UCSequenceDiagramControlViewModel vm = null)
|
|
{
|
|
InitializeComponent();
|
|
|
|
DataContext = vm == null ? new UCSequenceDiagramControlViewModel() : vm;
|
|
}
|
|
}
|
|
}
|