public MainViewModel( [NotNull] MainDataContext dataContext, [NotNull] ISystemTrayContextMenu trayMenu, [NotNull] IConsoleArgs consoleArgs, [NotNull] IWaVersionInfoProvider waVersionInfoProvider, [NotNull] MainForm mainForm) { if (dataContext == null) { throw new ArgumentNullException(nameof(dataContext)); } if (trayMenu == null) { throw new ArgumentNullException(nameof(trayMenu)); } if (consoleArgs == null) { throw new ArgumentNullException(nameof(consoleArgs)); } if (waVersionInfoProvider == null) { throw new ArgumentNullException(nameof(waVersionInfoProvider)); } if (mainForm == null) { throw new ArgumentNullException(nameof(mainForm)); } this.DataContext = dataContext; this.trayMenu = trayMenu; this.consoleArgs = consoleArgs; this.waVersionInfoProvider = waVersionInfoProvider; this.mainForm = mainForm; trayMenu.ShowMainWindowClicked += ShowRestore; trayMenu.ExitWurmAssistantClicked += (sender, eventArgs) => this.TryClose(); savedNonMinimizedWindowState = WindowState.Normal; if (consoleArgs.WurmUnlimitedMode) { WindowTitle = "Aldur's Wurm Assistant Unlimited"; Icon = Resources.WurmAssistantUnlimitedIcon.ToImageSource(); } else { WindowTitle = "Aldur's Wurm Assistant"; Icon = Resources.WurmAssistantIcon.ToImageSource(); } WindowTitle += string.Format(" ({0})", waVersionInfoProvider.Get()); mainForm.Dock = DockStyle.Fill; WinFormsContent = new WindowsFormsHost() { Child = mainForm, HorizontalAlignment = HorizontalAlignment.Stretch, VerticalAlignment = VerticalAlignment.Stretch }; }
public AppRuntimeManager( [NotNull] IUserNotifier userNotifier, [NotNull] ILogger logger, [NotNull] INewsViewModelFactory newsViewModelFactory, [NotNull] ITelemetry telemetry, [NotNull] IWaVersionInfoProvider waVersionInfoProvider, [NotNull] WurmUnlimitedLogsDirChecker wurmUnlimitedLogsDirChecker) { this.userNotifier = userNotifier ?? throw new ArgumentNullException(nameof(userNotifier)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); this.newsViewModelFactory = newsViewModelFactory ?? throw new ArgumentNullException(nameof(newsViewModelFactory)); this.telemetry = telemetry ?? throw new ArgumentNullException(nameof(telemetry)); this.waVersionInfoProvider = waVersionInfoProvider ?? throw new ArgumentNullException(nameof(waVersionInfoProvider)); this.wurmUnlimitedLogsDirChecker = wurmUnlimitedLogsDirChecker ?? throw new ArgumentNullException(nameof(wurmUnlimitedLogsDirChecker)); }