aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.IDE.UI/App.config
blob: aa58e3cac91b177dfe3a944d07c8f4016aa801b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
    </startup>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

    </assemblyBinding>
  </runtime>
</configuration>
; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
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.SharedUI.Helpers;

namespace Tango.Scripting.IDE
{
    public abstract class Project : IProject
    {
        private static Dictionary<String, BitmapSource> _imageCache;

        static Project()
        {
            _imageCache = new Dictionary<string, BitmapSource>();
        }

        public string FilePath { get; set; }

        public string WorkingFolder => Path.GetDirectoryName(FilePath);

        public string Name => Path.GetFileNameWithoutExtension(FilePath);

        public abstract BitmapSource Image { get; }

        public ObservableCollection<IProjectItem> Items { get; set; }

        public Project()
        {
            Items = new ObservableCollection<IProjectItem>();
        }

        public abstract Task Build();
        public abstract Task Run();

        protected static BitmapSource GetImage(String name)
        {
            if (_imageCache.ContainsKey(name))
            {
                return _imageCache[name];
            }
            else
            {
                var image = ResourceHelper.GetImageFromResources(name);
                _imageCache.Add(name, image);
                return image;
            }
        }

        public bool CanOpen => false;
    }
}