aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/ISolutionItem.cs
blob: ca499b494f98f23e58ab719cf2864ae1476c07dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media.Imaging;

namespace Tango.Scripting.IDE
{
    public interface ISolutionItem
    {
        String Name { get; }

        BitmapSource Image { get; }

        bool CanOpen { get; }

        ObservableCollection<ISolutionItemCommand> Commands { get; set; }
    }
}
; 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 } }