internal void ShowConfiguration(MultiItemSolutionRunConfiguration editedConfig)
        {
            var rc      = configs.First(ci => ci.EditedConfig == editedConfig);
            var section = sections [rc];

            ParentDialog.ShowPage(section);
        }
Esempio n. 2
0
        protected override void Run()
        {
            var sol = IdeApp.ProjectOperations.CurrentSelectedSolution;

            if (sol != null)
            {
                MultiItemSolutionRunConfiguration config = null;
                if (!sol.MultiStartupRunConfigurations.Any())
                {
                    Xwt.Toolkit.NativeEngine.Invoke(() => {
                        using (var dlg = new NewSolutionRunConfigurationDialog()) {
                            if (dlg.Run(IdeServices.DesktopService.GetFocusedTopLevelWindow()).Id == "create")
                            {
                                config = new MultiItemSolutionRunConfiguration(dlg.RunConfigurationName, dlg.RunConfigurationName);
                                sol.MultiStartupRunConfigurations.Add(config);
                                sol.StartupConfiguration = config;
                            }
                        }
                    });
                }
                else
                {
                    config = sol.MultiStartupRunConfigurations.FirstOrDefault();
                }

                // Show run configurations dialog
                if (config != null)
                {
                    IdeApp.ProjectOperations.ShowRunConfiguration(sol, config);
                }
            }
        }
        internal void RemoveConfiguration(MultiItemSolutionRunConfiguration editedConfig)
        {
            var c = configs.First(ci => ci.EditedConfig == editedConfig);

            configs.Remove(c);
            RemovePanel(c);
        }
        internal void AddConfiguration(MultiItemSolutionRunConfiguration editedConfig)
        {
            var c = new SolutionRunConfigInfo {
                EditedConfig = editedConfig
            };

            configs.Add(c);
            AddPanel(c);
        }
        internal void ReplaceConfiguration(MultiItemSolutionRunConfiguration oldConf, MultiItemSolutionRunConfiguration newConf)
        {
            var i    = configs.FindIndex(ci => ci.EditedConfig == oldConf);
            var oldc = configs [i];
            var newc = new SolutionRunConfigInfo {
                EditedConfig = newConf
            };

            configs [i] = newc;
            RemovePanel(oldc);
            AddPanel(newc);
        }
        void OnAddConfiguration(object sender, EventArgs e)
        {
            var okCommand = new Command(GettextCatalog.GetString("Create"));

            using (var dlg = new RunConfigurationNameDialog(ParentWindow, "", okCommand, panel.Configurations.Select(c => c.EditedConfig.Name))) {
                dlg.Title = GettextCatalog.GetString("New Configuration");
                if (dlg.Run() == okCommand)
                {
                    var config = new MultiItemSolutionRunConfiguration(dlg.NewName, dlg.NewName);
                    panel.AddConfiguration(config);
                    Fill();
                }
            }
        }
        void OnRenameConfiguration(object sender, EventArgs e)
        {
            var config    = (MultiItemSolutionRunConfiguration)list.SelectedConfiguration;
            var okCommand = new Command(GettextCatalog.GetString("Rename"));

            using (var dlg = new RunConfigurationNameDialog(ParentWindow, config.Name, okCommand, panel.Configurations.Select(c => c.EditedConfig.Name))) {
                dlg.Title = GettextCatalog.GetString("Rename Configuration");
                if (dlg.Run() != Command.Cancel)
                {
                    var copy = new MultiItemSolutionRunConfiguration(config, dlg.NewName);
                    panel.ReplaceConfiguration(config, copy);
                    Fill();
                }
            }
        }
        public void GetBuildTargetsForExecution_Solution_MultiItemRunConfiguration()
        {
            using (var executionDep = new ProjectWithExecutionDeps("Dependency"))
                using (var executing = new ProjectWithExecutionDeps("Executing"))
                    using (var sln = CreateSimpleSolutionWithItems(executionDep, executing)) {
                        var runConfig = new MultiItemSolutionRunConfiguration();
                        runConfig.Items.Add(new StartupItem(executing, null));
                        runConfig.Items.Add(new StartupItem(executionDep, null));

                        var targets = ProjectOperations.GetBuildTargetsForExecution(sln, runConfig);

                        Assert.AreEqual(2, targets.Length);
                        Assert.AreEqual(executing, targets [0]);
                        Assert.AreEqual(executionDep, targets [1]);
                    }
        }
Esempio n. 9
0
        /// <summary>
        /// Adds MultiStartupConfiguration when there are
        /// more than one project and one of them is a Backend project
        /// </summary>
        /// <param name="solution">Solution.</param>
        void CreateMultiProjectStartUp(Solution solution)
        {
            if (Parameters.GetBoolValue("CreateBackEndProject") != true || Parameters.GetBoolValue("IncludeBackEndProject") != true)
            {
                return;
            }

            var config = new MultiItemSolutionRunConfiguration("multiprojId", GettextCatalog.GetString("Multiple Projects"));

            foreach (var proj in solution.GetAllProjects())
            {
                if (!proj.SupportsExecute())
                {
                    continue;
                }
                var startupItem = new StartupItem(proj, null);
                config.Items.Add(startupItem);
            }

            solution.MultiStartupRunConfigurations.Add(config);
            solution.StartupConfiguration = config;

            solution.SaveAsync(new ProgressMonitor()).Ignore();
        }