diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2019-05-05 10:31:06 +0300 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2019-05-05 10:31:06 +0300 |
| commit | 79bd7bb6a22f1da1a77fcc3f527a0955028f2447 (patch) | |
| tree | 3e1c30dbbf7b6ccf70aa5631ad2f42ee356b4e25 /Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Dialogs/BaseProjectDialogVM.cs | |
| parent | 4129b6caa72f8bafeeefe1a4a88a0d5e1568e245 (diff) | |
| parent | 661c55343a468a9c150e8d163711567f89a02889 (diff) | |
| download | Tango-79bd7bb6a22f1da1a77fcc3f527a0955028f2447.tar.gz Tango-79bd7bb6a22f1da1a77fcc3f527a0955028f2447.zip | |
merge tpf
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.cs | 93 |
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 + + } +} |
