Exemplo n.º 1
0
        public override void RunStarted(object automationObject, Dictionary <string, string> replacementsDictionary, WizardRunKind runKind, object[] customParams)
        {
            base.RunStarted(automationObject, replacementsDictionary, runKind, customParams);

            var source = new ParameterSource(replacementsDictionary);
            var doc    = Helpers.LoadWizardXml(replacementsDictionary);
            var ns     = Helpers.WizardNamespace;

            var model = new ProjectWizardPageModel(source, doc.Root.Elements(ns + "Options").FirstOrDefault());

            if (model.SupportsAppName)
            {
                model.AppName = replacementsDictionary["$projectname$"];
            }
            if (model.RequiresInput)
            {
                var panel  = new ProjectWizardPageView(model);
                var dialog = new BaseDialog {
                    Content = panel, Title = model.Title, ClientSize = new Size(-1, 400), Style = "themed"
                };
                if (!dialog.ShowModal(Helpers.MainWindow))
                {
                    throw new WizardBackoutException();
                }
            }
        }
Exemplo n.º 2
0
        public override void RunStarted(object automationObject, Dictionary <string, string> replacementsDictionary, WizardRunKind runKind, object[] customParams)
        {
            var doc = Helpers.LoadWizardXml(replacementsDictionary);
            var ns  = Helpers.WizardNamespace;

            var model = new OptionsPageModel(doc.Root.Elements(ns + "Options").FirstOrDefault());

            var view   = new OptionsPageView(model);
            var dialog = new BaseDialog {
                Content = view, Title = model.Title
            };

            if (dialog.ShowModal(Helpers.MainWindow))
            {
                foreach (var option in model.Options)
                {
                    var selected = option.Selected;
                    if (selected != null)
                    {
                        foreach (var replacement in selected.Replacements)
                        {
                            if (replacementsDictionary.MatchesCondition(replacement.Condition))
                            {
                                replacementsDictionary[replacement.Name] = replacement.Content;
                            }
                        }
                    }
                }
            }
            else
            {
                throw new WizardBackoutException();
            }
        }
Exemplo n.º 3
0
        public override void RunStarted(object automationObject, Dictionary <string, string> replacementsDictionary, WizardRunKind runKind, object[] customParams)
        {
            Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread();
            base.RunStarted(automationObject, replacementsDictionary, runKind, customParams);

            var source = new ParameterSource(replacementsDictionary);

            var model = new ProjectWizardPageModel(source);

            if (model.SupportsAppName)
            {
                model.AppName = replacementsDictionary["$projectname$"];
            }
            if (model.RequiresInput)
            {
                var panel  = new ProjectWizardPageView(model);
                var dialog = new BaseDialog {
                    Content = panel, Title = model.Title, ClientSize = new Size(-1, 400), Style = "eto.vstheme"
                };
                if (!dialog.ShowModal(Helpers.MainWindow))
                {
                    throw new WizardBackoutException();
                }

                // super hack: Due to a bug in VS we cannot use item templates without it crashing..
                // see Microsoft.VisualStudio.TemplateEngine.Wizard.TemplateEngineWizard.PostInvocationTelemetry
                // for details on why it doesn't work...
                if (customParams[0] is string str && !str.Contains("~PC"))
                {
                    str             = str.Replace("~IC", "~PC");
                    customParams[0] = str;
                }
            }
        }
Exemplo n.º 4
0
		public override void RunStarted(object automationObject, Dictionary<string, string> replacementsDictionary, WizardRunKind runKind, object[] customParams)
		{
			var doc = Helpers.LoadWizardXml(replacementsDictionary);
			var ns = Helpers.WizardNamespace;

			var model = new OptionsPageModel(doc.Root.Elements(ns + "Options").FirstOrDefault());

			var view = new OptionsPageView(model);
			var dialog = new BaseDialog { Content = view, Title = model.Title };
			if (dialog.ShowModal(Helpers.MainWindow))
			{
				foreach (var option in model.Options)
				{
					var selected = option.Selected;
					if (selected != null)
					{
						foreach (var replacement in selected.Replacements)
						{
							if (replacementsDictionary.MatchesCondition(replacement.Condition))
							{
								replacementsDictionary[replacement.Name] = replacement.Content;
							}
						}
					}
				}
			}
			else
				throw new WizardBackoutException();
			
		}
Exemplo n.º 5
0
		public override void RunStarted(object automationObject, Dictionary<string, string> replacementsDictionary, WizardRunKind runKind, object[] customParams)
		{
			base.RunStarted(automationObject, replacementsDictionary, runKind, customParams);

			var source = new ParameterSource(replacementsDictionary);
			var model = new ProjectWizardPageModel(source);
			model.AppName = replacementsDictionary["$projectname$"];
			if (model.RequiresInput)
			{
				var panel = new ProjectWizardPageView(model);
				var dialog = new BaseDialog { Content = panel, Title = model.Title };
				if (!dialog.ShowModal(Helpers.MainWindow))
					throw new WizardBackoutException();
			}
		}
Exemplo n.º 6
0
		public override void RunStarted(object automationObject, Dictionary<string, string> replacementsDictionary, WizardRunKind runKind, object[] customParams)
		{
			base.RunStarted(automationObject, replacementsDictionary, runKind, customParams);

			var source = new ParameterSource(replacementsDictionary);
			var doc = Helpers.LoadWizardXml(replacementsDictionary);
			var ns = Helpers.WizardNamespace;

			var model = new ProjectWizardPageModel(source, doc.Root.Elements(ns + "Options").FirstOrDefault());
			model.AppName = replacementsDictionary["$projectname$"];
			if (model.RequiresInput)
			{
				var panel = new ProjectWizardPageView(model);
				var dialog = new BaseDialog { Content = panel, Title = model.Title, ClientSize = new Size(-1, 400) };
				if (!dialog.ShowModal(Helpers.MainWindow))
					throw new WizardBackoutException();
			}
		}
Exemplo n.º 7
0
        public override void RunStarted(object automationObject, Dictionary <string, string> replacementsDictionary, WizardRunKind runKind, object[] customParams)
        {
            base.RunStarted(automationObject, replacementsDictionary, runKind, customParams);

            var source = new ParameterSource(replacementsDictionary);
            var model  = new ProjectWizardPageModel(source);

            model.AppName = replacementsDictionary["$projectname$"];
            if (model.RequiresInput)
            {
                var panel  = new ProjectWizardPageView(model);
                var dialog = new BaseDialog {
                    Content = panel, Title = model.Title
                };
                if (!dialog.ShowModal(Helpers.MainWindow))
                {
                    throw new WizardBackoutException();
                }
            }
        }