public bool Display(Window parent)
        {
            var wizard = new Wizard
            {
                Owner = parent,
                ShowNavigationTree = false,
                Title     = "Sentinel - Add new logger",
                SavedData = Settings
            };

            wizard.AddPage(new AddNewLoggerWelcomePage());
            wizard.AddPage(new SetLoggerNamePage());
            wizard.AddPage(new ProvidersPage());
            wizard.AddPage(new ViewSelectionPage());

            var dialogResult = wizard.ShowDialog();

            if (dialogResult == true)
            {
                Settings = wizard.SavedData as NewLoggerSettings;
                Debug.Assert(Settings != null, "Settings should be non-null and of NewLoggerSettings type");
            }

            return(dialogResult ?? false);
        }
示例#2
0
        public bool Display(Window parent)
        {
            IProviderSettings settings = new ProviderSettings();

            // Construct the wizard
            var wizard = new Wizard
            {
                Owner = parent,
                ShowNavigationTree = false,
                SavedData          = settings,
                Title = "Add New Log Provider",
            };

            wizard.AddPage(new SelectProviderPage());

            var dialogResult = wizard.ShowDialog();

            if (dialogResult == true)
            {
                if (wizard.SavedData == null && !(wizard.SavedData is IProviderSettings))
                {
                    throw new NotImplementedException(
                              "The UserData was either null or the supplied object was not of the expected type: IProviderSettings");
                }

                Settings = (IProviderSettings)wizard.SavedData;
                Provider = Settings.Info;
            }

            return(dialogResult ?? false);
        }
示例#3
0
        /// <summary>
        ///     SelectedIndexChanged event: fired by ListBox when the selection changes
        /// </summary>
        private void listViewModelContents_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listViewModelContents.SelectedIndices.Count > 0)
            {
                var nSelectedItemIndex = GetSelectedOptionIndex();
                if (nSelectedItemIndex == GenerateEmptyModelIndex)
                {
                    // User selection = "Empty Model"
                    // - update hint textbox
                    textboxListViewSelectionInfo.Text = Resources.StartPage_EmptyModelText;

                    // remove all future pages
                    RemoveAllExceptFirstPage();
                }
                else if (nSelectedItemIndex == GenerateFromDatabaseIndex)
                {
                    // User selection = "Generate from database"
                    // - update hint textbox
                    textboxListViewSelectionInfo.Text = Resources.StartPage_GenerateFromDBText;

                    // remove all future pages
                    RemoveAllExceptFirstPage();

                    // add in the WizardPageDbConfig and WizardPageSelectTables pages:
                    // skip first wizard page, since it is still in the collection
                    // add in the rest
                    foreach (var page in Wizard.RegisteredPages.Skip(1))
                    {
                        Wizard.AddPage(page);
                    }
                }
            }
            Wizard.OnValidationStateChanged(this);
        }
        private void AddPagesForReverseEngineerDb()
        {
            Debug.Assert(
                GetSelectedOptionIndex() == GenerateFromDatabaseIndex ||
                GetSelectedOptionIndex() == GenerateCodeFirstFromDatabaseIndex,
                "Should be called only for reverse engineer database workflows");

            // add in the WizardPageDbConfig and WizardPageSelectTables pages:
            // skip first wizard page, since it is still in the collection
            // add in the rest
            foreach (var page in Wizard.RegisteredPages.Skip(1))
            {
                Wizard.AddPage(page);
            }
        }