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/ScriptIDEView2.xaml | 135 +++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml (limited to 'Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml') 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -120,8 +121,8 @@ - - + + diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ComboboxStyle.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ComboboxStyle.xaml index a02292d95..503f8c20c 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ComboboxStyle.xaml +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ComboboxStyle.xaml @@ -64,7 +64,7 @@ - - + - + + M 0,5.1 L 1.7,5.2 L 3.4,7.1 L 8,0.4 L 9.2,0 L 3.3,10.8 Z @@ -146,24 +169,6 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name: + + Location + + + + + Solution name: + + + + + + + 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 From 471a285bde55ce048485361543458d281b931424 Mon Sep 17 00:00:00 2001 From: Victoria Plitt Date: Sun, 31 Mar 2019 16:39:56 +0300 Subject: Added new Images to AddNewControl and to ToolBar --- .../Tango.Scripting.IDE/Dialogs/AddNewControl.xaml | 12 ++-- .../Dialogs/NewProjectDialog.xaml | 2 +- .../Dialogs/NewProjectDialog.xaml.cs | 10 ++++ .../Dialogs/NewProjectDialogVM.cs | 3 + .../Images/NewFileCollection_16x.png | Bin 284 -> 267 bytes .../Tango.Scripting.IDE/Images/OpenFolder_16x.png | Bin 348 -> 336 bytes .../Tango.Scripting.IDE/Images/Pause_16x.png | Bin 0 -> 218 bytes .../Tango.Scripting.IDE/Images/Redo_16x.png | Bin 0 -> 229 bytes .../Tango.Scripting.IDE/Images/SaveAll_16x.png | Bin 251 -> 268 bytes .../Images/SaveStatusBar9_16x.png | Bin 256 -> 239 bytes .../Tango.Scripting.IDE/Images/Save_16x.png | Bin 221 -> 225 bytes .../Tango.Scripting.IDE/Images/Undo_16x.png | Bin 0 -> 237 bytes .../Tango.Scripting.IDE/Images/algorithm.png | Bin 0 -> 1664 bytes .../Tango.Scripting.IDE/Images/checklist.png | Bin 1053 -> 0 bytes .../Images/checklist_white126.png | Bin 4060 -> 0 bytes .../Tango.Scripting.IDE/Images/clipboard.png | Bin 0 -> 1028 bytes .../Images/redo-arrow-symbol.png | Bin 0 -> 525 bytes .../Images/redo-arrow-symbol1.png | Bin 0 -> 491 bytes .../Tango.Scripting.IDE/Images/stop.png | Bin 0 -> 205 bytes .../Images/storyboard_white32.png | Bin 1269 -> 0 bytes .../Images/storyboard_white_126.png | Bin 4406 -> 0 bytes .../Images/stub_project_126.png | Bin 0 -> 4406 bytes .../Tango.Scripting.IDE/Images/stub_project_32.png | Bin 0 -> 1793 bytes .../Images/stub_project_whit_32.png | Bin 0 -> 1269 bytes .../Tango.Scripting.IDE/Images/unitTest.png | Bin 0 -> 1965 bytes .../Tango.Scripting.IDE/Images/unitTest_126.png | Bin 0 -> 4060 bytes .../ProjectTypes/StubProjectType.cs | 4 +- .../ProjectTypes/UnitTestProjectType.cs | 4 +- .../Tango.Scripting.IDE/ScriptIDEView2.xaml | 61 +++++++++++++++++++-- .../Tango.Scripting.IDE/ScriptIDEViewVM.cs | 9 ++- .../Tango.Scripting.IDE/Tango.Scripting.IDE.csproj | 34 +++++++++--- 31 files changed, 114 insertions(+), 25 deletions(-) create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Pause_16x.png create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Redo_16x.png create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Undo_16x.png create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/algorithm.png delete mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist.png delete mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist_white126.png create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/clipboard.png create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/redo-arrow-symbol.png create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/redo-arrow-symbol1.png create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stop.png delete mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/storyboard_white32.png delete mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/storyboard_white_126.png create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stub_project_126.png create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stub_project_32.png create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stub_project_whit_32.png create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/unitTest.png create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/unitTest_126.png (limited to 'Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml') diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml index e5857e5a5..e49925dad 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml @@ -26,6 +26,7 @@ + @@ -115,13 +116,14 @@ Name: - Location - + + + - - Solution name: - + 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 f3e05e35f..24c9511e7 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 @@ -32,8 +32,18 @@ namespace Tango.Scripting.IDE.Dialogs InitializeComponent(); Title = bNewProject ? _sAddNewProjectTitle : _sNewProjectTitle; + Loaded += DialogLoaded; + } + private void DialogLoaded(object sender, RoutedEventArgs e) + { + if (AddNewControl.DataContext is NewProjectDialogVM) + { + (AddNewControl.DataContext as NewProjectDialogVM).IsNewSolutionDialog = _bNewProject; + } + } + private void CancelDialog(object sender, RoutedEventArgs e) { // Dialog box canceled 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 f7e31b75a..1dd0e3205 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 @@ -64,6 +64,9 @@ namespace Tango.Scripting.IDE.Dialogs get { return _solutionName; } set { _solutionName = value; RaisePropertyChangedAuto(); } } + + bool _isNewSolutionDialog = false; + public bool IsNewSolutionDialog { get { return _isNewSolutionDialog; } set { _isNewSolutionDialog = value; RaisePropertyChangedAuto(); } } public NewProjectDialogVM() : base() { ProjectTypes = new ObservableCollection(); diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/NewFileCollection_16x.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/NewFileCollection_16x.png index 8c383c1fc..bc5cef828 100644 Binary files a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/NewFileCollection_16x.png and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/NewFileCollection_16x.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/OpenFolder_16x.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/OpenFolder_16x.png index 15795d522..9ba3e52d2 100644 Binary files a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/OpenFolder_16x.png and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/OpenFolder_16x.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Pause_16x.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Pause_16x.png new file mode 100644 index 000000000..10cdfb53c Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Pause_16x.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Redo_16x.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Redo_16x.png new file mode 100644 index 000000000..331e15706 Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Redo_16x.png differ 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 index fea4fb0e1..aaffd1174 100644 Binary files a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/SaveAll_16x.png 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/SaveStatusBar9_16x.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/SaveStatusBar9_16x.png index 971471c89..ea9c23f2a 100644 Binary files a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/SaveStatusBar9_16x.png and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/SaveStatusBar9_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 index a88b09b5a..cbc55c22e 100644 Binary files a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Save_16x.png 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/Images/Undo_16x.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Undo_16x.png new file mode 100644 index 000000000..3c563e72f Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Undo_16x.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/algorithm.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/algorithm.png new file mode 100644 index 000000000..ab6b4c30f Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/algorithm.png differ 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 deleted file mode 100644 index fc3e7a416..000000000 Binary files a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist.png and /dev/null 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 deleted file mode 100644 index a49c21379..000000000 Binary files a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist_white126.png and /dev/null differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/clipboard.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/clipboard.png new file mode 100644 index 000000000..22a9c8ee4 Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/clipboard.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/redo-arrow-symbol.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/redo-arrow-symbol.png new file mode 100644 index 000000000..16c9b0194 Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/redo-arrow-symbol.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/redo-arrow-symbol1.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/redo-arrow-symbol1.png new file mode 100644 index 000000000..ba64d6a89 Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/redo-arrow-symbol1.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stop.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stop.png new file mode 100644 index 000000000..7d1b1551a Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stop.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 deleted file mode 100644 index 875611302..000000000 Binary files a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/storyboard_white32.png and /dev/null 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 deleted file mode 100644 index a06e8e1c8..000000000 Binary files a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/storyboard_white_126.png and /dev/null differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stub_project_126.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stub_project_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/stub_project_126.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stub_project_32.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stub_project_32.png new file mode 100644 index 000000000..4dc3d53e5 Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stub_project_32.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stub_project_whit_32.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stub_project_whit_32.png new file mode 100644 index 000000000..875611302 Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stub_project_whit_32.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/unitTest.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/unitTest.png new file mode 100644 index 000000000..fcc6a4fb7 Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/unitTest.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/unitTest_126.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/unitTest_126.png new file mode 100644 index 000000000..a49c21379 Binary files /dev/null and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/unitTest_126.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 b26d45cff..42e40756e 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 @@ -41,7 +41,7 @@ namespace Tango.Scripting.IDE.ProjectTypes 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"); + public override BitmapSource SmallImage => GetImage("Images/stub_project_32.png"); + public override BitmapSource LargeImage => GetImage("Images/stub_project_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 01926a2ba..c4cdcc6ab 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 @@ -38,8 +38,8 @@ namespace Tango.Scripting.IDE.ProjectTypes 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"); + public override BitmapSource SmallImage => GetImage("Images/unitTest.png"); + public override BitmapSource LargeImage => GetImage("Images/unitTest_126.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 e2f7de2ad..7dbf5541f 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 @@ -14,6 +14,7 @@ + @@ -25,10 +26,14 @@ - + + + + + - + @@ -42,7 +47,7 @@ - + @@ -65,19 +70,63 @@ - - + + Debug Release Configuration Manager... - + + 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 634b4d64d..3fc0ce0e1 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 @@ -48,7 +48,7 @@ namespace Tango.Scripting.IDE get { return _openProjectItems; } set { _openProjectItems = value; RaisePropertyChangedAuto(); } } - + #endregion #region Commands @@ -56,6 +56,7 @@ namespace Tango.Scripting.IDE public RelayCommand OpenProjectItemCommand { get; set; } public RelayCommand CloseProjectItemCommand { get; set; } + public RelayCommand RunProject { get; set; } #endregion @@ -77,6 +78,12 @@ namespace Tango.Scripting.IDE NewProjectCommand = new RelayCommand(AddNewProject); OpenProjectItemCommand = new RelayCommand(OpenProjectItem); CloseProjectItemCommand = new RelayCommand(CloseProjectItem); + RunProject = new RelayCommand(RunProjectCommand); + } + + private void RunProjectCommand(object obj) + { + MessageBox.Show("You said: RunProjectCommand"); } #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 645978cac..0c53ed629 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 @@ -230,30 +230,48 @@ + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - - + - + \ No newline at end of file -- cgit v1.3.1 From 4a9fb8a89a7fc48d9d3ecc9f24770c472834453d Mon Sep 17 00:00:00 2001 From: Victoria Plitt Date: Sun, 7 Apr 2019 16:14:48 +0300 Subject: added code to launch dynamically dialogs during run time, correct styles treeview item --- .../Visual_Studio/PPC/Tango.PPC.UI/app.manifest | 2 +- .../Tango.Scripting.IDE.UI/App.config | 36 ++++ .../Tango.Scripting.IDE.UI.csproj | 3 + .../Tango.Scripting.IDE.UI/packages.config | 1 + .../Converters/LeftMarginMultiplierConverter.cs | 54 ++++++ .../Tango.Scripting.IDE/Dialogs/AddNewControl.xaml | 132 --------------- .../Dialogs/AddNewControl.xaml.cs | 29 ---- .../Dialogs/AddProjectView.xaml | 131 ++++++++++++++ .../Dialogs/AddProjectView.xaml.cs | 28 +++ .../Dialogs/AddProjectViewVM.cs | 18 ++ .../Dialogs/BaseProjectDialogVM.cs | 96 +++++++++++ .../Dialogs/CommonOpenFileDialog.cs | 7 + .../Dialogs/NewProjectDialog.xaml | 35 ---- .../Dialogs/NewProjectDialog.xaml.cs | 62 ------- .../Dialogs/NewProjectDialogVM.cs | 95 ----------- .../Dialogs/NewProjectView.xaml | 139 +++++++++++++++ .../Dialogs/NewProjectView.xaml.cs | 29 ++++ .../Dialogs/NewProjectViewVM.cs | 59 +++++++ .../Tango.Scripting.IDE/IDEDialogViewModel.cs | 14 ++ .../Tango.Scripting.IDE/IDEViewModel.cs | 21 +++ .../Tango.Scripting.IDE/Images/stop.png | Bin 205 -> 183 bytes .../Notifications/DefaultNotificationManager.cs | 94 +++++++++++ .../Notifications/INotificationManager.cs | 95 +++++++++++ .../Notifications/ProgressNotificationHandler.cs | 23 +++ .../Tango.Scripting.IDE/ScriptIDEView2.xaml | 188 ++++++++++++++------- .../Tango.Scripting.IDE/ScriptIDEView2.xaml.cs | 32 ++++ .../Tango.Scripting.IDE/ScriptIDEViewVM.cs | 63 ++++++- .../Tango.Scripting.IDE/Tango.Scripting.IDE.csproj | 40 +++-- .../Tango.Scripting.IDE/Themes/ButtonStyle.xaml | 33 +++- .../Themes/DarkThemesColors.xaml | 3 + .../Tango.Scripting.IDE/Themes/MenuDict.xaml | 55 +++++- .../Tango.Scripting.IDE/Themes/ToolbarStyle.xaml | 32 ++++ .../Tango.Scripting.IDE/Themes/TreeViewItem.xaml | 58 ++++--- .../Tango.Scripting.IDE/ViewModelLocator.cs | 11 +- .../Tango.Scripting.IDE/Windows/DialogWindow.xaml | 28 +++ .../Windows/DialogWindow.xaml.cs | 28 +++ 36 files changed, 1307 insertions(+), 467 deletions(-) create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Converters/LeftMarginMultiplierConverter.cs delete mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml delete mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml.cs create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml.cs create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectViewVM.cs create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/BaseProjectDialogVM.cs create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/CommonOpenFileDialog.cs delete mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml delete mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs delete mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectView.xaml create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectView.xaml.cs create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEDialogViewModel.cs create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEViewModel.cs create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/DefaultNotificationManager.cs create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/INotificationManager.cs create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/ProgressNotificationHandler.cs create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Windows/DialogWindow.xaml create mode 100644 Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Windows/DialogWindow.xaml.cs (limited to 'Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml') diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest b/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest index efc5f8179..d72e75011 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest @@ -16,7 +16,7 @@ Remove this element if your application requires this virtualization for backwards compatibility. --> - + diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/App.config b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/App.config index aa58e3cac..3c6b718b3 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/App.config +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/App.config @@ -6,6 +6,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/Tango.Scripting.IDE.UI.csproj b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/Tango.Scripting.IDE.UI.csproj index f87325bc9..01f93cc44 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/Tango.Scripting.IDE.UI.csproj +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/Tango.Scripting.IDE.UI.csproj @@ -46,6 +46,9 @@ ..\packages\Microsoft.CodeAnalysis.CSharp.2.4.0\lib\netstandard1.3\Microsoft.CodeAnalysis.CSharp.dll + + ..\packages\WindowsAPICodePack-Core.1.1.2\lib\Microsoft.WindowsAPICodePack.dll + ..\packages\System.AppContext.4.3.0\lib\net46\System.AppContext.dll diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/packages.config b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/packages.config index e207a9750..5fa98b5e2 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/packages.config +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE.UI/packages.config @@ -45,4 +45,5 @@ + \ No newline at end of file diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Converters/LeftMarginMultiplierConverter.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Converters/LeftMarginMultiplierConverter.cs new file mode 100644 index 000000000..2acefc09c --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Converters/LeftMarginMultiplierConverter.cs @@ -0,0 +1,54 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Globalization; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Media; + +namespace Tango.Scripting.IDE.Converters +{ + public static class TreeViewItemExtensions + { + public static int GetDepth(this TreeViewItem item) + { + TreeViewItem parent; + while ((parent = GetParent(item)) != null) + { + return GetDepth(parent) + 1; + } + return 0; + } + + private static TreeViewItem GetParent(TreeViewItem item) + { + var parent = VisualTreeHelper.GetParent(item); + while (!(parent is TreeViewItem || parent is TreeView)) + { + parent = VisualTreeHelper.GetParent(parent); + } + return parent as TreeViewItem; + } + } + public class LeftMarginMultiplierConverter : IValueConverter + { + public double Length { get; set; } + + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + var item = value as TreeViewItem; + if (item == null) + return new Thickness(0); + + return new Thickness(Length * item.GetDepth(), 0, 0, 0); + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new System.NotImplementedException(); + } + } +} diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml deleted file mode 100644 index e49925dad..000000000 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name: - - - - - - - + + + + + diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml.cs new file mode 100644 index 000000000..83856f4e7 --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml.cs @@ -0,0 +1,28 @@ +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 AddProjectControl.xaml + /// + public partial class AddProjectView : UserControl + { + public AddProjectView() + { + InitializeComponent(); + } + } +} diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectViewVM.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectViewVM.cs new file mode 100644 index 000000000..2d636a6d5 --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectViewVM.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.SharedUI; + +namespace Tango.Scripting.IDE.Dialogs +{ + public class AddProjectViewVM : BaseProjectDialogVM + { + public AddProjectViewVM() : base() + { + Title = "Add Project"; + //ProjectName + } + } +} diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/BaseProjectDialogVM.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/BaseProjectDialogVM.cs new file mode 100644 index 000000000..5f2ebcb15 --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/BaseProjectDialogVM.cs @@ -0,0 +1,96 @@ +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 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(); } + } + private String _projectLocation; + public String ProjectLocation + { + get { return _projectLocation; } + set { _projectLocation = value; RaisePropertyChangedAuto(); } + } + #endregion + #region constructor + public BaseProjectDialogVM() : base() + { + ProjectTypes = new ObservableCollection(); + RegisterProjectType(new StubProjectType()); + RegisterProjectType(new UnitTestProjectType()); + + _selectedProjectType = ProjectTypes.FirstOrDefault(); + + string workingDirectory = Environment.CurrentDirectory; + ProjectLocation = Directory.GetParent(workingDirectory).Parent.Parent.FullName; + + CanClose = true; + CloseCommand = new RelayCommand(Cancel, (x) => CanClose); + OKCommand = new RelayCommand(Accept, (x) => CanClose); + } + #endregion + #region commands + + #endregion + #region register_project_types + public void RegisterProjectType(IProjectType projectType) + { + ProjectTypes.Add(projectType); + } + + public void UnRegisterProjectItemHandler(IProjectType projectType) + { + ProjectTypes.Remove(projectType); + } + #endregion + } +} diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/CommonOpenFileDialog.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/CommonOpenFileDialog.cs new file mode 100644 index 000000000..6664e2d9c --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/CommonOpenFileDialog.cs @@ -0,0 +1,7 @@ +namespace Tango.Scripting.IDE.Dialogs +{ + //internal class CommonOpenFileDialog + //{ + // public string InitialDirectory { get; internal set; } + //} +} \ No newline at end of file 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 deleted file mode 100644 index 914740ede..000000000 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - 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 deleted file mode 100644 index 24c9511e7..000000000 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs +++ /dev/null @@ -1,62 +0,0 @@ - -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 NewProjectDialog.xaml - /// - public partial class NewProjectDialog : Window - { - 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; - Loaded += DialogLoaded; - - - } - private void DialogLoaded(object sender, RoutedEventArgs e) - { - if (AddNewControl.DataContext is NewProjectDialogVM) - { - (AddNewControl.DataContext as NewProjectDialogVM).IsNewSolutionDialog = _bNewProject; - } - } - - 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 deleted file mode 100644 index 1dd0e3205..000000000 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs +++ /dev/null @@ -1,95 +0,0 @@ -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 : 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(); } - } - - bool _isNewSolutionDialog = false; - public bool IsNewSolutionDialog { get { return _isNewSolutionDialog; } set { _isNewSolutionDialog = 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/Dialogs/NewProjectView.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectView.xaml new file mode 100644 index 000000000..20a334f3b --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectView.xaml @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name: + + + + + + + + + + + + diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectView.xaml.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectView.xaml.cs new file mode 100644 index 000000000..5221146d8 --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectView.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 NewProjectView : UserControl + { + public NewProjectView() + { + InitializeComponent(); + } + + } +} diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs new file mode 100644 index 000000000..4b656c98c --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs @@ -0,0 +1,59 @@ +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; +using Microsoft.WindowsAPICodePack.Dialogs; +using Microsoft.Win32; + +namespace Tango.Scripting.IDE.Dialogs +{ + public class NewProjectViewVM : BaseProjectDialogVM + { + + static public ObservableCollection Locations { get; set; } = new ObservableCollection(); + + private String _solutionName = "App1"; + public String SolutionName + { + get { return _solutionName; } + set { _solutionName = value; RaisePropertyChangedAuto(); } + } + #region Commands + public RelayCommand BrowseFileCommand { get; set; } + #endregion + public NewProjectViewVM() : base() + { + Title = "New Project"; + + if(Locations.IndexOf(ProjectLocation) < 0) + { + Locations.Add(ProjectLocation); + } + BrowseFileCommand = new RelayCommand(BrowseFile); + } + private void BrowseFile() + { + CommonOpenFileDialog dialog = new CommonOpenFileDialog(); + dialog.InitialDirectory = Locations.LastOrDefault(); + dialog.IsFolderPicker = true; + if (dialog.ShowDialog() == CommonFileDialogResult.Ok) + { + if( Directory.Exists(dialog.FileName) == true) + { + if(false == Locations.Contains(dialog.FileName)) + { + Locations.Add(dialog.FileName); + } + ProjectLocation = dialog.FileName; + } + } + } + } +} diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEDialogViewModel.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEDialogViewModel.cs new file mode 100644 index 000000000..7532581b1 --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEDialogViewModel.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.SharedUI; + +namespace Tango.Scripting.IDE +{ + public class IDEDialogViewModel : DialogViewVM + { + public String Title { get; set; } + } +} diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEViewModel.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEViewModel.cs new file mode 100644 index 000000000..ef413f69a --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEViewModel.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.Core.DI; +using Tango.Scripting.IDE.Notifications; +using Tango.SharedUI; + +namespace Tango.Scripting.IDE +{ + public class IDEViewModel : ViewModel + { + public INotificationManager NotificationManager { get; set; } + + public IDEViewModel() + { + TangoIOC.Default.Inject(this); + } + } +} diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stop.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stop.png index 7d1b1551a..33e74f508 100644 Binary files a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stop.png and b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stop.png differ diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/DefaultNotificationManager.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/DefaultNotificationManager.cs new file mode 100644 index 000000000..7121e6ce0 --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/DefaultNotificationManager.cs @@ -0,0 +1,94 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Media.Imaging; +using Tango.Scripting.IDE.Windows; +using Tango.SharedUI; + +namespace Tango.Scripting.IDE.Notifications +{ + public class DefaultNotificationManager : INotificationManager + { + public Task ShowDialog(TViewModel viewModel, TView view) + where TViewModel : IDEDialogViewModel + where TView : FrameworkElement + { + TaskCompletionSource source = new TaskCompletionSource(); + + Application.Current.Dispatcher.BeginInvoke(new Action(() => + { + DialogWindow window = new DialogWindow(); + window.Title = viewModel.Title; + window.Content = view; + view.DataContext = viewModel; + window.WindowStartupLocation = WindowStartupLocation.CenterOwner; + window.Owner = Application.Current.MainWindow; + viewModel.Accepted += () => + { + window.Close(); + source.SetResult(viewModel); + }; + viewModel.Canceled += () => + { + window.Close(); + source.SetResult(viewModel); + }; + window.ShowDialog(); + })); + + return source.Task; + } + + public Task ShowDialog(TViewModel viewModel) where TViewModel : IDEDialogViewModel + { + var modelName = typeof(TViewModel).Name; + var viewName = modelName.Replace("VM", ""); + var viewType = typeof(TViewModel).Assembly.GetType(typeof(TViewModel).Namespace + "." + viewName); + var view = Activator.CreateInstance(viewType) as FrameworkElement; + return ShowDialog(viewModel, view); + } + + public Task ShowDialog() where TViewModel : IDEDialogViewModel + { + return ShowDialog(Activator.CreateInstance()); + } + + public Task ShowError(string title, string message) + { + throw new NotImplementedException(); + } + + public Task ShowInfo(string title, string message) + { + throw new NotImplementedException(); + } + + public ProgressNotificationHandler ShowProgress(string title, string message, bool canCancel = false) + { + throw new NotImplementedException(); + } + + public Task ShowQuestion(string title, string message) + { + throw new NotImplementedException(); + } + + public Task ShowSuccess(string title, string message) + { + throw new NotImplementedException(); + } + + public Task ShowWarning(string title, string message) + { + throw new NotImplementedException(); + } + + private Task ShowMessageBox(String title, String message, bool hasCancel, BitmapSource icon) + { + return null; + } + } +} diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/INotificationManager.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/INotificationManager.cs new file mode 100644 index 000000000..1ed516b28 --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/INotificationManager.cs @@ -0,0 +1,95 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using Tango.SharedUI; + +namespace Tango.Scripting.IDE.Notifications +{ + /// + /// Represents the IDE notification manager. + /// + public interface INotificationManager + { + /// + /// Displays the specified TView as a dialog and TViewModel as it's data context. + /// + /// The type of the view model. + /// The type of the view. + /// The view model. + /// The view. + /// + Task ShowDialog(TViewModel viewModel, TView view) where TViewModel : IDEDialogViewModel where TView : FrameworkElement; + + /// + /// Finds (by convention )the appropriate view by the specified TViewModel name. + /// The search pattern is ViewVM - VM + View. + /// + /// The type of the view model. + /// The view model. + /// + Task ShowDialog(TViewModel viewModel) where TViewModel : IDEDialogViewModel; + + /// + /// Finds (by convention )the appropriate view by the specified TViewModel name. + /// The search pattern is ViewVM - VM + View. + /// The view model instance will be created automatically and must contain a parameterless constructor. + /// + /// The type of the view model. + /// The view model. + /// + Task ShowDialog() where TViewModel : IDEDialogViewModel; + + /// + /// Displays an error message. + /// + /// The title. + /// The message. + /// + Task ShowError(String title, String message); + + /// + /// Displays an error message. + /// + /// The title. + /// The message. + /// + Task ShowInfo(String title, String message); + + /// + /// Displays a warning message. + /// + /// The title. + /// The message. + /// + Task ShowWarning(String title, String message); + + /// + /// Displays a positive message. + /// + /// The title. + /// The message. + /// + Task ShowSuccess(String title, String message); + + /// + /// Displays a question and returns the result. + /// + /// The title. + /// The message. + /// + Task ShowQuestion(String title, String message); + + /// + /// Displays an intermediate progress dialog and returns an instance of . + /// Once the progress notification handler will be disposed the dialog will close. + /// + /// The title. + /// The message. + /// if set to true the dialog will contain a cancel button. + /// + ProgressNotificationHandler ShowProgress(String title, String message, bool canCancel = false); + } +} diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/ProgressNotificationHandler.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/ProgressNotificationHandler.cs new file mode 100644 index 000000000..b36419400 --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/ProgressNotificationHandler.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.Scripting.IDE.Notifications +{ + public class ProgressNotificationHandler : IDisposable + { + private Action _disposeAction; + + public ProgressNotificationHandler(Action disposeAction) + { + _disposeAction = disposeAction; + } + + public void Dispose() + { + _disposeAction?.Invoke(); + } + } +} 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 7dbf5541f..67a673d3b 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 @@ -23,7 +23,7 @@ - + @@ -47,13 +47,17 @@ - + - + + + + + @@ -62,26 +66,52 @@ - - - - - - - - Debug @@ -89,54 +119,65 @@ Configuration Manager... - + - - + + + - - - - - - - - - - - - + + + + + + + + + + + + + - - + + + - - - + + + + + + + + + + - - - + - + @@ -161,38 +202,69 @@ - + - + + + - - - + + + - + - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml.cs index 27251851c..5e4509beb 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml.cs +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml.cs @@ -57,5 +57,37 @@ namespace Tango.Scripting.IDE { MessageBox.Show("I am here"); } + private void TreeViewControl_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs e) + { + + IProject SelectedItem = SolutionTree.SelectedItem as IProject; + if(SelectedItem != null && DataContext is ScriptIDEViewVM && ((ScriptIDEViewVM)DataContext).IsSolutionProject(SelectedItem)) + { + SolutionTree.ContextMenu = SolutionTree.Resources["SolutionContext"] as System.Windows.Controls.ContextMenu; + } + else + { + SolutionTree.ContextMenu = SolutionTree.Resources["FolderContext"] as System.Windows.Controls.ContextMenu; + } + } + + private void SolutionTree_PreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e) + { + TreeViewItem treeViewItem = VisualUpwardSearch(e.OriginalSource as DependencyObject); + + if (treeViewItem != null) + { + //treeViewItem.Focus(); + treeViewItem.IsSelected = true; + e.Handled = true; + } + } + static TreeViewItem VisualUpwardSearch(DependencyObject source) + { + while (source != null && !(source is TreeViewItem)) + source = VisualTreeHelper.GetParent(source); + + return source as TreeViewItem; + } } } 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 3fc0ce0e1..d8a744fea 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 @@ -1,20 +1,24 @@ 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; +using System.Windows.Controls; using System.Windows.Media.Imaging; using Tango.Core.Commands; using Tango.Scripting.IDE.Controls; +using Tango.Scripting.IDE.Dialogs; +using Tango.Scripting.IDE.Notifications; using Tango.Scripting.IDE.Projects; using Tango.Scripting.IDE.ProjectTypes; using Tango.SharedUI; namespace Tango.Scripting.IDE { - public class ScriptIDEViewVM : ViewModel + public class ScriptIDEViewVM : IDEViewModel { private List _projectTypes; public ObservableCollection ErrorList { get; set; } @@ -48,21 +52,34 @@ namespace Tango.Scripting.IDE get { return _openProjectItems; } set { _openProjectItems = value; RaisePropertyChangedAuto(); } } - + private bool _isRunProject = false; + public bool IsRunProject + { + get { return _isRunProject; } + set + { + if (_isRunProject != value) + { + _isRunProject = value; RaisePropertyChangedAuto(); + } + } + } #endregion #region Commands public RelayCommand NewProjectCommand { get; set; } + public RelayCommand AddProjectCommand { get; set; } public RelayCommand OpenProjectItemCommand { get; set; } public RelayCommand CloseProjectItemCommand { get; set; } public RelayCommand RunProject { get; set; } + public RelayCommand StopProject { get; set; } #endregion #region Constructors - public ScriptIDEViewVM() + public ScriptIDEViewVM() : base() { _projectTypes = new List(); OpenProjectItems = new ObservableCollection(); @@ -76,14 +93,22 @@ namespace Tango.Scripting.IDE //Init Commands NewProjectCommand = new RelayCommand(AddNewProject); + AddProjectCommand = new RelayCommand(AddProject); OpenProjectItemCommand = new RelayCommand(OpenProjectItem); CloseProjectItemCommand = new RelayCommand(CloseProjectItem); RunProject = new RelayCommand(RunProjectCommand); + StopProject = new RelayCommand(StopRunProjectCommand); + + NotificationManager = new DefaultNotificationManager(); } private void RunProjectCommand(object obj) { - MessageBox.Show("You said: RunProjectCommand"); + // MessageBox.Show("You said: RunProjectCommand"); + } + private void StopRunProjectCommand(object obj) + { + IsRunProject = false; } #endregion @@ -119,14 +144,36 @@ namespace Tango.Scripting.IDE /// /// Open a dialog to create a new project /// - private void AddNewProject() + private async void AddNewProject() { - Dialogs.NewProjectDialog dialog = new Dialogs.NewProjectDialog(true); - if(dialog.ShowDialog() == true) + var vm = await NotificationManager.ShowDialog(); + + if (vm.DialogResult) { - MessageBox.Show("You said: OK"); + } } + private async void AddProject() + { + var vm = await NotificationManager.ShowDialog(new AddProjectViewVM() + { + //ProjectLocation = Directory.GetParent(Environment.CurrentDirectory).Parent.Parent.FullName + //ProjectLocation = Path.GetDirectoryName(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)) + //ProjectLocation = "Current Solution folder..." + }); + + if (vm.DialogResult) + { + + } + } + public bool IsSolutionProject(IProject SelectedItem) + { + if (SelectedItem is StubProject) + return true; + return false; + + } #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 0c53ed629..ea47eb8f7 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,12 @@ ..\packages\MahApps.Metro.1.5.0\lib\net45\MahApps.Metro.dll + + ..\..\..\packages\WindowsAPICodePack-Core.1.1.1\lib\Microsoft.WindowsAPICodePack.dll + + + ..\..\..\packages\WindowsAPICodePack-Shell.1.1.1\lib\Microsoft.WindowsAPICodePack.Shell.dll + @@ -70,15 +76,24 @@ - - AddNewControl.xaml + + + + NewProjectView.xaml - - NewProjectDialog.xaml + + AddProjectView.xaml - + + + + + + + + CSharpScriptItemView.xaml @@ -104,11 +119,14 @@ - + + DialogWindow.xaml + + Designer MSBuild:Compile - + Designer MSBuild:Compile @@ -176,6 +194,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + @@ -224,9 +246,7 @@ - - - + 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 index 21ed3b4b8..f30adc85d 100644 --- 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 @@ -31,7 +31,6 @@ - @@ -48,5 +47,35 @@ - + \ 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 011b26c0d..caab88ef1 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 @@ -21,6 +21,7 @@ + @@ -93,5 +94,7 @@ + + \ No newline at end of file diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/MenuDict.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/MenuDict.xaml index b2c3fd965..f51a50b50 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/MenuDict.xaml +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/MenuDict.xaml @@ -15,7 +15,7 @@ - + @@ -49,11 +49,15 @@ + - - + + + + + @@ -68,7 +72,7 @@ - + @@ -120,7 +124,10 @@ - + + + + @@ -134,6 +141,7 @@ + @@ -181,4 +189,41 @@ + + + + + \ No newline at end of file diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ToolbarStyle.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ToolbarStyle.xaml index 2cc24d31e..6223934b5 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ToolbarStyle.xaml +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ToolbarStyle.xaml @@ -188,6 +188,38 @@ + + +