File: EntityDataSourceWizardForm.cs

package info (click to toggle)
mono 4.6.2.7%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 778,148 kB
  • ctags: 914,052
  • sloc: cs: 5,779,509; xml: 2,773,713; ansic: 432,645; sh: 14,749; makefile: 12,361; perl: 2,488; python: 1,434; cpp: 849; asm: 531; sql: 95; sed: 16; php: 1
file content (102 lines) | stat: -rw-r--r-- 3,772 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
//------------------------------------------------------------------------------
// <copyright file="EntityDataSourceWizardForm.cs" company="Microsoft">
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// </copyright>
//
// @owner       [....]
// @backupOwner [....]
//
// Containing form for the wizard panels
//------------------------------------------------------------------------------

using System.Drawing;
using System.Globalization;
using System.IO;
using System.Web.UI.Design.WebControls.Util;
using System.Web.UI.WebControls;

namespace System.Web.UI.Design.WebControls
{
    internal class EntityDataSourceWizardForm : WizardForm
    {
        private EntityDataSourceState _entityDataSourceState;

        private EntityDataSourceConfigureObjectContext _configureContext;
        private EntityDataSourceDataSelection _configureDataSelection;
        private readonly EntityDataSourceDesignerHelper _helper;

        public EntityDataSourceWizardForm(IServiceProvider serviceProvider, EntityDataSourceState entityDataSourceState, EntityDataSourceDesigner entityDataSourceDesigner)
            : base(serviceProvider)
        {
            _entityDataSourceState = entityDataSourceState;
            this.SetGlyph(new Bitmap(BitmapSelector.GetResourceStream(typeof(EntityDataSourceWizardForm), "EntityDataSourceWizard.bmp")));
            this.Text = String.Format(CultureInfo.InvariantCulture, Strings.Wizard_Caption(((EntityDataSource)entityDataSourceDesigner.Component).ID));

            _helper = entityDataSourceDesigner.Helper;

            EntityDataSourceConfigureObjectContextPanel contextPanel = new EntityDataSourceConfigureObjectContextPanel();
            _configureContext = new EntityDataSourceConfigureObjectContext(contextPanel, this, entityDataSourceDesigner.Helper, _entityDataSourceState);

            EntityDataSourceDataSelectionPanel dataPanel = new EntityDataSourceDataSelectionPanel();
            _configureDataSelection = new EntityDataSourceDataSelection(dataPanel, this, entityDataSourceDesigner.Helper, _entityDataSourceState);

            _configureContext.ContainerNameChanged += _configureDataSelection.ContainerNameChangedHandler;

            _configureContext.LoadState();
            _configureDataSelection.LoadState();

            // Adds the panels to the wizard
            SetPanels(new WizardPanel[] {
                contextPanel,
                dataPanel});
        }

        protected override string HelpTopic
        {
            get
            {
                return "net.Asp.EntityDataSource.ConfigureDataSource";
            }
        }

        public EntityDataSourceState EntityDataSourceState
        {
            get
            {
                return _entityDataSourceState;
            }
        }

        protected override void OnFinishButtonClick(object sender, EventArgs e)
        {
            _configureContext.SaveState();
            _configureDataSelection.SaveState();
            base.OnFinishButtonClick(sender, e);
        }

        protected override void OnFormClosed(System.Windows.Forms.FormClosedEventArgs e)
        {
            // Reset the helper so it knows to try to load the web.config file again on future executions
            _helper.CanLoadWebConfig = true; 
            base.OnFormClosed(e);
        }

        public void SetCanFinish(bool enabled)
        {
            FinishButton.Enabled = enabled;
            if (enabled)
            {
                this.AcceptButton = FinishButton;
            }
        }

        public void SetCanNext(bool enabled)
        {
            NextButton.Enabled = enabled;
            if (enabled)
            {
                this.AcceptButton = NextButton;
            }
        }
    }
}