internal void ShowConfiguration(MultiItemSolutionRunConfiguration editedConfig) { var rc = configs.First(ci => ci.EditedConfig == editedConfig); var section = sections [rc]; ParentDialog.ShowPage(section); }
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]); } }
/// <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(); }