diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2019-04-23 22:25:54 +0300 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2019-04-23 22:25:54 +0300 |
| commit | ebcb9ce27131e4bbd14c96b5f897a67bc752aaeb (patch) | |
| tree | 293aee8b1751ce7fce542645722c0f1a96b73097 /Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Project.cs | |
| parent | 52967e858bd52621208f6360e84f4c47ec435816 (diff) | |
| parent | 636ad730569dfef1a4ee04c8d716d510bcc47ee1 (diff) | |
| download | Tango-ebcb9ce27131e4bbd14c96b5f897a67bc752aaeb.tar.gz Tango-ebcb9ce27131e4bbd14c96b5f897a67bc752aaeb.zip | |
merge alarm handling from remote
Diffstat (limited to 'Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Project.cs')
| -rw-r--r-- | Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Project.cs | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Project.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Project.cs new file mode 100644 index 000000000..6392ddcb7 --- /dev/null +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Project.cs @@ -0,0 +1,120 @@ +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 + { + #region properties + private static Dictionary<String, BitmapSource> _imageCache; + 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 ObservableCollection<ISolutionItemCommand> Commands { get; set; } + #endregion + + #region constructors + static Project() + { + _imageCache = new Dictionary<string, BitmapSource>(); + } + + public Project() + { + Items = new ObservableCollection<IProjectItem>(); + Commands = new ObservableCollection<ISolutionItemCommand> + { + new SolutionItemCommand(BuildProject) { Name = "Build", Image= GetImage(@"Images/BuildSolution_16x.png") }, + new SolutionItemCommand(SetStartUpProject) { Name = "Set as StartUp Project" , Image= GetImage(@"Images/Settings_Inverse_16x.png")}, + new SolutionItemCommand(Remove) { Name = "Remove" , Image= GetImage(@"Images/deletered_16.png")}, + new SolutionItemCommand(Rename) { Name = "Rename", Image= GetImage(@"Images/Rename_16x.png") }, + new SolutionItemCommand(OpenFolderInFileExplorer) { Name = "Open Folder In File Explorer", Image= GetImage(@"Images/Open_16x.png") }, + new SolutionItemCommand() + { + Name = "Add...", + Commands = new ObservableCollection<ISolutionItemCommand> + { + new SolutionItemCommand(AddNewScript) { Name = "Add New Script" }, + new SolutionItemCommand(AddExistingScript) { Name = "Add Existing Script" }, + } + } + }; + } + #endregion + + + + #region Commands + private void BuildProject() + { + + } + private void SetStartUpProject() + { + + } + private void Remove() + { + + } + private void Rename() + { + + } + private void OpenFolderInFileExplorer() + { + + } + /// <summary> + /// Adds a new script file of type IProjectItem to the current project. + /// </summary> + private void AddNewScript() + { + + } + /// <summary> + /// Adds the existing script file to the current project. + /// </summary> + private void AddExistingScript() + { + + } + #endregion + + #region Build_Run + public abstract Task Build(); + public abstract Task Run(); + #endregion + + #region generic_functions + 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; + #endregion + } +} |
