コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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() + "'!");
                }
            }
        }
コード例 #3
0
        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);
                }
            }
        }
コード例 #4
0
        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();
                }
            }
        }
コード例 #5
0
        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;
            }
        }