Files
SourMesen 40335ce735 UI: Update to Avalonia 12, .NET 10 and replace ReactiveUI with MVVM community toolkit (#142)
Also fixes DX11.0 support (for Win7 PCs that aren't fully updated), which stopped working after the recent variable refresh rate changes
2026-07-03 16:04:42 +09:00

56 lines
996 B
C#

using Dock.Controls.DeferredContentControl;
using Dock.Model.Mvvm.Controls;
using Mesen.Debugger.Utilities;
using System;
namespace Mesen.Debugger.ViewModels.DebuggerDock
{
public class BaseToolContainerViewModel : Tool, IDeferredContentPresentation
{
public virtual object? HelpContent { get; } = null;
public bool DeferContentPresentation => false;
public event EventHandler? Selected;
public override void OnSelected()
{
Selected?.Invoke(this, EventArgs.Empty);
}
}
public class ToolContainerViewModel<T> : BaseToolContainerViewModel
{
private T? _model;
public T? Model
{
get => _model;
set
{
_model = value;
OnPropertyChanged(nameof(Model));
}
}
public override object? HelpContent
{
get
{
if(Model is IToolHelpTooltip help) {
return help.HelpTooltip;
}
return null;
}
}
public ToolContainerViewModel(string name)
{
Id = name;
Title = name;
CanPin = false;
CanFloat = false;
}
}
}