private void LoadScreen(Interfaces.Controls.ContentItems.ContentItem screen)
        {
            Cursor = Cursors.WaitCursor;
            panelContent.Controls.Clear();
            panelContent.Controls.Add(screen);
            screen.Dock        = DockStyle.Fill;
            panelTop.Visible   = screen.DisplayTopPanel;
            buttonBack.Visible = screen.HasPrev;
            buttonBack.BringToFront();
            buttonNext.Enabled        = screen.HasNext || screen.HasFinish;
            buttonBack.Enabled        = screen.HasPrev;
            AcceptButton              = screen.EnterKeyTriggersNext ? buttonNext : null;
            labelPageHeader.Text      = screen.PageHeader;
            labelPageDescription.Text = screen.PageDescription;
            buttonNext.Text           = screen.HasFinish ? "&Finish" : "&Next >";
            screen.OnDisplaying();

            if (!string.IsNullOrEmpty(screen.NextText))
            {
                buttonNext.Text = screen.NextText;
            }
            else
            {
                buttonNext.Text = "&Next >";
            }
            Cursor = Cursors.Default;
        }
示例#2
0
        private void buttonNext_Click(object sender, EventArgs e)
        {
            Interfaces.Controls.ContentItems.ContentItem currentItem = (Interfaces.Controls.ContentItems.ContentItem)panelContent.Controls[0];

            if (currentItem.HasFinish)
            {
                if (Save())
                {
                    //Project.Instance.IsDirty = true;
                    DialogResult = DialogResult.OK;
                    Close();
                }
                return;
            }
            if (currentItem.HasFinish || !currentItem.HasNext || !currentItem.Next())
            {
                return;
            }
            for (int i = 0; i < ContentItems.Count; i++)
            {
                if (ContentItems[i] == currentItem)
                {
                    LoadScreen(ContentItems[i + 1]);
                }
            }
        }
 private void LoadScreen(Interfaces.Controls.ContentItems.ContentItem screen)
 {
     Cursor = Cursors.WaitCursor;
     panelContent.Controls.Clear();
     panelContent.Controls.Add(screen);
     screen.Dock = DockStyle.Fill;
     screen.OnDisplaying();
     Cursor = Cursors.Default;
 }
        internal void LoadNextScreen()
        {
            Interfaces.Controls.ContentItems.ContentItem currentItem = (Interfaces.Controls.ContentItems.ContentItem)panelContent.Controls[0];

            if (currentItem.HasFinish)
            {
                DialogResult = DialogResult.OK;
                Close();
                return;
            }
            if (!currentItem.HasNext || !currentItem.Next())
            {
                return;
            }
            if (currentItem.HasFinish)
            {
                DialogResult = DialogResult.OK;
                Close();
                return;
            }
            if (typeof(ScreenStart).IsInstanceOfType(currentItem))
            {
                ScreenStart.Actions action = ScreenStart.Action;

                switch (action)
                {
                case ScreenStart.Actions.Purchase:
                    break;

                case ScreenStart.Actions.Trial:
                    Result = ScreenStart.Actions.Trial;

                    if (ScreenStart.Action == ScreenStart.Actions.Trial && DaysRemaining > 0)
                    {
                        DialogResult = DialogResult.OK;
                        Close();
                        return;
                    }
                    break;

                default:
                    throw new NotImplementedException(action.ToString());
                }
            }
            else
            {
                throw new NotImplementedException(currentItem.GetType().Name);
            }
        }
示例#5
0
        private void buttonBack_Click(object sender, EventArgs e)
        {
            Interfaces.Controls.ContentItems.ContentItem currentItem = (Interfaces.Controls.ContentItems.ContentItem)panelContent.Controls[0];

            if (!currentItem.HasPrev || !currentItem.Back())
            {
                return;
            }

            for (int i = 0; i < ContentItems.Count; i++)
            {
                if (ContentItems[i] == currentItem)
                {
                    LoadScreen(ContentItems[i - 1]);
                }
            }
        }
 internal static void UpdateButtonText()
 {
     Interfaces.Controls.ContentItems.ContentItem currentItem = (Interfaces.Controls.ContentItems.ContentItem)Instance.panelContent.Controls[0];
 }