aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Dialogs/BaseProjectDialogVM.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Dialogs/BaseProjectDialogVM.cs')
-rw-r--r--Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Dialogs/BaseProjectDialogVM.cs93
1 files changed, 93 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Dialogs/BaseProjectDialogVM.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Dialogs/BaseProjectDialogVM.cs
new file mode 100644
index 000000000..631aaaed3
--- /dev/null
+++ b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Dialogs/BaseProjectDialogVM.cs
@@ -0,0 +1,93 @@
+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;
+
+namespace Tango.Scripting.IDE.Dialogs
+{
+ public class BaseProjectDialogVM : IDEDialogViewModel
+ {
+ #region properties
+
+ public ObservableCollection<IProjectType> ProjectTypes { get; set; }
+
+ private IProjectType _selectedProjectType = null;
+ public IProjectType SelectedProjectType
+ {
+ get { return _selectedProjectType; }
+ set
+ {
+ _selectedProjectType = value;
+ RaisePropertyChangedAuto();
+ RaisePropertyChanged("LargeImage");
+ RaisePropertyChanged("SelectedDescription");
+ }
+ }
+ private BitmapSource _defaultLargeImage = ProjectType.GetImage("Images/test.png");
+ public BitmapSource LargeImage
+ {
+ get
+ {
+ if (SelectedProjectType != null)
+ return SelectedProjectType.LargeImage;
+ else return _defaultLargeImage;
+ }
+ }
+ public string SelectedDescription
+ {
+ get
+ {
+ if (SelectedProjectType != null)
+ return SelectedProjectType.Description;
+ return "";
+ }
+ }
+ private String _projectName = "App1";
+ public String ProjectName
+ {
+ get { return _projectName; }
+ set { _projectName = value; RaisePropertyChangedAuto(); InvalidateRelayCommands(); }
+ }
+ private String _projectLocation;
+ public String ProjectLocation
+ {
+ get { return _projectLocation; }
+ set { _projectLocation = value; RaisePropertyChangedAuto(); InvalidateRelayCommands(); }
+ }
+ public String GetFullProjectPath()
+ {
+ StringBuilder builder = new StringBuilder(ProjectLocation);
+ builder.AppendFormat(@"{0}\{1}", ProjectLocation, ProjectName);
+ return builder.ToString();
+ }
+ #endregion
+
+ #region constructor
+
+ public BaseProjectDialogVM(List<IProjectType> project_types) : base()
+ {
+ ProjectTypes = new ObservableCollection<IProjectType>();
+ project_types.ForEach(ProjectTypes.Add);
+ _selectedProjectType = ProjectTypes.FirstOrDefault();
+ }
+
+ #endregion
+
+ #region Override Methods
+
+ protected override bool CanOK()
+ {
+ return !String.IsNullOrWhiteSpace(ProjectLocation) && !String.IsNullOrWhiteSpace(ProjectName);
+ }
+
+ #endregion
+
+ }
+}