示例#1
0
        /// <summary>Factory for making pages</summary>
        private PageBase PageFactory(ETutPage page)
        {
            switch (page)
            {
            default: throw new Exception("Unknown page number");

            case ETutPage.OpenLogData:      return(new Main.TutOpenLogData(this, m_main));

            case ETutPage.EnableHighlights: return(new Main.TutEnableHighlights(this, m_main));

            case ETutPage.EnableFilters:    return(new Main.TutEnableFilters(this, m_main));

            case ETutPage.EnableTransforms: return(new Main.TutEnableTransforms(this, m_main));

            case ETutPage.EnableActions:    return(new Main.TutEnableActions(this, m_main));

            case ETutPage.FileWatching:     return(new Main.TutFileWatching(this, m_main));

            case ETutPage.FileScroll:       return(new Main.TutFileScroll(this, m_main));

            case ETutPage.PatternEditor:    return(new SettingsUI.TutPatternEditor(this, m_main, m_settings_ui));

            case ETutPage.PatternsList:     return(new SettingsUI.TutPatternsList(this, m_main, m_settings_ui));

            case ETutPage.PatternSets:      return(new Main.TutPatternSets(this, m_main));

            case ETutPage.HelpMenu:         return(new Main.TutHelpMenu(this, m_main));
            }
        }
示例#2
0
        public FirstRunTutorial(Main main)
            : base(main, EPin.TopRight, new Point(-200, 80))
        {
            InitializeComponent();
            ShowInTaskbar = false;
            Icon          = main.Icon;
            HideOnClose   = false;

            // Close the current log file, save the user settings
            // and load the default settings
            m_main       = main;
            m_main.Src   = null;
            m_page_index = ETutPage.First - 1;

            // Grab a reference to the main settings then replace the
            // main settings with a default instance
            m_orig_settings = m_main.Settings;
            m_main.Settings = new Settings()
            {
                AutoSaveOnChanges = false
            };

            // Create a new settings UI for the tutorial
            m_settings_ui = new SettingsUI(m_main, SettingsUI.ETab.Highlights)
            {
                StartPosition = FormStartPosition.CenterParent, Owner = m_main
            };
            m_current_page = new PageBase(this, m_main);

            m_html.Navigate("about:blank");

            m_btn_back.Click += (s, a) => SwitchPage(false);
            m_btn_next.Click += (s, a) => SwitchPage(true);
        }
示例#3
0
        /// <summary>Update the form to display the next/previous page</summary>
        private void SwitchPage(bool forward)
        {
            m_page_index += forward ? 1 : -1;
            if (m_page_index < ETutPage.First)
            {
                Close(); return;
            }
            if (m_page_index > ETutPage.Last)
            {
                Close(); return;
            }
            m_btn_back.Text = m_page_index == ETutPage.First ? "&Close" : "&Back";
            m_btn_next.Text = m_page_index == ETutPage.Last  ? "&Close" : "&Next";

            m_current_page.Exit(forward);
            m_current_page.Dispose();
            m_current_page = PageFactory(m_page_index);
            m_current_page.Enter();
        }