wabbajack/Wabbajack.App.Wpf/View Models/WebBrowserVM.cs

52 lines
1.5 KiB
C#
Raw Normal View History

using System;
using System.Reactive;
using System.Reactive.Subjects;
using Microsoft.Extensions.Logging;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
using Wabbajack.Messages;
using Wabbajack.Models;
namespace Wabbajack
{
public class WebBrowserVM : ViewModel, IBackNavigatingVM, IDisposable
{
private readonly ILogger<WebBrowserVM> _logger;
private readonly CefService _cefService;
[Reactive]
public string Instructions { get; set; }
public dynamic Browser { get; }
public dynamic Driver { get; set; }
[Reactive]
public ViewModel NavigateBackTarget { get; set; }
[Reactive]
public ReactiveCommand<Unit, Unit> BackCommand { get; set; }
public Subject<bool> IsBackEnabledSubject { get; } = new Subject<bool>();
public IObservable<bool> IsBackEnabled { get; }
public WebBrowserVM(ILogger<WebBrowserVM> logger, CefService cefService)
{
// CefService is required so that Cef is initalized
_logger = logger;
_cefService = cefService;
Instructions = "Wabbajack Web Browser";
BackCommand = ReactiveCommand.Create(NavigateBack.Send);
//Browser = cefService.CreateBrowser();
//Driver = new CefSharpWrapper(_logger, Browser, cefService);
}
public override void Dispose()
{
Browser.Dispose();
base.Dispose();
}
}
}