aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs
diff options
context:
space:
mode:
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);
+ }
+ }
+}