private void ShowPreviousView() { LaunchAction launchAction = this.bootstrapper.LaunchAction; DlgBaseVM currentVM = this.CurrentViewModel; DlgBaseVM previousVM = null; if (launchAction == LaunchAction.Install) { if (currentVM is LicenseDlgVM) { previousVM = this.viewModels[typeof(WelcomeDlgVM)]; } else if (currentVM is CustomizeDlgVM) { previousVM = this.viewModels[typeof(LicenseDlgVM)]; } else if (currentVM is ReadyDlgVM) { previousVM = this.viewModels[typeof(CustomizeDlgVM)]; } } if (previousVM != null) { this.CurrentViewModel = previousVM; } }
private void CreateViewModels() { _viewModels = new Dictionary <Type, DlgBaseVM>(); _progressDlgVM = new ProgressDlgVM(_bootstrapper, _guiService); _userCancelDlgVM = new UserCancelDlgVM(_bootstrapper, _guiService); _errorDlgVM = new ErrorDlgVM(_bootstrapper, _guiService); _finishedDlgVM = new FinishedDlgVM(_bootstrapper, _guiService); if (!Environment.Is64BitOperatingSystem) { BitErrorDlgVM bitErrorDlgVM = new BitErrorDlgVM(_bootstrapper, _guiService); _viewModels.Add(typeof(BitErrorDlgVM), bitErrorDlgVM); _currentViewModel = bitErrorDlgVM; } else if (_bootstrapper.IsUpgrade) { UpgradeDlgVM upgradeDlgVM = new UpgradeDlgVM(_bootstrapper, _guiService, _uacService); _viewModels.Add(typeof(UpgradeDlgVM), upgradeDlgVM); _currentViewModel = upgradeDlgVM; } else if (_bootstrapper.HasRelatedBundle) { DowngradeDlgVM downgradeDlgVM = new DowngradeDlgVM(_bootstrapper, _guiService); _viewModels.Add(typeof(DowngradeDlgVM), downgradeDlgVM); _currentViewModel = downgradeDlgVM; } else { LaunchAction launchAction = _bootstrapper.LaunchAction; switch (launchAction) { case LaunchAction.Install: _viewModels.Add(typeof(WelcomeDlgVM), new WelcomeDlgVM(_bootstrapper, _guiService)); _viewModels.Add(typeof(LicenseDlgVM), new LicenseDlgVM(_bootstrapper, _guiService)); _viewModels.Add(typeof(CustomizeDlgVM), new CustomizeDlgVM(_bootstrapper, _guiService)); _viewModels.Add(typeof(ReadyDlgVM), new ReadyDlgVM(_bootstrapper, _guiService, _uacService)); _currentViewModel = _viewModels[typeof(WelcomeDlgVM)]; break; case LaunchAction.Uninstall: UninstallDlgVM uninstallDlgVM = new UninstallDlgVM(_bootstrapper, _guiService, _uacService); _viewModels.Add(typeof(UninstallDlgVM), uninstallDlgVM); _currentViewModel = uninstallDlgVM; break; default: throw new ApplicationException("Unsupported LaunchAction '" + _bootstrapper.LaunchAction.ToString() + "'!"); } } }
public bool CanExitWizard() { if (this.cancelConfirmed) { return(true); } DlgBaseVM currentVM = this.CurrentViewModel; if (currentViewModel is ProgressDlgVM) { this.RequestCancelProgress(); return(false); } else if (currentVM is BitErrorDlgVM) { return(true); } else if (currentVM is DowngradeDlgVM) { return(true); } else if (currentVM is FinishedDlgVM) { return(true); } else if (currentVM is UserCancelDlgVM) { return(true); } else if (currentVM is ErrorDlgVM) { return(true); } else { if (this.bootstrapper.ShowCloseMessageMox() == MessageBoxResult.OK) { this.bootstrapper.SetCancelledByUser(); return(true); } else { return(false); } } }
public void CancelWizard() { DlgBaseVM currentVM = this.CurrentViewModel; if (currentViewModel is ProgressDlgVM) { this.RequestCancelProgress(); } else if (currentVM is BitErrorDlgVM) { this.FireWiazrdFinished(); } else if (currentVM is DowngradeDlgVM) { this.FireWiazrdFinished(); } else if (currentVM is FinishedDlgVM) { this.FireWiazrdFinished(); } else if (currentVM is UserCancelDlgVM) { this.FireWiazrdFinished(); } else if (currentVM is ErrorDlgVM) { this.FireWiazrdFinished(); } else { if (this.bootstrapper.ShowCloseMessageMox() == MessageBoxResult.OK) { this.bootstrapper.SetCancelledByUser(); this.FireWiazrdFinished(); } } }
private void ShowNextView() { DlgBaseVM currentVM = this.CurrentViewModel; CancelEventArgs cancelArgs = new CancelEventArgs(); currentVM.OnBeforeNextView(cancelArgs); if (cancelArgs.Cancel) { return; } LaunchAction launchAction = this.bootstrapper.LaunchAction; DlgBaseVM nextVM = null; switch (launchAction) { case LaunchAction.Install: if (currentVM is UpgradeDlgVM) { this.StartExecute(); } else if (currentVM is WelcomeDlgVM) { nextVM = this.viewModels[typeof(LicenseDlgVM)]; } else if (currentVM is LicenseDlgVM) { nextVM = this.viewModels[typeof(CustomizeDlgVM)]; } else if (currentVM is CustomizeDlgVM) { nextVM = this.viewModels[typeof(ReadyDlgVM)]; } else if (currentVM is ReadyDlgVM) { this.StartExecute(); } break; case LaunchAction.Uninstall: if (currentVM is UninstallDlgVM) { this.StartExecute(); } break; } if (currentVM is BitErrorDlgVM) { this.FireWiazrdFinished(); } if (currentVM is DowngradeDlgVM) { this.FireWiazrdFinished(); } if (currentVM is UserCancelDlgVM) { this.FireWiazrdFinished(); } if (currentVM is FinishedDlgVM) { this.FireWiazrdFinished(); } if (currentVM is ErrorDlgVM) { this.FireWiazrdFinished(); } if (nextVM != null) { this.CurrentViewModel = nextVM; } }