From c4b03559eec69b2c69048dc88ed42ea1969b8d52 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Sun, 17 Mar 2019 18:47:20 +0200 Subject: Fixed issue with Machine Studio Resume. Worked on Scripting IDE. --- .../Controls/SolutionItemControl.cs | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Controls/SolutionItemControl.cs (limited to 'Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Controls') diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Controls/SolutionItemControl.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Controls/SolutionItemControl.cs new file mode 100644 index 000000000..ad6c65f22 --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Controls/SolutionItemControl.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tango.Scripting.IDE.Controls +{ + public class SolutionItemControl : Control + { + public ISolutionItem SolutionItem + { + get { return (ISolutionItem)GetValue(SolutionItemProperty); } + set { SetValue(SolutionItemProperty, value); } + } + public static readonly DependencyProperty SolutionItemProperty = + DependencyProperty.Register("SolutionItem", typeof(ISolutionItem), typeof(SolutionItemControl), new PropertyMetadata(null)); + + public ICommand OpenCommand + { + get { return (ICommand)GetValue(OpenCommandProperty); } + set { SetValue(OpenCommandProperty, value); } + } + public static readonly DependencyProperty OpenCommandProperty = + DependencyProperty.Register("OpenCommand", typeof(ICommand), typeof(SolutionItemControl), new PropertyMetadata(null)); + + static SolutionItemControl() + { + DefaultStyleKeyProperty.OverrideMetadata(typeof(SolutionItemControl), new FrameworkPropertyMetadata(typeof(SolutionItemControl))); + } + + public SolutionItemControl() + { + PreviewMouseDoubleClick += (_, __) => + { + if (SolutionItem.CanOpen) + { + OpenCommand?.Execute(SolutionItem); + } + }; + } + } +} -- cgit v1.3.1 From 977d88f94cfb192d09f0253aaf3442f2c17e60f2 Mon Sep 17 00:00:00 2001 From: Victoria Plitt Date: Thu, 21 Mar 2019 16:42:45 +0200 Subject: Added base styles for top tabControl, menu and toolbar --- .../Tango.Scripting.IDE.UI/MainWindow.xaml | 2 +- .../Controls/SharedResourceDictionary.cs | 55 ++++ .../Tango.Scripting.IDE/Controls/TabConrolClose.cs | 26 ++ .../Tango.Scripting.IDE/Images/SaveAll_16x.png | Bin 0 -> 247 bytes .../Tango.Scripting.IDE/Images/Save_16x.png | Bin 0 -> 279 bytes .../ProjectTypes/StubProjectType.cs | 1 + .../Tango.Scripting.IDE/ScriptIDEView.xaml | 1 + .../Tango.Scripting.IDE/ScriptIDEView2.xaml | 135 ++++++++++ .../Tango.Scripting.IDE/ScriptIDEView2.xaml.cs | 61 +++++ .../Tango.Scripting.IDE/Tango.Scripting.IDE.csproj | 41 +++ .../Themes/DarkThemesColors.xaml | 39 +++ .../Tango.Scripting.IDE/Themes/Generic.xaml | 16 +- .../Themes/LightThemesColors.xaml | 15 ++ .../Tango.Scripting.IDE/Themes/MenuDict.xaml | 179 +++++++++++++ .../Tango.Scripting.IDE/Themes/Shared.xaml | 7 + .../Tango.Scripting.IDE/Themes/TabConrolStyle.xaml | 280 +++++++++++++++++++++ .../Tango.Scripting.IDE/Themes/ToolbarStyle.xaml | 192 ++++++++++++++ 17 files changed, 1046 insertions(+), 4 deletions(-) create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Controls/SharedResourceDictionary.cs create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Controls/TabConrolClose.cs create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/SaveAll_16x.png create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Save_16x.png create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml.cs create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/DarkThemesColors.xaml create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/LightThemesColors.xaml create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/MenuDict.xaml create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/Shared.xaml create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/TabConrolStyle.xaml create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ToolbarStyle.xaml (limited to 'Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Controls') diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/MainWindow.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/MainWindow.xaml index 2bc6100ce..032d38c81 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/MainWindow.xaml +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/MainWindow.xaml @@ -9,6 +9,6 @@ mc:Ignorable="d" Title="MainWindow" Height="720" Width="1280" d:DataContext="{d:DesignInstance Type=local:MainWindowVM, IsDesignTimeCreatable=False}" TitlebarHeight="40" TitleCaps="False" BorderBrush="Gray" BorderThickness="1" WindowStartupLocation="CenterScreen"> - + diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Controls/SharedResourceDictionary.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Controls/SharedResourceDictionary.cs new file mode 100644 index 000000000..a163355c4 --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Controls/SharedResourceDictionary.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows; + +namespace Tango.Scripting.IDE.Controls +{ + + /// + /// The shared resource dictionary is a specialized resource dictionary + /// that loads it content only once. If a second instance with the same source + /// is created, it only merges the resources from the cache. + /// + public class SharedResourceDictionary : ResourceDictionary + { + /// + /// Internal cache of loaded dictionaries + /// + public static Dictionary _sharedDictionaries = + new Dictionary(); + + /// + /// Local member of the source uri + /// + private Uri _sourceUri; + + /// + /// Gets or sets the uniform resource identifier (URI) to load resources from. + /// + public new Uri Source + { + get { return _sourceUri; } + set + { + _sourceUri = value; + + if (!_sharedDictionaries.ContainsKey(value)) + { + // If the dictionary is not yet loaded, load it by setting + // the source of the base class + base.Source = value; + + // add it to the cache + _sharedDictionaries.Add(value, this); + } + else + { + // If the dictionary is already loaded, get it from the cache + MergedDictionaries.Add(_sharedDictionaries[value]); + } + } + } + } +} \ No newline at end of file diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Controls/TabConrolClose.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Controls/TabConrolClose.cs new file mode 100644 index 000000000..7130733e5 --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Controls/TabConrolClose.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tango.Scripting.IDE.Controls +{ + + public class TabConrolClose : TabControl + { + static TabConrolClose() + { + DefaultStyleKeyProperty.OverrideMetadata(typeof(TabConrolClose), new FrameworkPropertyMetadata(typeof(TabConrolClose))); + } + } +} diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/SaveAll_16x.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/SaveAll_16x.png new file mode 100644 index 000000000..b6aa83878 Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/SaveAll_16x.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Save_16x.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Save_16x.png new file mode 100644 index 000000000..d849e29e7 Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Save_16x.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/StubProjectType.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/StubProjectType.cs index e5947a38e..4450f4a39 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/StubProjectType.cs +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/StubProjectType.cs @@ -34,6 +34,7 @@ namespace Tango.Scripting.IDE.ProjectTypes project.Items.Add(referenceAssembliesItem); project.Items.Add(new CSharpScriptItem() { Name = "main.csx" }); + project.Items.Add(new CSharpScriptItem() { Name = "next.csx" }); return project; } diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView.xaml index 7fc5bf930..587997450 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView.xaml +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView.xaml @@ -55,6 +55,7 @@ + diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml new file mode 100644 index 000000000..218686f5d --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml.cs new file mode 100644 index 000000000..cdbea2199 --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tango.Scripting.IDE.Dialogs +{ + /// + /// Interaction logic for AddNewControl.xaml + /// + public partial class AddNewControl : UserControl + { + public AddNewControl() + { + InitializeComponent(); + } + + } +} diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml index 7942a7165..9fa8422c9 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml @@ -1,12 +1,35 @@ - - - + Title="Add New Project" + WindowStyle="ToolWindow" + ResizeMode="NoResize" ShowInTaskbar="False" WindowStartupLocation="CenterScreen" + FontSize="12" + Height="630" Width="950" > + + + + + + + + + + + + + + + + + + + + - + diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs index 376190e3a..f3e05e35f 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs @@ -1,4 +1,5 @@ -using System; + +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -18,11 +19,34 @@ namespace Tango.Scripting.IDE.Dialogs /// /// Interaction logic for NewProjectDialog.xaml /// - public partial class NewProjectDialog : UserControl + public partial class NewProjectDialog : Window { - public NewProjectDialog() + static string _sAddNewProjectTitle = "Add New Project"; + static string _sNewProjectTitle = "New Project"; + protected bool _bNewProject; + + + public NewProjectDialog(bool bNewProject) { + _bNewProject = bNewProject; + InitializeComponent(); + Title = bNewProject ? _sAddNewProjectTitle : _sNewProjectTitle; + + } + private void CancelDialog(object sender, RoutedEventArgs e) + { + // Dialog box canceled + DialogResult = false; + } + + private void OKDialog(object sender, RoutedEventArgs e) + { + // Don't accept the dialog box if there is invalid data + // if (!IsValid(this)) return; + + // Dialog box accepted + DialogResult = true; } } } diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs index 3c25e70f3..f7e31b75a 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs @@ -1,14 +1,92 @@ 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.Scripting.IDE.ProjectTypes; using Tango.SharedUI; namespace Tango.Scripting.IDE.Dialogs { - public class NewProjectDialogVM : ViewModel + public class NewProjectDialogVM : DialogViewVM { + public ObservableCollection ProjectTypes { get; set; } + public List Locations { 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(); } + } + private String _projectLocation; + public String ProjectLocation + { + get { return _projectLocation; } + set { _projectLocation = value; RaisePropertyChangedAuto(); } + } + + private String _solutionName = "App1"; + public String SolutionName + { + get { return _solutionName; } + set { _solutionName = value; RaisePropertyChangedAuto(); } + } + public NewProjectDialogVM() : base() + { + ProjectTypes = new ObservableCollection(); + RegisterProjectType(new StubProjectType()); + RegisterProjectType(new UnitTestProjectType()); + + _selectedProjectType = ProjectTypes.FirstOrDefault(); + + string workingDirectory = Environment.CurrentDirectory; + _projectLocation = Directory.GetParent(workingDirectory).Parent.Parent.FullName; + + Locations = new List(); + Locations.Add(_projectLocation); + + } + public void RegisterProjectType(IProjectType projectType) + { + ProjectTypes.Add(projectType); + } + + public void UnRegisterProjectItemHandler(IProjectType projectType) + { + ProjectTypes.Remove(projectType); + } } } diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IProjectType.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IProjectType.cs index ed9ff51a8..19a234db3 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IProjectType.cs +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IProjectType.cs @@ -16,6 +16,7 @@ namespace Tango.Scripting.IDE String Description { get; } - BitmapSource Image { get; } + BitmapSource SmallImage { get; } + BitmapSource LargeImage { get; } } } diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist.png new file mode 100644 index 000000000..fc3e7a416 Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist_white126.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist_white126.png new file mode 100644 index 000000000..a49c21379 Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist_white126.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist_white_32.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist_white_32.png new file mode 100644 index 000000000..e904220a7 Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist_white_32.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/storyboard_white32.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/storyboard_white32.png new file mode 100644 index 000000000..875611302 Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/storyboard_white32.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/storyboard_white_126.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/storyboard_white_126.png new file mode 100644 index 000000000..a06e8e1c8 Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/storyboard_white_126.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/test.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/test.png new file mode 100644 index 000000000..1d60a840f Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/test.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectType.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectType.cs new file mode 100644 index 000000000..4b3f6085b --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectType.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +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 ProjectType : IProjectType + { + private static Dictionary _imageCache; + + static ProjectType() + { + _imageCache = new Dictionary(); + } + + public abstract string Name { get; } + public abstract string Description { get; } + public abstract BitmapSource SmallImage { get; } + public abstract BitmapSource LargeImage { get; } + + public 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 abstract IProject NewProject(string projectPath); + } +} diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/StubProjectType.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/StubProjectType.cs index 4450f4a39..b26d45cff 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/StubProjectType.cs +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/StubProjectType.cs @@ -10,9 +10,9 @@ using Tango.Scripting.IDE.Projects; namespace Tango.Scripting.IDE.ProjectTypes { - public class StubProjectType : IProjectType + public class StubProjectType : ProjectType { - public IProject NewProject(string projectPath) + public override IProject NewProject(string projectPath) { StubProject project = new StubProject(); @@ -39,8 +39,9 @@ namespace Tango.Scripting.IDE.ProjectTypes return project; } - public string Name => "Unit Test Project"; - public string Description => "Create a unit test project template."; - public BitmapSource Image { get; } + public override string Name => "Stub Project"; + public override string Description => "Create a stub project template."; + public override BitmapSource SmallImage => GetImage("Images/storyboard_white32.png"); + public override BitmapSource LargeImage => GetImage("Images/storyboard_white_126.png"); } } diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/UnitTestProjectType.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/UnitTestProjectType.cs index 4519e5aca..01926a2ba 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/UnitTestProjectType.cs +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/UnitTestProjectType.cs @@ -10,9 +10,9 @@ using Tango.Scripting.IDE.Projects; namespace Tango.Scripting.IDE.ProjectTypes { - public class UnitTestProjectType : IProjectType + public class UnitTestProjectType : ProjectType { - public IProject NewProject(string projectPath) + public override IProject NewProject(string projectPath) { UnitTestProject project = new UnitTestProject(); @@ -36,8 +36,10 @@ namespace Tango.Scripting.IDE.ProjectTypes return project; } - public string Name => "Unit Test Project"; - public string Description => "Create a unit test project template."; - public BitmapSource Image { get; } + public override string Name => "Unit Test Project"; + public override string Description => "Create a unit test project template."; + public override BitmapSource SmallImage => GetImage("Images/checklist_white_32.png"); + public override BitmapSource LargeImage => GetImage("Images/checklist_white126.png"); + } } diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml index a28101a17..e2f7de2ad 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml @@ -24,7 +24,10 @@ - + + + + @@ -111,8 +114,19 @@ - error list - output + + + + + + + + @@ -122,7 +136,7 @@ - + diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs index e52b58775..634b4d64d 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs @@ -4,7 +4,10 @@ using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; +using System.Windows; +using System.Windows.Media.Imaging; using Tango.Core.Commands; +using Tango.Scripting.IDE.Controls; using Tango.Scripting.IDE.Projects; using Tango.Scripting.IDE.ProjectTypes; using Tango.SharedUI; @@ -14,6 +17,7 @@ namespace Tango.Scripting.IDE public class ScriptIDEViewVM : ViewModel { private List _projectTypes; + public ObservableCollection ErrorList { get; set; } #region Properties @@ -44,11 +48,11 @@ namespace Tango.Scripting.IDE get { return _openProjectItems; } set { _openProjectItems = value; RaisePropertyChangedAuto(); } } - + #endregion #region Commands - + public RelayCommand NewProjectCommand { get; set; } public RelayCommand OpenProjectItemCommand { get; set; } public RelayCommand CloseProjectItemCommand { get; set; } @@ -61,13 +65,16 @@ namespace Tango.Scripting.IDE { _projectTypes = new List(); OpenProjectItems = new ObservableCollection(); + ErrorList = new ObservableCollection(); RegisterProjectType(new StubProjectType()); + RegisterProjectType(new UnitTestProjectType()); Solution = new Solution(); Solution.Projects.Add(_projectTypes.First().NewProject("Test Project.stub")); //Init Commands + NewProjectCommand = new RelayCommand(AddNewProject); OpenProjectItemCommand = new RelayCommand(OpenProjectItem); CloseProjectItemCommand = new RelayCommand(CloseProjectItem); } @@ -102,7 +109,17 @@ namespace Tango.Scripting.IDE { _projectTypes.Remove(projectType); } - + /// + /// Open a dialog to create a new project + /// + private void AddNewProject() + { + Dialogs.NewProjectDialog dialog = new Dialogs.NewProjectDialog(true); + if(dialog.ShowDialog() == true) + { + MessageBox.Show("You said: OK"); + } + } #endregion } } diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Tango.Scripting.IDE.csproj b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Tango.Scripting.IDE.csproj index 5dde283e0..645978cac 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Tango.Scripting.IDE.csproj +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Tango.Scripting.IDE.csproj @@ -37,6 +37,7 @@ ..\packages\MahApps.Metro.1.5.0\lib\net45\MahApps.Metro.dll + @@ -65,9 +66,13 @@ + + + AddNewControl.xaml + NewProjectDialog.xaml @@ -86,6 +91,7 @@ + @@ -97,6 +103,11 @@ + + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -117,6 +128,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -125,6 +140,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + MSBuild:Compile Designer @@ -137,6 +156,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -216,5 +239,21 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ButtonStyle.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ButtonStyle.xaml new file mode 100644 index 000000000..21ed3b4b8 --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ButtonStyle.xaml @@ -0,0 +1,52 @@ + + + + + + \ No newline at end of file diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/DarkThemesColors.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/DarkThemesColors.xaml index 867c89032..011b26c0d 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/DarkThemesColors.xaml +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/DarkThemesColors.xaml @@ -11,6 +11,8 @@ + + @@ -62,4 +64,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/DataGridStyle.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/DataGridStyle.xaml new file mode 100644 index 000000000..5ec4c7ff4 --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/DataGridStyle.xaml @@ -0,0 +1,248 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ScrollViewerStyle.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ScrollViewerStyle.xaml new file mode 100644 index 000000000..56c047424 --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ScrollViewerStyle.xaml @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/Shared.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/Shared.xaml index fd5dc19dd..9b196411b 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/Shared.xaml +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/Shared.xaml @@ -7,5 +7,8 @@ + + + \ No newline at end of file diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ViewModelLocator.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ViewModelLocator.cs new file mode 100644 index 000000000..71cb6cd19 --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ViewModelLocator.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.Core.DI; +using Tango.Scripting.IDE.Dialogs; + +namespace Tango.Scripting.IDE +{ + /// + /// This class contains static references to all the view models in the + /// application and provides an entry point for the bindings. + /// + public static class ViewModelLocator + { + /// + /// Initializes a new instance of the ViewModelLocator class. + /// + static ViewModelLocator() + { + TangoIOC.Default.Register(); + } + + public static NewProjectDialogVM NewProjectDialogVM + { + get + { + return TangoIOC.Default.GetInstance(); + } + } + } +} -- cgit v1.3.1