aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-04-08 19:19:16 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-04-08 19:19:16 +0300
commit14f6bcfe8debc163d8fe2f172c7e0555b83aeddb (patch)
tree03cbfec93ccc3687f12fb4e747e4ef9225b0bc3b /Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs
parentf1733550ed159387831568ebee4a1fc1d73a62f2 (diff)
parent46cdc21087d55e3bc5ca1d04b183f47bcfb3924f (diff)
downloadTango-14f6bcfe8debc163d8fe2f172c7e0555b83aeddb.tar.gz
Tango-14f6bcfe8debc163d8fe2f172c7e0555b83aeddb.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs')
-rw-r--r--Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs70
1 files changed, 70 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs
new file mode 100644
index 000000000..69cf8034e
--- /dev/null
+++ b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs
@@ -0,0 +1,70 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Media.Imaging;
+using Tango.Core.Commands;
+using Tango.Scripting.IDE.ProjectTypes;
+using Tango.SharedUI;
+using Microsoft.WindowsAPICodePack.Dialogs;
+using Microsoft.Win32;
+
+namespace Tango.Scripting.IDE.Dialogs
+{
+ public class NewProjectViewVM : BaseProjectDialogVM
+ {
+ /// <summary>
+ /// Gets or sets the last solution locations.
+ /// </summary>
+ public ObservableCollection<String> LastSolutionPaths { get; set; }
+
+ private String _solutionName = "App1";
+ public String SolutionName
+ {
+ get { return _solutionName; }
+ set { _solutionName = value; RaisePropertyChangedAuto(); InvalidateRelayCommands(); }
+ }
+
+ #region Commands
+ public RelayCommand BrowseFileCommand { get; set; }
+ #endregion
+
+ public NewProjectViewVM() : base()
+ {
+ Title = "New Project";
+ BrowseFileCommand = new RelayCommand(BrowseFile);
+ }
+
+ public NewProjectViewVM(IEnumerable<String> lastSolutionFolders) : this()
+ {
+ LastSolutionPaths = new ObservableCollection<string>(lastSolutionFolders);
+ ProjectLocation = LastSolutionPaths.FirstOrDefault();
+ }
+
+ private void BrowseFile()
+ {
+ CommonOpenFileDialog dialog = new CommonOpenFileDialog();
+ dialog.InitialDirectory = LastSolutionPaths.LastOrDefault<string>();
+ dialog.IsFolderPicker = true;
+ if (dialog.ShowDialog() == CommonFileDialogResult.Ok)
+ {
+ if (Directory.Exists(dialog.FileName) == true)
+ {
+ if (false == LastSolutionPaths.Contains(dialog.FileName))
+ {
+ LastSolutionPaths.Add(dialog.FileName);
+ }
+ ProjectLocation = dialog.FileName;
+ }
+ }
+ }
+
+ protected override bool CanOK()
+ {
+ return base.CanOK() && !String.IsNullOrWhiteSpace(SolutionName);
+ }
+ }
+}