Files
Artemis/src/Artemis.UI/Screens/ProfileEditor/DisplayConditions/Abstract/DisplayConditionViewModel.cs
T
SpoinkyNL 29d4db55db Core - Flattened namespaces
Shared UI - Flattened namespaces
Shared UI - General housekeeping
Project - Code cleanup
2020-09-01 00:14:08 +02:00

44 lines
1.1 KiB
C#

using System;
using Artemis.Core;
using Stylet;
namespace Artemis.UI.Screens.ProfileEditor.DisplayConditions.Abstract
{
public abstract class DisplayConditionViewModel : PropertyChangedBase, IDisposable
{
protected DisplayConditionViewModel(DisplayConditionPart model, DisplayConditionViewModel parent)
{
Model = model;
Parent = parent;
Children = new BindableCollection<DisplayConditionViewModel>();
}
public DisplayConditionPart Model { get; }
public DisplayConditionViewModel Parent { get; set; }
public BindableCollection<DisplayConditionViewModel> Children { get; }
public void Dispose()
{
foreach (var child in Children)
child.Dispose();
Dispose(true);
GC.SuppressFinalize(this);
}
public abstract void Update();
public virtual void Delete()
{
Model.Parent.RemoveChild(Model);
Parent.Update();
}
protected virtual void Dispose(bool disposing)
{
if (disposing)
{
}
}
}
}