From 64aeeb1d2784569e4ebf7c72c660458cf4432eee Mon Sep 17 00:00:00 2001 From: Victoria Plitt Date: Thu, 11 Apr 2019 11:24:39 +0300 Subject: Add menu to tree solution --- .../Tango.Scripting.IDE/ScriptIDEViewVM.cs | 27 +++++++++++++--------- 1 file changed, 16 insertions(+), 11 deletions(-) (limited to 'Software/Visual_Studio/Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs') diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs index facebe061..d41de8cd1 100644 --- a/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs @@ -29,7 +29,16 @@ namespace Tango.Scripting.IDE public Solution Solution { get { return _solution; } - set { _solution = value; RaisePropertyChangedAuto(); } + set { + if (_solution != value) + { + if(_solution != null) + _solution.AddProjectEvent -= delegate { AddProject(); }; + _solution = value; + _solution.AddProjectEvent += delegate { AddProject(); }; + RaisePropertyChangedAuto(); + } + } } private IProject _selectedProject; @@ -89,6 +98,7 @@ namespace Tango.Scripting.IDE RegisterProjectType(new UnitTestProjectType()); Solution = new Solution(); + Solution.Name = "Test Solution"; Solution.SolutionLocation = @"C:\Test"; Solution.Projects.Add(_projectTypes.First().NewProject("Test Project.stub")); @@ -147,7 +157,7 @@ namespace Tango.Scripting.IDE /// private async void AddNewProject() { - var vm = await NotificationManager.ShowDialog(new NewProjectViewVM(Settings.LastSolutionLocations)); + var vm = await NotificationManager.ShowDialog(new NewProjectViewVM(Settings.LastSolutionLocations, _projectTypes)); if (vm.DialogResult) { @@ -155,9 +165,8 @@ namespace Tango.Scripting.IDE newSolution.Name = vm.SolutionName; newSolution.SolutionLocation = vm.ProjectLocation; Solution = newSolution; - StringBuilder builder = new StringBuilder(vm.ProjectLocation); - builder.AppendFormat(@"\{0}", vm.ProjectName); - Solution.Projects.Add(vm.SelectedProjectType.NewProject(builder.ToString())); + + Solution.Projects.Add(vm.SelectedProjectType.NewProject(vm.GetFullProjectPath())); Settings.LastSolutionLocations.Insert(0, vm.ProjectLocation); Settings.Save(); @@ -165,18 +174,14 @@ namespace Tango.Scripting.IDE } private async void AddProject() { - var vm = await NotificationManager.ShowDialog(new AddProjectViewVM() + var vm = await NotificationManager.ShowDialog(new AddProjectViewVM(_projectTypes) { ProjectLocation = Solution.SolutionLocation - //ProjectLocation = Path.GetDirectoryName(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)) - //ProjectLocation = "Current Solution folder..." }); if (vm.DialogResult) { - StringBuilder builder = new StringBuilder(vm.ProjectLocation); - builder.AppendFormat(@"\{0}", vm.ProjectName); - Solution.Projects.Add(vm.SelectedProjectType.NewProject(builder.ToString())); + Solution.Projects.Add(vm.SelectedProjectType.NewProject(vm.GetFullProjectPath())); } } public bool IsSolutionProject(IProject SelectedItem) -- cgit v1.3.1