aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2019-04-16 00:38:18 +0300
committerShlomo Hecht <shlomo@twine-s.com>2019-04-16 00:38:18 +0300
commita43abd7769c1dd19b2bfe4f9d09d8226da396516 (patch)
treea692defe22a6eb75f1ee0d2caf539300d8dceb9c /Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE
parentb54e81b157edff62414a8a8e3fb9e82964f0c5d1 (diff)
parent9d9aa53284fd93fc8590d2ff85741c7f4a95947b (diff)
downloadTango-a43abd7769c1dd19b2bfe4f9d09d8226da396516.tar.gz
Tango-a43abd7769c1dd19b2bfe4f9d09d8226da396516.zip
merge
Diffstat (limited to 'Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE')
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Controls/ErrorData.cs54
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Converters/LeftMarginMultiplierConverter.cs54
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml131
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml.cs (renamed from Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs)6
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectViewVM.cs18
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/BaseProjectDialogVM.cs96
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml12
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectView.xaml139
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectView.xaml.cs29
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs59
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEDialogViewModel.cs (renamed from Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs)6
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDESettings.cs12
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEViewModel.cs21
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IProjectType.cs3
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/NewFileCollection_16x.pngbin284 -> 267 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/OpenFolder_16x.pngbin348 -> 336 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Pause_16x.pngbin0 -> 218 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Redo_16x.pngbin0 -> 229 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/SaveAll_16x.pngbin251 -> 268 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/SaveStatusBar9_16x.pngbin256 -> 239 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Save_16x.pngbin221 -> 225 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Undo_16x.pngbin0 -> 237 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/algorithm.pngbin0 -> 1664 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist_white_32.pngbin0 -> 1294 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/clipboard.pngbin0 -> 1028 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/deletered_16.pngbin0 -> 575 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/redo-arrow-symbol.pngbin0 -> 525 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/redo-arrow-symbol1.pngbin0 -> 491 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stop.pngbin0 -> 183 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stub_project_126.pngbin0 -> 4406 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stub_project_32.pngbin0 -> 1793 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stub_project_whit_32.pngbin0 -> 1269 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/test.pngbin0 -> 1060 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/unitTest.pngbin0 -> 1965 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/unitTest_126.pngbin0 -> 4060 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/DefaultNotificationManager.cs94
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/INotificationManager.cs95
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Notifications/ProgressNotificationHandler.cs23
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectType.cs42
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/StubProjectType.cs14
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/UnitTestProjectType.cs15
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml183
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml.cs32
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs88
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Solution.cs2
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Tango.Scripting.IDE.csproj93
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ButtonStyle.xaml81
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/DarkThemesColors.xaml35
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/DataGridStyle.xaml248
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/MenuDict.xaml55
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ScrollViewerStyle.xaml258
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/Shared.xaml3
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ToolbarStyle.xaml32
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/TreeViewItem.xaml58
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ViewModelLocator.cs26
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Windows/DialogWindow.xaml28
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Windows/DialogWindow.xaml.cs28
57 files changed, 2080 insertions, 93 deletions
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Controls/ErrorData.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Controls/ErrorData.cs
new file mode 100644
index 000000000..2dc07ba3f
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Controls/ErrorData.cs
@@ -0,0 +1,54 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.Core;
+
+namespace Tango.Scripting.IDE.Controls
+{
+ public class ErrorData: ExtendedObject
+ {
+ private string _severity;
+ private string _error;
+ private string _project;
+ private string _code;
+
+ public string Description
+ {
+ get { return _error; }
+ set
+ {
+ _error = value;
+ RaisePropertyChangedAuto();
+ }
+ }
+ public string Severity
+ {
+ get { return _severity; }
+ set
+ {
+ _severity = value;
+ RaisePropertyChangedAuto();
+ }
+ }
+ public string Project
+ {
+ get { return _project; }
+ set
+ {
+ _project = value;
+ RaisePropertyChangedAuto();
+ }
+ }
+ public string Code
+ {
+ get { return _code; }
+ set { _code = value; }
+ }
+
+ public string File { get; set; }
+ public string Line { get; set; }
+ public string SuppressionState { get; set; }
+ }
+}
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/AddProjectView.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml
new file mode 100644
index 000000000..3046857db
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml
@@ -0,0 +1,131 @@
+<UserControl x:Class="Tango.Scripting.IDE.Dialogs.AddProjectView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:local="clr-namespace:Tango.Scripting.IDE.Dialogs"
+ mc:Ignorable="d"
+ xmlns:global="clr-namespace:Tango.Scripting.IDE"
+ Width="800" Height="600"
+ MinWidth="800" MinHeight="600"
+ d:DesignHeight="450" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=local:NewProjectViewVM, IsDesignTimeCreatable=False}">
+ <UserControl.Resources>
+ <ResourceDictionary>
+ <ResourceDictionary.MergedDictionaries>
+ <ResourceDictionary Source="/Tango.Scripting.IDE;component/Themes/DarkThemesColors.xaml"/>
+ <ResourceDictionary Source="/Tango.Scripting.IDE;component/Themes/Shared.xaml"/>
+ </ResourceDictionary.MergedDictionaries>
+ <Style TargetType="TextBlock">
+ <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}" />
+ </Style>
+ <Style TargetType="TextBox">
+ <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}" />
+ <Setter Property="Background" Value="{DynamicResource ListBorder}" />
+ <Setter Property="BorderThickness" Value="1"/>
+ <Setter Property="BorderBrush" Value="{DynamicResource ListBorder}"/>
+ </Style>
+
+ <Style TargetType="Label">
+ <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}" />
+ </Style>
+ <BooleanToVisibilityConverter x:Key="BoolToVis" />
+ </ResourceDictionary>
+ </UserControl.Resources>
+ <Grid x:Name="Main_NewProject_grid" Background="{DynamicResource Window.Background}" >
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="*"/>
+ <ColumnDefinition Width="240"/>
+ </Grid.ColumnDefinitions>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="*"/>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="40"/>
+ </Grid.RowDefinitions>
+ <Border Background="{DynamicResource Background.Static}" BorderThickness="0" Grid.Column="0" Grid.Row="0" >
+ <Border BorderThickness="0" Margin="5" Background="{DynamicResource Window.Background}">
+ <ListView x:Name="ProjectTypes" ItemsSource="{Binding ProjectTypes}" Background="Transparent" ScrollViewer.VerticalScrollBarVisibility="Auto" SelectedItem="{Binding SelectedProjectType,Mode=TwoWay}" BorderBrush="Transparent" IsSynchronizedWithCurrentItem="True">
+ <ListView.ItemTemplate>
+ <DataTemplate>
+ <Border Padding="2">
+ <WrapPanel>
+ <Image Stretch="Fill" Height="30" Source="{Binding Path=SmallImage}"/>
+ <TextBlock Text="{Binding Name}" Margin="20,5,0,0" Foreground="{DynamicResource ControlTextBrush}"/>
+ </WrapPanel>
+ </Border>
+ </DataTemplate>
+ </ListView.ItemTemplate>
+ <ListView.Resources>
+ <Style TargetType="{x:Type ListViewItem}">
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type ListViewItem}">
+ <Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
+ <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
+ </Border>
+ <ControlTemplate.Triggers>
+ <MultiTrigger>
+ <MultiTrigger.Conditions>
+ <Condition Property="Selector.IsSelectionActive" Value="False" />
+ <Condition Property="IsSelected" Value="True" />
+ </MultiTrigger.Conditions>
+ <Setter Property="Background" TargetName="Bd" Value="{DynamicResource ControlBrushColorKey}" />
+ </MultiTrigger>
+ <MultiTrigger>
+ <MultiTrigger.Conditions>
+ <Condition Property="Selector.IsSelectionActive" Value="True" />
+ <Condition Property="IsSelected" Value="True" />
+ </MultiTrigger.Conditions>
+ <Setter Property="Background" TargetName="Bd" Value="{DynamicResource ControlBrushColorKey}" />
+ </MultiTrigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+ </ListView.Resources>
+ </ListView>
+ </Border>
+ </Border>
+ <Grid x:Name="ProjectImage" Grid.Column="1" Grid.Row="0" Background="{DynamicResource Background.Static}">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" MinHeight="40"/>
+ <RowDefinition Height="*"/>
+ </Grid.RowDefinitions>
+ <TextBlock Grid.Row="0" Text="{Binding SelectedDescription}" Margin="10" TextWrapping="Wrap"/>
+ <Border Grid.Row="1" BorderThickness="0">
+ <Border Width="126" Height="126" VerticalAlignment="Center" HorizontalAlignment="Center">
+ <Image Stretch="Uniform" Source="{Binding Path=LargeImage}"
+ VerticalAlignment="Center"
+ HorizontalAlignment="Center" />
+ </Border>
+ </Border>
+ </Grid>
+
+ <Border Grid.Row="1" Grid.ColumnSpan="2" Margin="10" >
+ <Grid x:Name="ProjectNameGrid" Grid.Row="1" Grid.ColumnSpan="2">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="110"/>
+ <ColumnDefinition Width="*"/>
+ <ColumnDefinition Width="240"/>
+ </Grid.ColumnDefinitions>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="24"/>
+ <RowDefinition Height="5"/>
+ <RowDefinition Height="24"/>
+ <RowDefinition Height="5"/>
+ <RowDefinition Height="24"/>
+ </Grid.RowDefinitions>
+
+ <TextBlock Grid.Column="0" Grid.Row="0">Name:</TextBlock>
+ <TextBox Grid.Column="1" Grid.Row="0" VerticalAlignment="Center" Text="{Binding ProjectName}"/>
+
+ </Grid>
+ </Border>
+ <Border Grid.Row="2" Grid.ColumnSpan="2">
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" >
+ <Button Style="{DynamicResource TangoButtonStyle}" IsDefault="True" Width="80" Height="24" Command="{Binding OKCommand}">OK</Button>
+ <Button Margin="8,0,15,0" Style="{DynamicResource TangoButtonStyle}" Width="80" Height="24" Command="{Binding CloseCommand}">Cancel</Button>
+ </StackPanel>
+ </Border>
+ </Grid>
+</UserControl>
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/AddProjectView.xaml.cs
index 376190e3a..83856f4e7 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/AddProjectView.xaml.cs
@@ -16,11 +16,11 @@ using System.Windows.Shapes;
namespace Tango.Scripting.IDE.Dialogs
{
/// <summary>
- /// Interaction logic for NewProjectDialog.xaml
+ /// Interaction logic for AddProjectControl.xaml
/// </summary>
- public partial class NewProjectDialog : UserControl
+ public partial class AddProjectView : UserControl
{
- public NewProjectDialog()
+ 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<IProjectType> ProjectTypes { get; set; }
+
+ private IProjectType _selectedProjectType = null;
+ public IProjectType SelectedProjectType
+ {
+ get { return _selectedProjectType; }
+ set
+ {
+ _selectedProjectType = value;
+ RaisePropertyChangedAuto();
+ RaisePropertyChanged("LargeImage");
+ RaisePropertyChanged("SelectedDescription");
+ }
+ }
+ private BitmapSource _defaultLargeImage = ProjectType.GetImage("Images/test.png");
+ public BitmapSource LargeImage
+ {
+ get
+ {
+ if (SelectedProjectType != null)
+ return SelectedProjectType.LargeImage;
+ else return _defaultLargeImage;
+ }
+ }
+ public string SelectedDescription
+ {
+ get
+ {
+ if (SelectedProjectType != null)
+ return SelectedProjectType.Description;
+ return "";
+ }
+ }
+ private String _projectName = "App1";
+ public String ProjectName
+ {
+ get { return _projectName; }
+ set { _projectName = value; RaisePropertyChangedAuto(); }
+ }
+ private String _projectLocation;
+ public String ProjectLocation
+ {
+ get { return _projectLocation; }
+ set { _projectLocation = value; RaisePropertyChangedAuto(); }
+ }
+ #endregion
+ #region constructor
+ public BaseProjectDialogVM() : base()
+ {
+ ProjectTypes = new ObservableCollection<IProjectType>();
+ 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/NewProjectDialog.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml
deleted file mode 100644
index 7942a7165..000000000
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml
+++ /dev/null
@@ -1,12 +0,0 @@
-<UserControl x:Class="Tango.Scripting.IDE.Dialogs.NewProjectDialog"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:local="clr-namespace:Tango.Scripting.IDE.Dialogs"
- mc:Ignorable="d"
- d:DesignHeight="450" d:DesignWidth="800">
- <Grid>
-
- </Grid>
-</UserControl>
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 @@
+<UserControl x:Class="Tango.Scripting.IDE.Dialogs.NewProjectView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:local="clr-namespace:Tango.Scripting.IDE.Dialogs"
+ mc:Ignorable="d"
+ xmlns:global="clr-namespace:Tango.Scripting.IDE"
+ d:DesignHeight="450" d:DesignWidth="800"
+ Width="800" Height="600"
+ >
+ <UserControl.Resources>
+ <ResourceDictionary>
+ <ResourceDictionary.MergedDictionaries>
+ <ResourceDictionary Source="/Tango.Scripting.IDE;component/Themes/DarkThemesColors.xaml"/>
+ <ResourceDictionary Source="/Tango.Scripting.IDE;component/Themes/Shared.xaml"/>
+ </ResourceDictionary.MergedDictionaries>
+ <Style TargetType="TextBlock">
+ <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}" />
+ </Style>
+ <Style TargetType="TextBox">
+ <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}" />
+ <Setter Property="Background" Value="{DynamicResource ListBorder}" />
+ <Setter Property="BorderThickness" Value="1"/>
+ <Setter Property="BorderBrush" Value="{DynamicResource ListBorder}"/>
+ </Style>
+
+ <Style TargetType="Label">
+ <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}" />
+ </Style>
+ <BooleanToVisibilityConverter x:Key="BoolToVis" />
+ </ResourceDictionary>
+ </UserControl.Resources>
+ <Grid Background="{DynamicResource Window.Background}">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="*"/>
+ <ColumnDefinition Width="240"/>
+ </Grid.ColumnDefinitions>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="*"/>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="40"/>
+ </Grid.RowDefinitions>
+ <Border Background="{DynamicResource Background.Static}" BorderThickness="0" Grid.Column="0" Grid.Row="0" >
+ <Border BorderThickness="0" Margin="5" Background="{DynamicResource Window.Background}">
+ <ListView x:Name="ProjectTypes" ItemsSource="{Binding ProjectTypes}" Background="Transparent" ScrollViewer.VerticalScrollBarVisibility="Auto" SelectedItem="{Binding SelectedProjectType,Mode=TwoWay}" BorderBrush="Transparent" IsSynchronizedWithCurrentItem="True">
+ <ListView.ItemTemplate>
+ <DataTemplate>
+ <Border Padding="2">
+ <WrapPanel>
+ <Image Stretch="Fill" Height="30" Source="{Binding Path=SmallImage}"/>
+ <TextBlock Text="{Binding Name}" Margin="20,5,0,0" Foreground="{DynamicResource ControlTextBrush}"/>
+ </WrapPanel>
+ </Border>
+ </DataTemplate>
+ </ListView.ItemTemplate>
+ <ListView.Resources>
+ <Style TargetType="{x:Type ListViewItem}">
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type ListViewItem}">
+ <Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
+ <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
+ </Border>
+ <ControlTemplate.Triggers>
+ <MultiTrigger>
+ <MultiTrigger.Conditions>
+ <Condition Property="Selector.IsSelectionActive" Value="False" />
+ <Condition Property="IsSelected" Value="True" />
+ </MultiTrigger.Conditions>
+ <Setter Property="Background" TargetName="Bd" Value="{DynamicResource ControlBrushColorKey}" />
+ </MultiTrigger>
+ <MultiTrigger>
+ <MultiTrigger.Conditions>
+ <Condition Property="Selector.IsSelectionActive" Value="True" />
+ <Condition Property="IsSelected" Value="True" />
+ </MultiTrigger.Conditions>
+ <Setter Property="Background" TargetName="Bd" Value="{DynamicResource ControlBrushColorKey}" />
+ </MultiTrigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+ </ListView.Resources>
+ </ListView>
+ </Border>
+ </Border>
+ <Grid x:Name="ProjectImage" Grid.Column="1" Grid.Row="0" Background="{DynamicResource Background.Static}">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" MinHeight="40"/>
+ <RowDefinition Height="*"/>
+ </Grid.RowDefinitions>
+ <TextBlock Grid.Row="0" Text="{Binding SelectedDescription}" Margin="10" TextWrapping="Wrap"/>
+ <Border Grid.Row="1" BorderThickness="0">
+ <Border Width="126" Height="126" VerticalAlignment="Center" HorizontalAlignment="Center">
+ <Image Stretch="Uniform" Source="{Binding Path=LargeImage}"
+ VerticalAlignment="Center"
+ HorizontalAlignment="Center" />
+ </Border>
+ </Border>
+ </Grid>
+
+ <Border Grid.Row="1" Grid.ColumnSpan="2" Margin="10" >
+ <Grid x:Name="ProjectNameGrid" Grid.Row="1" Grid.ColumnSpan="2">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="110"/>
+ <ColumnDefinition Width="*"/>
+ <ColumnDefinition Width="240"/>
+ </Grid.ColumnDefinitions>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="24"/>
+ <RowDefinition Height="5"/>
+ <RowDefinition Height="24"/>
+ <RowDefinition Height="5"/>
+ <RowDefinition Height="24"/>
+ </Grid.RowDefinitions>
+
+ <TextBlock Grid.Column="0" Grid.Row="0">Name:</TextBlock>
+ <TextBox Grid.Column="1" Grid.Row="0" VerticalAlignment="Center" Text="{Binding ProjectName}"/>
+
+ <TextBlock Grid.Column="0" Grid.Row="2" Text="Location"/>
+ <Border Background="{DynamicResource ListBorder}" Grid.Column="1" Grid.Row="2" Margin="0,2,0,2" BorderBrush="{DynamicResource Button.Static.Border}" >
+ <ComboBox Style="{DynamicResource TangoComboboxStyle}" VerticalAlignment="Stretch" SelectedItem="{Binding ProjectLocation}" ItemsSource="{Binding Locations}" HorizontalAlignment="Stretch" BorderBrush="Transparent"/>
+ </Border>
+ <Button Style="{DynamicResource TangoButtonStyle}" Grid.Column="2" Grid.Row="2" Width="80" HorizontalAlignment="Left" Margin="20,0,0,0" Content="Browse..." Command="{Binding BrowseFileCommand}"/>
+ <TextBlock Grid.Column="0" Grid.Row="4" Text="Solution name:"/>
+ <TextBox Grid.Column="1" Grid.Row="4" VerticalAlignment="Center" Text="{Binding SolutionName}" />
+
+ </Grid>
+ </Border>
+ <Border Grid.Row="2" Grid.ColumnSpan="2">
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" >
+ <Button Style="{DynamicResource TangoButtonStyle}" IsDefault="True" Width="80" Height="24" Command="{Binding OKCommand}">OK</Button>
+ <Button Margin="8,0,15,0" Style="{DynamicResource TangoButtonStyle}" Width="80" Height="24" Command="{Binding CloseCommand}">Cancel</Button>
+ </StackPanel>
+ </Border>
+ </Grid>
+</UserControl>
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
+{
+ /// <summary>
+ /// Interaction logic for AddNewControl.xaml
+ /// </summary>
+ 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<String> Locations { get; set; } = new ObservableCollection<string>();
+
+ 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<string>();
+ 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/Dialogs/NewProjectDialogVM.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEDialogViewModel.cs
index 3c25e70f3..7532581b1 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDEDialogViewModel.cs
@@ -5,10 +5,10 @@ using System.Text;
using System.Threading.Tasks;
using Tango.SharedUI;
-namespace Tango.Scripting.IDE.Dialogs
+namespace Tango.Scripting.IDE
{
- public class NewProjectDialogVM : ViewModel
+ public class IDEDialogViewModel : DialogViewVM
{
-
+ public String Title { get; set; }
}
}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDESettings.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDESettings.cs
new file mode 100644
index 000000000..608ca0bdc
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IDESettings.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.Scripting.IDE
+{
+ public class IDESettings
+ {
+ }
+}
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/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/NewFileCollection_16x.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/NewFileCollection_16x.png
index 8c383c1fc..bc5cef828 100644
--- 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
Binary files 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
--- 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
Binary files 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
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Pause_16x.png
Binary files 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
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Redo_16x.png
Binary files 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
--- 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
Binary files 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
--- 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
Binary files 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
--- 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
Binary files 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
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/Undo_16x.png
Binary files 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
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/algorithm.png
Binary files 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
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist_white_32.png
Binary files 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
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/clipboard.png
Binary files differ
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/deletered_16.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/deletered_16.png
new file mode 100644
index 000000000..869ae3797
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/deletered_16.png
Binary files 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
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/redo-arrow-symbol.png
Binary files 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
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/redo-arrow-symbol1.png
Binary files 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..33e74f508
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stop.png
Binary files 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
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stub_project_126.png
Binary files 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
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stub_project_32.png
Binary files 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
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/stub_project_whit_32.png
Binary files 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
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/test.png
Binary files 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
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/unitTest.png
Binary files 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
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/unitTest_126.png
Binary files 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<TViewModel> ShowDialog<TViewModel, TView>(TViewModel viewModel, TView view)
+ where TViewModel : IDEDialogViewModel
+ where TView : FrameworkElement
+ {
+ TaskCompletionSource<TViewModel> source = new TaskCompletionSource<TViewModel>();
+
+ 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<TViewModel> ShowDialog<TViewModel>(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<TViewModel> ShowDialog<TViewModel>() where TViewModel : IDEDialogViewModel
+ {
+ return ShowDialog(Activator.CreateInstance<TViewModel>());
+ }
+
+ 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<bool> 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
+{
+ /// <summary>
+ /// Represents the IDE notification manager.
+ /// </summary>
+ public interface INotificationManager
+ {
+ /// <summary>
+ /// Displays the specified TView as a dialog and TViewModel as it's data context.
+ /// </summary>
+ /// <typeparam name="TViewModel">The type of the view model.</typeparam>
+ /// <typeparam name="TView">The type of the view.</typeparam>
+ /// <param name="viewModel">The view model.</param>
+ /// <param name="view">The view.</param>
+ /// <returns></returns>
+ Task<TViewModel> ShowDialog<TViewModel, TView>(TViewModel viewModel, TView view) where TViewModel : IDEDialogViewModel where TView : FrameworkElement;
+
+ /// <summary>
+ /// Finds (by convention )the appropriate view by the specified TViewModel name.
+ /// The search pattern is ViewVM - VM + View.
+ /// </summary>
+ /// <typeparam name="TViewModel">The type of the view model.</typeparam>
+ /// <param name="viewModel">The view model.</param>
+ /// <returns></returns>
+ Task<TViewModel> ShowDialog<TViewModel>(TViewModel viewModel) where TViewModel : IDEDialogViewModel;
+
+ /// <summary>
+ /// 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.
+ /// </summary>
+ /// <typeparam name="TViewModel">The type of the view model.</typeparam>
+ /// <param name="viewModel">The view model.</param>
+ /// <returns></returns>
+ Task<TViewModel> ShowDialog<TViewModel>() where TViewModel : IDEDialogViewModel;
+
+ /// <summary>
+ /// Displays an error message.
+ /// </summary>
+ /// <param name="title">The title.</param>
+ /// <param name="message">The message.</param>
+ /// <returns></returns>
+ Task ShowError(String title, String message);
+
+ /// <summary>
+ /// Displays an error message.
+ /// </summary>
+ /// <param name="title">The title.</param>
+ /// <param name="message">The message.</param>
+ /// <returns></returns>
+ Task ShowInfo(String title, String message);
+
+ /// <summary>
+ /// Displays a warning message.
+ /// </summary>
+ /// <param name="title">The title.</param>
+ /// <param name="message">The message.</param>
+ /// <returns></returns>
+ Task ShowWarning(String title, String message);
+
+ /// <summary>
+ /// Displays a positive message.
+ /// </summary>
+ /// <param name="title">The title.</param>
+ /// <param name="message">The message.</param>
+ /// <returns></returns>
+ Task ShowSuccess(String title, String message);
+
+ /// <summary>
+ /// Displays a question and returns the result.
+ /// </summary>
+ /// <param name="title">The title.</param>
+ /// <param name="message">The message.</param>
+ /// <returns></returns>
+ Task<bool> ShowQuestion(String title, String message);
+
+ /// <summary>
+ /// Displays an intermediate progress dialog and returns an instance of <see cref="ProgressNotificationHandler"/>.
+ /// Once the progress notification handler will be disposed the dialog will close.
+ /// </summary>
+ /// <param name="title">The title.</param>
+ /// <param name="message">The message.</param>
+ /// <param name="canCancel">if set to <c>true</c> the dialog will contain a cancel button.</param>
+ /// <returns></returns>
+ 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/ProjectType.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectType.cs
new file mode 100644
index 000000000..86efc4330
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectType.cs
@@ -0,0 +1,42 @@
+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<String, BitmapSource> _imageCache;
+
+ static ProjectType()
+ {
+ _imageCache = new Dictionary<string, BitmapSource>();
+ }
+
+ public abstract string Name { get; }
+ public abstract string Description { get; }
+ public abstract string Extention { 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..6fe1316f4 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,13 +10,13 @@ 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();
- project.FilePath = projectPath;
+ project.FilePath = projectPath + Extention; ;
var referenceAssembliesItem = new ReferenceAssembliesItem();
@@ -39,8 +39,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 => "Stub Project";
+ public override string Description => "Create a stub project template.";
+ public override string Extention => ".stub";
+ 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 4519e5aca..42bab7059 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,13 +10,13 @@ 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();
- project.FilePath = projectPath;
+ project.FilePath = projectPath + Extention; ;
var referenceAssembliesItem = new ReferenceAssembliesItem();
@@ -36,8 +36,11 @@ 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 string Extention => ".unit";
+ 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 a28101a17..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
@@ -14,6 +14,7 @@
<ResourceDictionary Source="Themes/DarkThemesColors.xaml"/>
<ResourceDictionary Source="Themes/Shared.xaml"/>
</ResourceDictionary.MergedDictionaries>
+ <BooleanToVisibilityConverter x:Key="BoolToVis" />
</ResourceDictionary>
</UserControl.Resources>
<Grid Background="{DynamicResource Background.Static}">
@@ -22,10 +23,17 @@
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
- <Menu Grid.Row="0" HorizontalAlignment="Stretch" Margin="0,0,0,0" Style="{DynamicResource TangoMenuStyle}">
+ <Menu Grid.Row="0" HorizontalAlignment="Stretch" Margin="2,0,0,0" Style="{DynamicResource TangoMenuStyle}" BorderBrush="Transparent">
<MenuItem Header="File">
- <MenuItem Header="New"></MenuItem>
- <MenuItem Header="Open"></MenuItem>
+ <MenuItem Header="New">
+ <MenuItem Header="New Project..." Command="{Binding NewProjectCommand}">
+ <MenuItem.Icon>
+ <Image Source="/Tango.Scripting.IDE;component/Images/NewFileCollection_16x.png" Height="14"/>
+ </MenuItem.Icon>
+ </MenuItem>
+ <MenuItem Header="File"/>
+ </MenuItem>
+ <MenuItem Header="Open"/>
<MenuItem Header="Start page"></MenuItem>
<Separator/>
<MenuItem Header="Add"></MenuItem>
@@ -45,7 +53,11 @@
<Separator/>
<MenuItem Header="Exit"></MenuItem>
</MenuItem>
- <MenuItem Header="Edit"></MenuItem>
+ <MenuItem Header="Edit">
+ <MenuItem Header="Cut"/>
+ <MenuItem Header="Copy"/>
+ <MenuItem Header="Paste"/>
+ </MenuItem>
<MenuItem Header="View"></MenuItem>
<MenuItem Header="Project"></MenuItem>
<MenuItem Header="Build"></MenuItem>
@@ -54,37 +66,118 @@
<MenuItem Header="Theme"></MenuItem>
</Menu>
<ToolBarTray Grid.Row="1" Background="{DynamicResource Background.Static}" Width="Auto" Orientation="Horizontal">
- <ToolBar Style="{DynamicResource TangoToolBarStyle}" Background="{DynamicResource Background.Static}" Height="30" HorizontalAlignment="Left" Foreground="{DynamicResource ControlForegroundKey}">
-
- <Button Click="Button_Click" ToolTip="New Project">
- <Image Source="/Tango.Scripting.IDE;component/Images/NewFileCollection_16x.png" Height="16"/>
+ <ToolBar Style="{DynamicResource TangoToolBarStyle}" Background="{DynamicResource Background.Static}" Height="30" HorizontalAlignment="Left" Foreground="{DynamicResource ControlForegroundKey}" Margin="0,0,0,6">
+ <ToolBar.Resources>
+ <Style TargetType="{x:Type Button}">
+ <Setter Property="Width" Value="26"/>
+ <Style.Triggers>
+ <Trigger Property="IsMouseOver" Value="False">
+ <Setter Property="Background" Value="Transparent" />
+ <Setter Property="Opacity" Value="1.0" />
+ </Trigger>
+ <EventTrigger RoutedEvent="MouseLeave">
+ <BeginStoryboard>
+ <Storyboard>
+ <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.2" To="1"></DoubleAnimation>
+ </Storyboard>
+ </BeginStoryboard>
+ </EventTrigger>
+ <EventTrigger RoutedEvent="MouseEnter">
+ <BeginStoryboard>
+ <Storyboard>
+ <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.2" To="0.2"></DoubleAnimation>
+ </Storyboard>
+ </BeginStoryboard>
+ </EventTrigger>
+ </Style.Triggers>
+ </Style>
+ </ToolBar.Resources>
+
+ <Button Click="Button_Click" ToolTip="New Project" Style="{DynamicResource TangoToolBarButtonStyle}" >
+ <Image Source="/Tango.Scripting.IDE;component/Images/NewFileCollection_16x.png" Height="16" Width="16"/>
+
</Button>
- <Button Click="Button_Click" ToolTip="Open File">
- <Image Source="/Tango.Scripting.IDE;component/Images/OpenFolder_16x.png" Height="16"/>
+ <Button Click="Button_Click" ToolTip="Open File" Style="{DynamicResource TangoToolBarButtonStyle}">
+ <Image Source="/Tango.Scripting.IDE;component/Images/OpenFolder_16x.png" Height="16" Width="16"/>
</Button>
- <Button Click="Button_Click" ToolTip="Open File">
- <Image Source="/Tango.Scripting.IDE;component/Images/Save_16x.png" Height="16"/>
+ <Button Click="Button_Click" ToolTip="Save File" Style="{DynamicResource TangoToolBarButtonStyle}">
+ <Image Source="/Tango.Scripting.IDE;component/Images/Save_16x.png" Height="16" Width="16"/>
</Button>
- <Button Click="Button_Click" ToolTip="Open File">
- <Image Source="/Tango.Scripting.IDE;component/Images/SaveAll_16x.png" Height="16"/>
+ <Button Click="Button_Click" ToolTip="Save All" Style="{DynamicResource TangoToolBarButtonStyle}">
+ <Image Source="/Tango.Scripting.IDE;component/Images/SaveAll_16x.png" Height="16" Width="16"/>
</Button>
<Separator ></Separator>
+ <Button Click="Button_Click" ToolTip="Undo" Style="{DynamicResource TangoToolBarButtonStyle}">
+ <Image Source="/Tango.Scripting.IDE;component/Images/Undo_16x.png" Height="16" Width="16"/>
+ </Button>
+ <Button Click="Button_Click" ToolTip="Redo" Style="{DynamicResource TangoToolBarButtonStyle}">
+ <Image Source="/Tango.Scripting.IDE;component/Images/Redo_16x.png" Height="16" Width="16"/>
+ </Button>
<ComboBox Style="{DynamicResource TangoComboboxStyle}" Margin="2" x:Name="cmb2" SelectedIndex="0" HorizontalContentAlignment="Stretch" Width="100" >
<ComboBoxItem IsSelected="True">Debug</ComboBoxItem>
<ComboBoxItem >Release</ComboBoxItem>
<ComboBoxItem>Configuration Manager...</ComboBoxItem>
</ComboBox>
- <Button Foreground="White" Click="Button_Click" Content="Cut" ToolBar.OverflowMode="Always" />
+ <Separator ></Separator>
+ <ToggleButton x:Name="Run_Button" Command="{Binding RunProject}" IsChecked="{Binding IsRunProject, Mode=TwoWay}" ToolTip="Start">
+ <ToggleButton.Template>
+ <ControlTemplate TargetType="{x:Type ToggleButton}">
+ <Grid>
+ <Rectangle x:Name="background" Fill="Transparent" Opacity="1"/>
+ <StackPanel Orientation="Horizontal" >
+ <Path x:Name="RunArrow"
+ HorizontalAlignment="Left" VerticalAlignment="Center"
+ Width="12" Height="10" Margin="2,0,0,0"
+ Stretch="Fill" Fill="#FF8DD28A"
+ RenderTransformOrigin="0.6,0.4"
+ Data="M0,0 L1,0 0.5,1 z" >
+ <Path.RenderTransform>
+ <TransformGroup>
+ <ScaleTransform/>
+ <SkewTransform/>
+ <RotateTransform Angle="270"/>
+ <TranslateTransform/>
+ </TransformGroup>
+ </Path.RenderTransform>
+ </Path>
+ <TextBlock x:Name="Run_Text" Margin="8,0,4,0" Text="Start" VerticalAlignment="Center"/>
+ </StackPanel>
+ </Grid>
+ <ControlTemplate.Triggers>
+ <Trigger Property="IsChecked" Value="True">
+ <Setter Property="Foreground" TargetName="Run_Text" Value="{DynamicResource ToggleButton.Checked.Foreground}"/>
+ <Setter Property="Fill" TargetName="RunArrow" Value="{DynamicResource ToggleButton.Checked.Foreground}"/>
+ <Setter Property="Text" TargetName="Run_Text" Value="Continue"/>
+ <Setter Property="ToggleButton.ToolTip" Value="Continue"/>
+ </Trigger>
+ <MultiTrigger>
+ <MultiTrigger.Conditions>
+ <Condition Property="IsChecked" Value="False" />
+ <Condition Property="IsMouseOver" Value="True" />
+ </MultiTrigger.Conditions>
+ <Setter Property="Fill" TargetName="background" Value="{DynamicResource Toolbar.Button.MaouseMove.Background}"/>
+ </MultiTrigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </ToggleButton.Template>
+ </ToggleButton>
+ <Button Click="Button_Click" ToolTip="Pause" Visibility="{Binding IsChecked, ElementName=Run_Button, Converter={StaticResource BoolToVis}}" Style="{DynamicResource TangoToolBarButtonStyle}">
+ <Image Source="/Tango.Scripting.IDE;component/Images/Pause_16x.png" Height="16" Width="16"/>
+ </Button>
+ <Button x:Name="StopButton" ToolTip="Stop" Command="{Binding StopProject}" Visibility="{Binding IsChecked, ElementName=Run_Button, Converter={StaticResource BoolToVis}}" Style="{DynamicResource TangoToolBarButtonStyle}">
+ <Image Source="/Tango.Scripting.IDE;component/Images/stop.png" Height="16" Width="16"/>
+ </Button>
</ToolBar>
</ToolBarTray>
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
+ <ColumnDefinition Width="15" />
<ColumnDefinition Width="1*" MinWidth="100" />
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="300" MinWidth="20" />
</Grid.ColumnDefinitions>
- <Grid>
+ <Grid Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="1*" MinHeight="100" />
<RowDefinition Height="5"/>
@@ -109,27 +202,69 @@
<GridSplitter HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Row="1" Background="{DynamicResource Background.Static}" />
<Grid Grid.Row="2" Background="{DynamicResource Background.Static}">
- <Border BorderThickness="0" Margin="1,0,0,2">
+ <!--<Border BorderThickness="0" Margin="1,0,0,2">-->
<TabControl TabStripPlacement="Bottom" Style="{DynamicResource TangoTabControlStyle}">
- <TabItem Header="Error list">error list</TabItem>
- <TabItem Header="Output">output</TabItem>
+ <TabItem Header="Error list">
+ <GroupBox Header="Error List" BorderThickness="1" Style="{DynamicResource TangoGroupBoxStyle}" Margin="-1">
+ <DataGrid Background="{DynamicResource TabItem.Content.Static}" Style="{DynamicResource TangoDataGridStyle}" Padding="2,5,2,0"
+ ColumnHeaderStyle="{DynamicResource TangoDataGridColumnHeaderStyle}" ItemsSource="{Binding ErrorList}"
+ CanUserSortColumns="True" CanUserResizeColumns="True" IsReadOnly="True"/>
+ </GroupBox>
+ </TabItem>
+ <TabItem Header="Output">
+ <GroupBox Header="Output" BorderThickness="1" Style="{DynamicResource TangoGroupBoxStyle}" Margin="-1">
+ <TextBox TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" AcceptsReturn="True" Name="OutputText" Background="{DynamicResource TabItem.Content.Static}" />
+ </GroupBox>
+ </TabItem>
</TabControl>
- </Border>
+ <!--</Border>-->
</Grid>
</Grid>
- <GridSplitter HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="1" Background="{DynamicResource Background.Static}" />
+ <GridSplitter HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="2" Background="{DynamicResource Background.Static}" />
- <Grid Grid.Column="2">
- <GroupBox Margin="0,0,5,5" Header="Solution Explorer" BorderThickness="1" Style="{DynamicResource TangoGroupBoxStyle}" >
- <TreeView Style="{DynamicResource TangoTreeViewStyle}" ItemsSource="{Binding Solution.Projects}" Background="{DynamicResource TabItem.Content.Static}" >
+ <Grid Grid.Column="3">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="1*" MinHeight="100"/>
+ <RowDefinition Height="5"/>
+ <RowDefinition Height="100" MinHeight="20"/>
+ <RowDefinition Height="4"/>
+ </Grid.RowDefinitions>
+ <GroupBox Grid.Row="0" Margin="0,0,5,0" Header="Solution Explorer" BorderThickness="1" Style="{DynamicResource TangoGroupBoxStyle}" >
+ <TreeView Style="{DynamicResource TangoTreeViewStyle}" x:Name="SolutionTree" ItemsSource="{Binding Solution.Projects}" Background="{DynamicResource TabItem.Content.Static}" Padding="0,8,0,0" SelectedItemChanged="TreeViewControl_SelectedItemChanged" PreviewMouseRightButtonDown="SolutionTree_PreviewMouseRightButtonDown" >
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Path=Items}" DataType="{x:Type local:IProject}">
<controls:SolutionItemControl SolutionItem="{Binding}" OpenCommand="{Binding ElementName=control,Path=DataContext.OpenProjectItemCommand}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
+ <TreeView.Resources>
+ <ContextMenu x:Key ="SolutionContext" StaysOpen="true" BorderBrush="{DynamicResource Background.Static}" Foreground="{DynamicResource ControlForegroundKey}">
+ <MenuItem Header="Add" >
+ <MenuItem Header="New Project..." Command="{Binding AddProjectCommand}"/>
+ </MenuItem>
+ <MenuItem Header="Rename"/>
+ </ContextMenu>
+ <ContextMenu x:Key="FolderContext" StaysOpen="true" >
+ <MenuItem Header="Rename"/>
+ <MenuItem Header="Remove"/>
+ <Separator/>
+ <MenuItem Header="Copy"/>
+ <MenuItem Header="Cut"/>
+ <MenuItem Header="Paste"/>
+ <MenuItem Header="Move"/>
+ </ContextMenu>
+ </TreeView.Resources>
+
</TreeView>
</GroupBox>
+ <GridSplitter Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="{DynamicResource Background.Static}" />
+ <GroupBox Grid.Row="2" Margin="0,0,5,2" Header="Properties" BorderThickness="1" Style="{DynamicResource TangoGroupBoxStyle}" >
+ <!--<Border BorderThickness="0" Margin="1,0,0,2">-->
+ <DataGrid Background="{DynamicResource TabItem.Content.Static}" Style="{DynamicResource TangoDataGridStyle}" Padding="2,5,2,0"
+ ColumnHeaderStyle="{DynamicResource TangoDataGridColumnHeaderStyle}" ItemsSource="{Binding ErrorList}"
+ CanUserSortColumns="True" CanUserResizeColumns="True" IsReadOnly="True"/>
+ <!--</Border>-->
+ </GroupBox>
</Grid>
</Grid>
</Grid>
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<object> 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 e52b58775..b156371c5 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,19 +1,27 @@
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<IProjectType> _projectTypes;
+ public ObservableCollection<ErrorData> ErrorList { get; set; }
#region Properties
@@ -44,32 +52,64 @@ 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<IProjectItem> OpenProjectItemCommand { get; set; }
public RelayCommand<IProjectItem> CloseProjectItemCommand { get; set; }
+ public RelayCommand RunProject { get; set; }
+ public RelayCommand StopProject { get; set; }
#endregion
#region Constructors
- public ScriptIDEViewVM()
+ public ScriptIDEViewVM() : base()
{
_projectTypes = new List<IProjectType>();
OpenProjectItems = new ObservableCollection<IProjectItem>();
+ ErrorList = new ObservableCollection<ErrorData>();
RegisterProjectType(new StubProjectType());
+ RegisterProjectType(new UnitTestProjectType());
Solution = new Solution();
+ Solution.SolutionLocation = @"C:\Test";
Solution.Projects.Add(_projectTypes.First().NewProject("Test Project.stub"));
//Init Commands
+ NewProjectCommand = new RelayCommand(AddNewProject);
+ AddProjectCommand = new RelayCommand(AddProject);
OpenProjectItemCommand = new RelayCommand<IProjectItem>(OpenProjectItem);
CloseProjectItemCommand = new RelayCommand<IProjectItem>(CloseProjectItem);
+ RunProject = new RelayCommand(RunProjectCommand);
+ StopProject = new RelayCommand(StopRunProjectCommand);
+
+ NotificationManager = new DefaultNotificationManager();
+ }
+
+ private void RunProjectCommand(object obj)
+ {
+ // MessageBox.Show("You said: RunProjectCommand");
+ }
+ private void StopRunProjectCommand(object obj)
+ {
+ IsRunProject = false;
}
#endregion
@@ -102,7 +142,47 @@ namespace Tango.Scripting.IDE
{
_projectTypes.Remove(projectType);
}
+ /// <summary>
+ /// Open a dialog to create a new project
+ /// </summary>
+ private async void AddNewProject()
+ {
+ var vm = await NotificationManager.ShowDialog<NewProjectViewVM>();
+
+ if (vm.DialogResult)
+ {
+ Solution newSolution = new Solution();
+ newSolution.Name = vm.SolutionName;
+ newSolution.SolutionLocation = vm.ProjectLocation;
+ Solution = newSolution;
+ StringBuilder builder = new StringBuilder(vm.ProjectLocation);
+ builder.AppendFormat(@"\{0}", vm.ProjectName);
+ Solution.Projects.Add(vm.SelectedProjectType.NewProject(builder.ToString()));
+ }
+ }
+ private async void AddProject()
+ {
+ var vm = await NotificationManager.ShowDialog<AddProjectViewVM>(new AddProjectViewVM()
+ {
+ ProjectLocation = Solution.SolutionLocation
+ //ProjectLocation = Path.GetDirectoryName(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase))
+ //ProjectLocation = "Current Solution folder..."
+ });
+ if (vm.DialogResult)
+ {
+ StringBuilder builder = new StringBuilder(vm.ProjectLocation);
+ builder.AppendFormat(@"\{0}", vm.ProjectName);
+ Solution.Projects.Add(vm.SelectedProjectType.NewProject(builder.ToString()));
+ }
+ }
+ 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/Solution.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Solution.cs
index eded27413..cd7806698 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Solution.cs
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Solution.cs
@@ -10,6 +10,8 @@ namespace Tango.Scripting.IDE
public class Solution
{
public ObservableCollection<IProject> Projects { get; set; }
+ public string Name{get; set;}
+ public string SolutionLocation { get; set; }
public Solution()
{
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..803815df4 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,13 @@
<Reference Include="MahApps.Metro, Version=1.5.0.23, Culture=neutral, PublicKeyToken=f4fb5a3c4d1e5b4f, processorArchitecture=MSIL">
<HintPath>..\packages\MahApps.Metro.1.5.0\lib\net45\MahApps.Metro.dll</HintPath>
</Reference>
+ <Reference Include="Microsoft.WindowsAPICodePack">
+ <HintPath>..\..\..\packages\WindowsAPICodePack-Core.1.1.1\lib\Microsoft.WindowsAPICodePack.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.WindowsAPICodePack.Shell">
+ <HintPath>..\..\..\packages\WindowsAPICodePack-Shell.1.1.1\lib\Microsoft.WindowsAPICodePack.Shell.dll</HintPath>
+ </Reference>
+ <Reference Include="PresentationFramework.Aero2" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
@@ -65,15 +72,28 @@
<Reference Include="PresentationFramework" />
</ItemGroup>
<ItemGroup>
+ <Compile Include="Controls\ErrorData.cs" />
<Compile Include="Controls\SharedResourceDictionary.cs" />
<Compile Include="Controls\SolutionItemControl.cs" />
<Compile Include="Controls\TabConrolClose.cs" />
- <Compile Include="Dialogs\NewProjectDialog.xaml.cs">
- <DependentUpon>NewProjectDialog.xaml</DependentUpon>
+ <Compile Include="Converters\LeftMarginMultiplierConverter.cs" />
+ <Compile Include="Dialogs\NewProjectView.xaml.cs">
+ <DependentUpon>NewProjectView.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Dialogs\AddProjectView.xaml.cs">
+ <DependentUpon>AddProjectView.xaml</DependentUpon>
</Compile>
- <Compile Include="Dialogs\NewProjectDialogVM.cs" />
+ <Compile Include="Dialogs\AddProjectViewVM.cs" />
+ <Compile Include="Dialogs\BaseProjectDialogVM.cs" />
+ <Compile Include="Dialogs\NewProjectViewVM.cs" />
+ <Compile Include="IDEDialogViewModel.cs" />
+ <Compile Include="IDESettings.cs" />
+ <Compile Include="IDEViewModel.cs" />
<Compile Include="IProjectType.cs" />
<Compile Include="ISolutionItem.cs" />
+ <Compile Include="Notifications\DefaultNotificationManager.cs" />
+ <Compile Include="Notifications\INotificationManager.cs" />
+ <Compile Include="Notifications\ProgressNotificationHandler.cs" />
<Compile Include="ProjectItem.cs" />
<Compile Include="ProjectItemsViews\CSharpScriptItemView.xaml.cs">
<DependentUpon>CSharpScriptItemView.xaml</DependentUpon>
@@ -86,6 +106,7 @@
<Compile Include="IProject.cs" />
<Compile Include="Project.cs" />
<Compile Include="Projects\UnitTestProject.cs" />
+ <Compile Include="ProjectType.cs" />
<Compile Include="ProjectTypes\StubProjectType.cs" />
<Compile Include="ProjectTypes\UnitTestProjectType.cs" />
<Compile Include="ScriptIDEView.xaml.cs">
@@ -97,7 +118,15 @@
<Compile Include="ScriptIDEViewVM.cs" />
<Compile Include="Solution.cs" />
<Compile Include="Projects\StubProject.cs" />
- <Page Include="Dialogs\NewProjectDialog.xaml">
+ <Compile Include="ViewModelLocator.cs" />
+ <Compile Include="Windows\DialogWindow.xaml.cs">
+ <DependentUpon>DialogWindow.xaml</DependentUpon>
+ </Compile>
+ <Page Include="Dialogs\NewProjectView.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="Dialogs\AddProjectView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
@@ -117,6 +146,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
+ <Page Include="Themes\ButtonStyle.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
<Page Include="Themes\ComboboxStyle.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -125,6 +158,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
+ <Page Include="Themes\DataGridStyle.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
<Page Include="Themes\Generic.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
@@ -137,6 +174,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
+ <Page Include="Themes\ScrollViewerStyle.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
<Page Include="Themes\Shared.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -153,6 +194,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
+ <Page Include="Windows\DialogWindow.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs">
@@ -201,20 +246,52 @@
<ItemGroup>
<Resource Include="Images\StubProject.png" />
</ItemGroup>
+ <ItemGroup />
<ItemGroup>
- <Folder Include="Converters\" />
+ <Resource Include="Images\Save_16x.png" />
</ItemGroup>
<ItemGroup>
- <Resource Include="Images\Save_16x.png" />
+ <Resource Include="Images\NewFileCollection_16x.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\OpenFolder_16x.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\checklist_white_32.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\unitTest_126.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\stub_project_whit_32.png" />
+ <Resource Include="Images\stub_project_126.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\test.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\SaveAll_16x.png" />
</ItemGroup>
<ItemGroup>
- <Resource Include="Images\NewFileCollection_16x.png" />
+ <Resource Include="Images\Redo_16x.png" />
</ItemGroup>
<ItemGroup>
- <Resource Include="Images\OpenFolder_16x.png" />
+ <Resource Include="Images\Undo_16x.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\unitTest.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\stop.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\stub_project_32.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\redo-arrow-symbol1.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\Pause_16x.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> \ 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..f30adc85d
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ButtonStyle.xaml
@@ -0,0 +1,81 @@
+<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:local="clr-namespace:Tango.Scripting.IDE.Themes">
+
+ <Style x:Key="FocusVisual">
+ <Setter Property="Control.Template">
+ <Setter.Value>
+ <ControlTemplate>
+ <Rectangle Margin="2" SnapsToDevicePixels="true" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+ <Style x:Key="TangoButtonStyle" TargetType="{x:Type Button}">
+ <Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}"/>
+ <Setter Property="Background" Value="{DynamicResource Button.Static.Background}"/>
+ <Setter Property="BorderBrush" Value="{DynamicResource Button.Static.Border}"/>
+ <Setter Property="Foreground" Value="{DynamicResource ControlForegroundKey}"/>
+ <Setter Property="BorderThickness" Value="1"/>
+ <Setter Property="HorizontalContentAlignment" Value="Center"/>
+ <Setter Property="VerticalContentAlignment" Value="Center"/>
+ <Setter Property="Padding" Value="1"/>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="true">
+ <ContentPresenter x:Name="contentPresenter" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+ </Border>
+ <ControlTemplate.Triggers>
+ <Trigger Property="IsDefaulted" Value="true">
+ <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button.MouseOver.Border}"/>
+ </Trigger>
+ <Trigger Property="IsMouseOver" Value="true">
+ <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button.MouseOver.Border}"/>
+ </Trigger>
+ <Trigger Property="IsPressed" Value="true">
+ <Setter Property="Background" TargetName="border" Value="{DynamicResource Button.Pressed.Background}"/>
+ <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button.Pressed.Border}"/>
+ </Trigger>
+ <Trigger Property="IsEnabled" Value="false">
+ <Setter Property="Background" TargetName="border" Value="{DynamicResource Button.Disabled.Background}"/>
+ <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button.Disabled.Border}"/>
+ <Setter Property="TextElement.Foreground" TargetName="contentPresenter" Value="{DynamicResource Button.Disabled.Foreground}"/>
+ </Trigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+ <Style x:Key="TangoToolBarButtonStyle" TargetType="{x:Type Button}">
+ <Setter Property="Width" Value="26"/>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="true">
+ <Grid>
+ <Rectangle x:Name="background" Fill="Transparent" Opacity="1"/>
+ <ContentPresenter x:Name="contentPresenter" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+ </Grid>
+ </Border>
+ <ControlTemplate.Triggers>
+ <Trigger Property="IsDefaulted" Value="true">
+ <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
+ </Trigger>
+ <Trigger Property="IsMouseOver" Value="true">
+ <Setter Property="Fill" TargetName="background" Value="{DynamicResource Toolbar.Button.MaouseMove.Background}"/>
+ </Trigger>
+ <Trigger Property="IsPressed" Value="true">
+ <Setter Property="Fill" TargetName="background" Value="{DynamicResource ControlBrushColorKey}"/>
+ </Trigger>
+ <Trigger Property="IsEnabled" Value="false">
+ <Setter Property="Background" TargetName="border" Value="{DynamicResource Button.Disabled.Background}"/>
+ <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button.Disabled.Border}"/>
+ <Setter Property="TextElement.Foreground" TargetName="contentPresenter" Value="{DynamicResource Button.Disabled.Foreground}"/>
+ </Trigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+</ResourceDictionary> \ 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..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
@@ -11,6 +11,8 @@
<SolidColorBrush x:Key="Grip.Submenu.Background.Static" Color="#FF3F3F46"/>
<SolidColorBrush x:Key="Grip.Submenu.Background.Selected" Color="#FF007ACC"/>
+ <SolidColorBrush x:Key="Window.Background" Color="#FF1F1F20"/>
+ <SolidColorBrush x:Key="Control.Border.Static" Color="#FF555555"/>
<SolidColorBrush x:Key="Background.Static" Color="#FF2D2D30"/>
<SolidColorBrush x:Key="ControlTextBrush" Color="#FFF0F0F0"/>
@@ -19,6 +21,7 @@
<SolidColorBrush x:Key="HighlightTextBrushKey" Color="#FFF0F0F0"/>
<SolidColorBrush x:Key="ListBorder" Color="#FF3F3F46"/>
<SolidColorBrush x:Key="Inactive.Selection" Color="#FF444444"/>
+ <SolidColorBrush x:Key="ContextMenu.MouseOverColor" Color="#FF333334"/>
<SolidColorBrush x:Key="TabItem.Selected.Background" Color="#FF007ACC"/>
@@ -62,4 +65,36 @@
<SolidColorBrush x:Key="ComboboxItemBackground" Color="#FF1F1F20"/>
<SolidColorBrush x:Key="ComboboxItemMouseOverBackground" Color="#FF3F3F46"/>
+ <SolidColorBrush x:Key="DataGrid.MouseOver" Color="#FF3E3E40"/>
+ <SolidColorBrush x:Key="DataGrid.Border" Color="#FF3E3E40"/>
+ <SolidColorBrush x:Key="DataGrid.Row.Selection" Color="#FF007ACC"/>
+
+ <SolidColorBrush x:Key="ScrollBar.Static.Background" Color="#FF3E3E42"/>
+ <SolidColorBrush x:Key="ScrollBar.Static.Border" Color="#FF3E3E42"/>
+ <SolidColorBrush x:Key="ScrollBar.Pressed.Glyph" Color="#FF1C97EA"/>
+ <SolidColorBrush x:Key="ScrollBar.MouseOver.Glyph" Color="#FF1C97EA"/>
+ <SolidColorBrush x:Key="ScrollBar.Disabled.Glyph" Color="#FF636363"/>
+ <SolidColorBrush x:Key="ScrollBar.Static.Glyph" Color="#FF9E9E9E"/>
+ <SolidColorBrush x:Key="ScrollBar.MouseOver.Background" Color="Transparent"/>
+ <SolidColorBrush x:Key="ScrollBar.MouseOver.Border" Color="Transparent"/>
+ <SolidColorBrush x:Key="ScrollBar.Pressed.Background" Color="Transparent"/>
+ <SolidColorBrush x:Key="ScrollBar.Pressed.Border" Color="Transparent"/>
+ <SolidColorBrush x:Key="ScrollBar.Disabled.Background" Color="#FF646464"/>
+ <SolidColorBrush x:Key="ScrollBar.Disabled.Border" Color="#F0F0F0"/>
+ <SolidColorBrush x:Key="ScrollBar.MouseOver.Thumb" Color="#FF7F7F7F"/>
+ <SolidColorBrush x:Key="ScrollBar.Pressed.Thumb" Color="#FF999999"/>
+ <SolidColorBrush x:Key="ScrollBar.Static.Thumb" Color="#FF555555"/>
+
+ <SolidColorBrush x:Key="Button.Static.Background" Color="#FF3F3F46"/>
+ <SolidColorBrush x:Key="Button.Static.Border" Color="#FF555555"/>
+ <SolidColorBrush x:Key="Button.MouseOver.Background" Color="Transparent"/>
+ <SolidColorBrush x:Key="Button.MouseOver.Border" Color="#FF0097FB"/>
+ <SolidColorBrush x:Key="Button.Pressed.Background" Color="#FF007ACC"/>
+ <SolidColorBrush x:Key="Button.Pressed.Border" Color="#FF007ACC"/>
+ <SolidColorBrush x:Key="Button.Disabled.Background" Color="#FF252526"/>
+ <SolidColorBrush x:Key="Button.Disabled.Border" Color="#FF434346"/>
+ <SolidColorBrush x:Key="Button.Disabled.Foreground" Color="#FF434346"/>
+ <SolidColorBrush x:Key="Toolbar.Button.MaouseMove.Background" Color="#FF3E3E40"/>
+ <SolidColorBrush x:Key="ToggleButton.Checked.Foreground" Color="#FF4E4E50"/>
+
</ResourceDictionary> \ 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 @@
+<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero2"
+ xmlns:local="clr-namespace:Tango.Scripting.IDE.Themes">
+ <Style x:Key="TangoDataGridStyle" TargetType="{x:Type DataGrid}">
+ <Setter Property="Background" Value="{DynamicResource Menu.Background}"/>
+ <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"/>
+ <Setter Property="BorderBrush" Value="{DynamicResource DataGrid.Border}"/>
+ <Setter Property="BorderThickness" Value="0"/>
+ <Setter Property="RowDetailsVisibilityMode" Value="VisibleWhenSelected"/>
+ <Setter Property="ScrollViewer.CanContentScroll" Value="true"/>
+ <Setter Property="ScrollViewer.PanningMode" Value="Both"/>
+ <Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
+ <Setter Property="GridLinesVisibility" Value="None"/>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type DataGrid}">
+ <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True">
+ <ScrollViewer x:Name="DG_ScrollViewer" Focusable="false">
+ <ScrollViewer.Template>
+ <ControlTemplate TargetType="{x:Type ScrollViewer}">
+ <Grid >
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="Auto"/>
+ <ColumnDefinition Width="*"/>
+ <ColumnDefinition Width="Auto"/>
+ </Grid.ColumnDefinitions>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="*"/>
+ <RowDefinition Height="Auto"/>
+ </Grid.RowDefinitions>
+ <!--<Button Background="Transparent" Command="{x:Static DataGrid.SelectAllCommand}" Focusable="false" Style="{DynamicResource {ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}}" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.All}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" Width="{Binding CellsPanelHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>-->
+ <DataGridColumnHeadersPresenter x:Name="PART_ColumnHeadersPresenter" Grid.Column="1" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.Column}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
+ <ScrollContentPresenter x:Name="PART_ScrollContentPresenter" CanContentScroll="{TemplateBinding CanContentScroll}" Grid.ColumnSpan="2" Grid.Row="1"/>
+ <ScrollBar x:Name="PART_VerticalScrollBar" Grid.Column="2" Maximum="{TemplateBinding ScrollableHeight}" Orientation="Vertical" Grid.Row="1" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}"/>
+ <Grid Grid.Column="1" Grid.Row="2">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="{Binding NonFrozenColumnsViewportHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
+ <ColumnDefinition Width="*"/>
+ </Grid.ColumnDefinitions>
+ <ScrollBar x:Name="PART_HorizontalScrollBar" Grid.Column="1" Maximum="{TemplateBinding ScrollableWidth}" Orientation="Horizontal" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"/>
+ </Grid>
+ </Grid>
+ </ControlTemplate>
+ </ScrollViewer.Template>
+ <ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
+ </ScrollViewer>
+ </Border>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ <Style.Triggers>
+ <MultiTrigger>
+ <MultiTrigger.Conditions>
+ <Condition Property="IsGrouping" Value="true"/>
+ <Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping" Value="false"/>
+ </MultiTrigger.Conditions>
+ <Setter Property="ScrollViewer.CanContentScroll" Value="false"/>
+ </MultiTrigger>
+ </Style.Triggers>
+ <Style.Resources>
+ <Style TargetType="{x:Type DataGridRow}">
+ <Setter Property="Background" Value="Transparent"/>
+ <Setter Property="BorderBrush" Value="Transparent"/>
+ <Setter Property="BorderThickness" Value="0,0,0,0" />
+ <Setter Property="SnapsToDevicePixels" Value="true"/>
+ <Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
+ <Setter Property="ValidationErrorTemplate">
+ <Setter.Value>
+ <ControlTemplate>
+ <TextBlock Foreground="Red" Margin="2,0,0,0" Text="!" VerticalAlignment="Center"/>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type DataGridRow}">
+ <Border x:Name="DGR_Border" BorderBrush="{TemplateBinding BorderBrush}"
+ BorderThickness="0" Background="{TemplateBinding Background}"
+ SnapsToDevicePixels="True">
+ <SelectiveScrollingGrid>
+ <SelectiveScrollingGrid.ColumnDefinitions>
+ <ColumnDefinition Width="Auto"/>
+ <ColumnDefinition Width="*"/>
+ </SelectiveScrollingGrid.ColumnDefinitions>
+ <SelectiveScrollingGrid.RowDefinitions>
+ <RowDefinition Height="*"/>
+ <RowDefinition Height="Auto"/>
+ </SelectiveScrollingGrid.RowDefinitions>
+ <DataGridCellsPresenter Grid.Column="1" ItemsPanel="{TemplateBinding ItemsPanel}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
+ <DataGridDetailsPresenter Grid.Column="1" Grid.Row="1" SelectiveScrollingGrid.SelectiveScrollingOrientation="{Binding AreRowDetailsFrozen, ConverterParameter={x:Static SelectiveScrollingOrientation.Vertical}, Converter={x:Static DataGrid.RowDetailsScrollingConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" Visibility="{TemplateBinding DetailsVisibility}"/>
+ <!--<DataGridRowHeader Grid.RowSpan="2" SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.Row}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>-->
+ </SelectiveScrollingGrid>
+ </Border>
+ <ControlTemplate.Triggers>
+
+ <Trigger Property="IsMouseOver" Value="True">
+ <Setter TargetName="DGR_Border" Property="Background" Value="{DynamicResource DataGrid.Row.Selection}" />
+ </Trigger>
+ <Trigger Property="IsSelected" Value="True">
+ <Setter TargetName="DGR_Border" Property="BorderBrush" Value="{DynamicResource DataGrid.Row.Selection}" />
+ <Setter TargetName="DGR_Border" Property="Background" Value="{DynamicResource DataGrid.Row.Selection}" />
+ </Trigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ <Style.Triggers>
+ <Trigger Property="IsNewItem" Value="True">
+ <Setter Property="Margin" Value="{Binding NewItemMargin, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
+ </Trigger>
+ </Style.Triggers>
+ </Style>
+ <Style TargetType="{x:Type DataGridCell}">
+ <Setter Property="Background" Value="Transparent"/>
+ <Setter Property="BorderBrush" Value="Transparent"/>
+ <Setter Property="BorderThickness" Value="0"/>
+ <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"/>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type DataGridCell}">
+ <!--<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0" Background="Transparent" SnapsToDevicePixels="True">-->
+ <ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
+ <!--</Border>-->
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ <Style.Triggers>
+ <Trigger Property="IsSelected" Value="True">
+ <Setter Property="Background" Value="Blue"/>
+ <Setter Property="BorderBrush" Value="{DynamicResource DataGrid.MouseOver}"/>
+ </Trigger>
+ <Trigger Property="IsKeyboardFocusWithin" Value="True">
+ <Setter Property="BorderBrush" Value="{DynamicResource DataGrid.MouseOver}"/>
+ </Trigger>
+ <MultiTrigger>
+ <MultiTrigger.Conditions>
+ <Condition Property="IsSelected" Value="true"/>
+ <Condition Property="Selector.IsSelectionActive" Value="false"/>
+ </MultiTrigger.Conditions>
+ <Setter Property="Background" Value="{DynamicResource DataGrid.MouseOver}"/>
+ <Setter Property="BorderBrush" Value="{DynamicResource DataGrid.MouseOver}"/>
+ <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"/>
+ </MultiTrigger>
+ <Trigger Property="IsEnabled" Value="false">
+ <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"/>
+ </Trigger>
+ </Style.Triggers>
+ </Style>
+ <Style TargetType="{x:Type TextBlock}" >
+ <Setter Property="TextTrimming" Value="CharacterEllipsis"/>
+ <Setter Property="TextWrapping" Value="NoWrap"/>
+ <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=Text }" />
+ </Style>
+ </Style.Resources>
+ </Style>
+ <Style x:Key="ColumnHeaderGripperStyle" TargetType="{x:Type Thumb}">
+ <Setter Property="Width" Value="8"/>
+ <Setter Property="Background" Value="Transparent"/>
+ <Setter Property="Cursor" Value="SizeWE"/>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type Thumb}">
+ <Border Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}"/>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+ <Style x:Key="TangoDataGridColumnHeaderStyle" TargetType="{x:Type DataGridColumnHeader}">
+ <Setter Property="VerticalContentAlignment" Value="Center"/>
+ <Setter Property="ContentTemplate">
+ <Setter.Value>
+ <DataTemplate>
+ <TextBlock TextTrimming="CharacterEllipsis" Text="{Binding}" TextAlignment="Right" TextWrapping="NoWrap"/>
+ </DataTemplate>
+ </Setter.Value>
+ </Setter>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type DataGridColumnHeader}">
+ <Grid>
+ <Themes:DataGridHeaderBorder x:Name="hBorder" BorderBrush="{DynamicResource DataGrid.Border}"
+ BorderThickness="0,1,1,1"
+ Background="Transparent"
+ IsClickable="{TemplateBinding CanUserSort}"
+ IsPressed="{TemplateBinding IsPressed}"
+ IsHovered="{TemplateBinding IsMouseOver}"
+ Padding="{TemplateBinding Padding}"
+ SortDirection="{TemplateBinding SortDirection}"
+ SeparatorBrush="{TemplateBinding SeparatorBrush}"
+ SeparatorVisibility="{TemplateBinding SeparatorVisibility}">
+ <Grid>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="Auto"/>
+ <ColumnDefinition Width="*"/>
+ </Grid.ColumnDefinitions>
+ <ContentPresenter Grid.Column="0" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="6,2,4,2"/>
+ <Path x:Name="SortArrow"
+ Grid.Column="1"
+ HorizontalAlignment="Right" VerticalAlignment="Center"
+ Width="8" Height="6" Margin="2,0,5,0"
+ Stretch="Fill" Opacity="0.5" Fill="{DynamicResource ControlTextBrush}"
+ RenderTransformOrigin="0.5,0.4"
+ Visibility="Collapsed"
+ Data="M0,0 L1,0 0.5,1 z" />
+ </Grid>
+ </Themes:DataGridHeaderBorder>
+ <Thumb x:Name="PART_LeftHeaderGripper" HorizontalAlignment="Left" Style="{StaticResource ColumnHeaderGripperStyle}"/>
+ <Thumb x:Name="PART_RightHeaderGripper" HorizontalAlignment="Right" Style="{StaticResource ColumnHeaderGripperStyle}"/>
+ </Grid>
+
+ <ControlTemplate.Triggers>
+ <Trigger Property="SortDirection" Value="Ascending">
+ <Setter TargetName="SortArrow" Property="Visibility" Value="Visible" />
+ <Setter TargetName="SortArrow" Property="RenderTransform">
+ <Setter.Value>
+ <RotateTransform Angle="180" />
+ </Setter.Value>
+ </Setter>
+ </Trigger>
+ <Trigger Property="SortDirection" Value="Descending">
+ <Setter TargetName="SortArrow" Property="Visibility" Value="Visible" />
+ </Trigger>
+
+ <Trigger Property='IsMouseOver' Value='True'>
+ <Setter TargetName="hBorder" Property="Background" Value="{DynamicResource DataGrid.MouseOver}"></Setter>
+ </Trigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+
+ </Style>
+
+ <Style x:Key="RowHeaderGripperStyle" TargetType="{x:Type Thumb}">
+ <Setter Property="Height" Value="8"/>
+ <Setter Property="Background" Value="Transparent"/>
+ <Setter Property="Cursor" Value="SizeNS"/>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type Thumb}">
+ <Border Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}"/>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+</ResourceDictionary> \ 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 @@
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Menu}">
- <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
+ <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border>
</ControlTemplate>
@@ -49,11 +49,15 @@
<!-- TopLevelHeader -->
<ControlTemplate x:Key="{x:Static MenuItem.TopLevelHeaderTemplateKey}" TargetType="{x:Type MenuItem}">
<Grid x:Name="Border" Background="Transparent" Margin="0,2,0,2">
+
<Rectangle x:Name="Bg" Fill="Transparent" />
<Rectangle x:Name="Inner_Border" Margin="4" Fill="Transparent"/>
<ContentPresenter Margin="8,2,8,2" ContentSource="Header" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
- <Popup x:Name="Popup" Placement="Bottom" IsOpen="{TemplateBinding IsSubmenuOpen}" AllowsTransparency="True" Focusable="False" PopupAnimation="Fade">
- <Border x:Name="SubmenuBorder" BorderBrush="Transparent" BorderThickness="0" Background="{DynamicResource Menu.Background}" Padding="2">
+ <Popup x:Name="Popup" Placement="Bottom" IsOpen="{TemplateBinding IsSubmenuOpen}" AllowsTransparency="True" Focusable="False" PopupAnimation="Fade" HorizontalOffset="2">
+ <Border x:Name="SubmenuBorder" BorderBrush="{DynamicResource MenuItemHighlightedBackground}" BorderThickness="1" Background="{DynamicResource Menu.Background}" Padding="2" Margin="0,0,8,8">
+ <Border.Effect>
+ <DropShadowEffect BlurRadius="6" Opacity="0.5" ShadowDepth="4" Direction="330"/>
+ </Border.Effect>
<Grid RenderOptions.ClearTypeHint="Enabled" Background="Transparent">
<ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Cycle" Grid.IsSharedSizeScope="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" KeyboardNavigation.TabNavigation="Cycle"/>
</Grid>
@@ -68,7 +72,7 @@
<Setter Property="Fill" TargetName="Bg" Value="{DynamicResource Menu.Submenu.MouseOverColor}"/>
</Trigger>
<Trigger SourceName="Popup" Property="AllowsTransparency" Value="True">
- <Setter TargetName="SubmenuBorder" Property="CornerRadius" Value="0,0,4,4" />
+ <Setter TargetName="SubmenuBorder" Property="CornerRadius" Value="0,0,0,0" />
<Setter TargetName="SubmenuBorder" Property="Padding" Value="0,0,0,3" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
@@ -120,7 +124,10 @@
<TextBlock Grid.Column="2" Margin="10,0,0,0" Text="{TemplateBinding InputGestureText}" VerticalAlignment="Center"/>
<Path x:Name="RightArrow" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center" Data="M 0 0 L 0 7 L 4 3.5 Z" Fill="{DynamicResource Grip.Submenu.Background.Static}" Margin="8,0,0,0"/>
<Popup x:Name="popup" PlacementTarget="{Binding ElementName=_grid}" Placement="Right" HorizontalOffset="0" AllowsTransparency="True" Focusable="False" PopupAnimation="Fade">
- <Border x:Name="SubmenuBorder" SnapsToDevicePixels="True" Background="{DynamicResource Menu.Submenu.Background}" BorderThickness="0" BorderBrush="#49a3e1">
+ <Border x:Name="SubmenuBorder" SnapsToDevicePixels="True" Background="{DynamicResource Menu.Submenu.Background}" BorderThickness="1" BorderBrush="{DynamicResource MenuItemHighlightedBackground}" Margin="0,0,10,10">
+ <Border.Effect>
+ <DropShadowEffect BlurRadius="6" Opacity="0.5" ShadowDepth="4" Direction="330" />
+ </Border.Effect>
<ItemsPresenter x:Name="_items" />
</Border>
</Popup>
@@ -134,6 +141,7 @@
<Setter Property="Fill" TargetName="Bg" Value="{DynamicResource Menu.Submenu.MouseOverColor}"/>
<Setter Property="Fill" TargetName="Inner_Border" Value="{DynamicResource Menu.Submenu.MouseOverColor}"/>
<Setter TargetName="RightArrow" Property="Fill" Value="{DynamicResource Grip.Submenu.Background.Selected}"/>
+
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="{DynamicResource Menu.Disable.Foreground}"/>
@@ -181,4 +189,41 @@
</Setter.Value>
</Setter>
</Style>
+
+ <Style TargetType="{x:Type ContextMenu}">
+ <Setter Property="SnapsToDevicePixels" Value="True" />
+ <Setter Property="OverridesDefaultStyle" Value="True" />
+ <Setter Property="Grid.IsSharedSizeScope" Value="true" />
+ <Setter Property="HasDropShadow" Value="True" />
+ <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"></Setter>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type ContextMenu}">
+ <Border x:Name="Border" Background="{DynamicResource Background.Static}" BorderThickness="1" BorderBrush="{DynamicResource Inactive.Selection}">
+ <Border.Effect>
+ <DropShadowEffect Color="Black" Direction="135" Opacity="0.8" ShadowDepth="2"/>
+ </Border.Effect>
+ <StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Cycle"/>
+ </Border>
+ <ControlTemplate.Triggers>
+ <Trigger Property="IsMouseOver" Value="true">
+ <Setter TargetName="Border" Property="Background" Value="{DynamicResource Menu.Submenu.Background}" />
+ <Setter TargetName="Border" Property="BorderBrush" Value="{DynamicResource ContextMenu.MouseOverColor}" />
+ </Trigger>
+ <Trigger Property="HasDropShadow" Value="true">
+ <Setter TargetName="Border" Property="Padding" Value="0,3,0,3" />
+ </Trigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ <Style.Resources>
+ <Style TargetType="{x:Type MenuItem}">
+ <Setter Property="Background" Value="{DynamicResource Menu.Submenu.Background}"></Setter>
+ <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"></Setter>
+ <Setter Property="Margin" Value="1,0,1,0"></Setter>
+ </Style>
+ </Style.Resources>
+ </Style>
+
</ResourceDictionary> \ 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 @@
+<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:local="clr-namespace:Tango.Scripting.IDE.Themes">
+
+ <ControlTemplate x:Key="ScrollViewerControlTemplate1" TargetType="{x:Type ScrollViewer}">
+ <Grid x:Name="Grid" Background="{DynamicResource ScrollBar.Static.Background}">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="*"/>
+ <ColumnDefinition Width="Auto"/>
+ </Grid.ColumnDefinitions>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="*"/>
+ <RowDefinition Height="Auto"/>
+ </Grid.RowDefinitions>
+ <Rectangle x:Name="Corner" Grid.Column="1" Fill="{DynamicResource ScrollBar.Static.Background}" Grid.Row="1"/>
+ <ScrollContentPresenter x:Name="PART_ScrollContentPresenter" CanContentScroll="{TemplateBinding CanContentScroll}" CanHorizontallyScroll="False" CanVerticallyScroll="False" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Grid.Column="0" Margin="{TemplateBinding Padding}" Grid.Row="0"/>
+ <ScrollBar x:Name="PART_VerticalScrollBar" AutomationProperties.AutomationId="VerticalScrollBar" Cursor="Arrow" Grid.Column="1" Maximum="{TemplateBinding ScrollableHeight}" Minimum="0" Grid.Row="0" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}"/>
+ <ScrollBar x:Name="PART_HorizontalScrollBar" AutomationProperties.AutomationId="HorizontalScrollBar" Cursor="Arrow" Grid.Column="0" Maximum="{TemplateBinding ScrollableWidth}" Minimum="0" Orientation="Horizontal" Grid.Row="1" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"/>
+ </Grid>
+ </ControlTemplate>
+ <Style x:Key="FocusVisual">
+ <Setter Property="Control.Template">
+ <Setter.Value>
+ <ControlTemplate>
+ <Rectangle Margin="2" SnapsToDevicePixels="true" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+ <Style x:Key="ScrollBarButton" TargetType="{x:Type RepeatButton}">
+ <Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}"/>
+ <Setter Property="BorderThickness" Value="0"/>
+ <Setter Property="HorizontalContentAlignment" Value="Center"/>
+ <Setter Property="VerticalContentAlignment" Value="Center"/>
+ <Setter Property="Padding" Value="1"/>
+ <Setter Property="Focusable" Value="false"/>
+ <Setter Property="IsTabStop" Value="false"/>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type RepeatButton}">
+ <Border x:Name="border" BorderBrush="Transparent" BorderThickness="0" Background="{DynamicResource ScrollBar.Static.Background}" SnapsToDevicePixels="true">
+ <ContentPresenter x:Name="contentPresenter" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+ </Border>
+ <ControlTemplate.Triggers>
+ <Trigger Property="IsEnabled" Value="false">
+ <Setter Property="Opacity" TargetName="contentPresenter" Value="0.56"/>
+ <!--<Setter Property="Background" TargetName="border" Value="{StaticResource ScrollBar.Disabled.Background}"/>
+ <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource ScrollBar.Disabled.Border}"/>-->
+ </Trigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+ <Style x:Key="RepeatButtonTransparent" TargetType="{x:Type RepeatButton}">
+ <Setter Property="OverridesDefaultStyle" Value="true"/>
+ <Setter Property="Background" Value="Transparent"/>
+ <Setter Property="Focusable" Value="false"/>
+ <Setter Property="IsTabStop" Value="false"/>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type RepeatButton}">
+ <Rectangle Fill="{TemplateBinding Background}" Height="{TemplateBinding Height}" Width="{TemplateBinding Width}"/>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+ <Style x:Key="ScrollBarThumbVertical" TargetType="{x:Type Thumb}">
+ <Setter Property="OverridesDefaultStyle" Value="true"/>
+ <Setter Property="IsTabStop" Value="false"/>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type Thumb}">
+ <Rectangle x:Name="rectangle" Fill="{DynamicResource ScrollBar.Static.Thumb}" Height="{TemplateBinding Height}" SnapsToDevicePixels="True" Width="{TemplateBinding Width}" Margin="4,0,4,0"/>
+ <ControlTemplate.Triggers>
+ <Trigger Property="IsMouseOver" Value="true">
+ <Setter Property="Fill" TargetName="rectangle" Value="{DynamicResource ScrollBar.MouseOver.Thumb}"/>
+ </Trigger>
+ <Trigger Property="IsDragging" Value="true">
+ <Setter Property="Fill" TargetName="rectangle" Value="{DynamicResource ScrollBar.Pressed.Thumb}"/>
+ </Trigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+ <Style x:Key="ScrollBarThumbHorizontal" TargetType="{x:Type Thumb}">
+ <Setter Property="OverridesDefaultStyle" Value="true"/>
+ <Setter Property="IsTabStop" Value="false"/>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type Thumb}" >
+ <Rectangle x:Name="rectangle" Fill="{DynamicResource ScrollBar.Static.Thumb}" Height="{TemplateBinding Height}"
+ SnapsToDevicePixels="True" Width="{TemplateBinding Width}" Margin="0,4,0,4"/>
+ <ControlTemplate.Triggers>
+ <Trigger Property="IsMouseOver" Value="true">
+ <Setter Property="Fill" TargetName="rectangle" Value="{DynamicResource ScrollBar.MouseOver.Thumb}"/>
+ </Trigger>
+ <Trigger Property="IsDragging" Value="true">
+ <Setter Property="Fill" TargetName="rectangle" Value="{DynamicResource ScrollBar.Pressed.Thumb}"/>
+ </Trigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+ <Style TargetType="{x:Type ScrollBar}">
+ <Setter Property="Stylus.IsPressAndHoldEnabled" Value="false"/>
+ <Setter Property="Stylus.IsFlicksEnabled" Value="false"/>
+ <Setter Property="Background" Value="{DynamicResource ScrollBar.Static.Background}"/>
+ <Setter Property="BorderBrush" Value="{DynamicResource ScrollBar.Static.Border}"/>
+ <Setter Property="Foreground" Value="{DynamicResource ControlForegroundKey}"/>
+ <Setter Property="BorderThickness" Value="1,0"/>
+ <Setter Property="Width" Value="18"/>
+ <Setter Property="MinWidth" Value="18"/>
+ <Setter Property="OverridesDefaultStyle" Value="True"/>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type ScrollBar}">
+ <Grid x:Name="Bg" SnapsToDevicePixels="true">
+ <Grid.RowDefinitions>
+ <RowDefinition MaxHeight="{DynamicResource {x:Static SystemParameters.VerticalScrollBarButtonHeightKey}}"/>
+ <RowDefinition Height="0.00001*"/>
+ <RowDefinition MaxHeight="{DynamicResource {x:Static SystemParameters.VerticalScrollBarButtonHeightKey}}"/>
+ </Grid.RowDefinitions>
+ <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0" Background="{TemplateBinding Background}" Grid.Row="1"/>
+ <RepeatButton x:Name="PART_LineUpButton" Command="{x:Static ScrollBar.LineUpCommand}" IsEnabled="{TemplateBinding IsMouseOver}" Style="{StaticResource ScrollBarButton}">
+ <Path x:Name="ArrowTop" Data="M 0 10 L 20 10 L 10 0 Z" Fill="{DynamicResource ScrollBar.Static.Glyph}" Margin="2,2,2,1" Stretch="Uniform"/>
+ </RepeatButton>
+ <Track x:Name="PART_Track" IsDirectionReversed="true" IsEnabled="{TemplateBinding IsMouseOver}" Grid.Row="1">
+ <Track.DecreaseRepeatButton>
+ <RepeatButton Command="{x:Static ScrollBar.PageUpCommand}" Style="{StaticResource RepeatButtonTransparent}"/>
+ </Track.DecreaseRepeatButton>
+ <Track.IncreaseRepeatButton>
+ <RepeatButton Command="{x:Static ScrollBar.PageDownCommand}" Style="{StaticResource RepeatButtonTransparent}"/>
+ </Track.IncreaseRepeatButton>
+ <Track.Thumb>
+ <Thumb Style="{StaticResource ScrollBarThumbVertical}"/>
+ </Track.Thumb>
+ </Track>
+ <RepeatButton x:Name="PART_LineDownButton" Command="{x:Static ScrollBar.LineDownCommand}" IsEnabled="{TemplateBinding IsMouseOver}" Grid.Row="2" Style="{StaticResource ScrollBarButton}">
+ <Path x:Name="ArrowBottom" Data="M 0 0 L 10 10 L 20 0 Z" Fill="{DynamicResource ScrollBar.Static.Glyph}" Margin="2,1,2,2" Stretch="Uniform"/>
+ </RepeatButton>
+ </Grid>
+ <ControlTemplate.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding IsMouseOver, ElementName=PART_LineDownButton}" Value="true"/>
+ <Condition Binding="{Binding IsPressed, ElementName=PART_LineDownButton}" Value="true"/>
+ </MultiDataTrigger.Conditions>
+ <Setter Property="Fill" TargetName="ArrowBottom" Value="{DynamicResource ScrollBar.Pressed.Glyph}"/>
+ </MultiDataTrigger>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding IsMouseOver, ElementName=PART_LineUpButton}" Value="true"/>
+ <Condition Binding="{Binding IsPressed, ElementName=PART_LineUpButton}" Value="true"/>
+ </MultiDataTrigger.Conditions>
+ <Setter Property="Fill" TargetName="ArrowTop" Value="{DynamicResource ScrollBar.Pressed.Glyph}"/>
+ </MultiDataTrigger>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding IsMouseOver, ElementName=PART_LineDownButton}" Value="true"/>
+ <Condition Binding="{Binding IsPressed, ElementName=PART_LineDownButton}" Value="false"/>
+ </MultiDataTrigger.Conditions>
+ <Setter Property="Fill" TargetName="ArrowBottom" Value="{DynamicResource ScrollBar.MouseOver.Glyph}"/>
+ </MultiDataTrigger>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding IsMouseOver, ElementName=PART_LineUpButton}" Value="true"/>
+ <Condition Binding="{Binding IsPressed, ElementName=PART_LineUpButton}" Value="false"/>
+ </MultiDataTrigger.Conditions>
+ <Setter Property="Fill" TargetName="ArrowTop" Value="{DynamicResource ScrollBar.MouseOver.Glyph}"/>
+ </MultiDataTrigger>
+ <Trigger Property="IsEnabled" Value="false">
+ <Setter Property="Fill" TargetName="ArrowTop" Value="{DynamicResource ScrollBar.Disabled.Glyph}"/>
+ <Setter Property="Fill" TargetName="ArrowBottom" Value="{DynamicResource ScrollBar.Disabled.Glyph}"/>
+ </Trigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ <Style.Triggers>
+ <Trigger Property="Orientation" Value="Horizontal">
+ <Setter Property="Width" Value="Auto"/>
+ <Setter Property="MinWidth" Value="0"/>
+ <Setter Property="Height" Value="18"/>
+ <Setter Property="MinHeight" Value="18"/>
+ <Setter Property="BorderThickness" Value="0,1"/>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type ScrollBar}">
+ <Grid x:Name="Bg" SnapsToDevicePixels="true">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition MaxWidth="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarButtonWidthKey}}"/>
+ <ColumnDefinition Width="0.00001*"/>
+ <ColumnDefinition MaxWidth="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarButtonWidthKey}}"/>
+ </Grid.ColumnDefinitions>
+ <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Grid.Column="1"/>
+ <RepeatButton x:Name="PART_LineLeftButton" Command="{x:Static ScrollBar.LineLeftCommand}" IsEnabled="{TemplateBinding IsMouseOver}" Style="{StaticResource ScrollBarButton}">
+ <Path x:Name="ArrowLeft" Data="M 0 10 L 10 0 L 10 20 Z" Fill="{DynamicResource ScrollBar.Static.Glyph}" Margin="2,2,1,2" Stretch="Uniform"/>
+ </RepeatButton>
+ <Track x:Name="PART_Track" Grid.Column="1" IsEnabled="{TemplateBinding IsMouseOver}">
+ <Track.DecreaseRepeatButton>
+ <RepeatButton Command="{x:Static ScrollBar.PageLeftCommand}" Style="{StaticResource RepeatButtonTransparent}"/>
+ </Track.DecreaseRepeatButton>
+ <Track.IncreaseRepeatButton>
+ <RepeatButton Command="{x:Static ScrollBar.PageRightCommand}" Style="{StaticResource RepeatButtonTransparent}"/>
+ </Track.IncreaseRepeatButton>
+ <Track.Thumb>
+ <Thumb Style="{StaticResource ScrollBarThumbHorizontal}"/>
+ </Track.Thumb>
+ </Track>
+ <RepeatButton x:Name="PART_LineRightButton" Grid.Column="2" Command="{x:Static ScrollBar.LineRightCommand}" IsEnabled="{TemplateBinding IsMouseOver}" Style="{StaticResource ScrollBarButton}">
+ <Path x:Name="ArrowRight" Data="M 0 0 L 10 10 L 0 20 Z" Fill="{DynamicResource ScrollBar.Static.Glyph}" Margin="1,2,2,2" Stretch="Uniform"/>
+ </RepeatButton>
+ </Grid>
+ <ControlTemplate.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding IsMouseOver, ElementName=PART_LineRightButton}" Value="true"/>
+ <Condition Binding="{Binding IsPressed, ElementName=PART_LineRightButton}" Value="true"/>
+ </MultiDataTrigger.Conditions>
+ <Setter Property="Fill" TargetName="ArrowRight" Value="{DynamicResource ScrollBar.Pressed.Glyph}"/>
+ </MultiDataTrigger>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding IsMouseOver, ElementName=PART_LineLeftButton}" Value="true"/>
+ <Condition Binding="{Binding IsPressed, ElementName=PART_LineLeftButton}" Value="true"/>
+ </MultiDataTrigger.Conditions>
+ <Setter Property="Fill" TargetName="ArrowLeft" Value="{DynamicResource ScrollBar.Pressed.Glyph}"/>
+ </MultiDataTrigger>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding IsMouseOver, ElementName=PART_LineRightButton}" Value="true"/>
+ <Condition Binding="{Binding IsPressed, ElementName=PART_LineRightButton}" Value="false"/>
+ </MultiDataTrigger.Conditions>
+ <Setter Property="Fill" TargetName="ArrowRight" Value="{DynamicResource ScrollBar.MouseOver.Glyph}"/>
+ </MultiDataTrigger>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding IsMouseOver, ElementName=PART_LineLeftButton}" Value="true"/>
+ <Condition Binding="{Binding IsPressed, ElementName=PART_LineLeftButton}" Value="false"/>
+ </MultiDataTrigger.Conditions>
+ <Setter Property="Fill" TargetName="ArrowLeft" Value="{DynamicResource ScrollBar.MouseOver.Glyph}"/>
+ </MultiDataTrigger>
+ <Trigger Property="IsEnabled" Value="false">
+ <Setter Property="Fill" TargetName="ArrowLeft" Value="{DynamicResource ScrollBar.Disabled.Glyph}"/>
+ <Setter Property="Fill" TargetName="ArrowRight" Value="{DynamicResource ScrollBar.Disabled.Glyph}"/>
+ </Trigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Trigger>
+ </Style.Triggers>
+ </Style>
+
+</ResourceDictionary> \ 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 @@
<ResourceDictionary Source="ToolbarStyle.xaml"/>
<ResourceDictionary Source="TreeViewItem.xaml"/>
<ResourceDictionary Source="ComboboxStyle.xaml"/>
+ <ResourceDictionary Source="DataGridStyle.xaml"/>
+ <ResourceDictionary Source="ScrollViewerStyle.xaml"/>
+ <ResourceDictionary Source="ButtonStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary> \ 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 @@
<Setter Property="Background" Value="{DynamicResource ControlBrushColorKey}"/>
</DataTrigger>
</Style.Triggers>
+ <Style.Resources>
+ <Style TargetType="{x:Type Button}">
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="true">
+ <Grid>
+ <Rectangle x:Name="background" Fill="Transparent" Opacity="1"/>
+ <ContentPresenter x:Name="contentPresenter" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+ </Grid>
+ </Border>
+ <ControlTemplate.Triggers>
+ <Trigger Property="IsDefaulted" Value="true">
+ <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
+ </Trigger>
+ <Trigger Property="IsMouseOver" Value="true">
+ <Setter Property="Fill" TargetName="background" Value="{DynamicResource Toolbar.Button.MaouseMove.Background}"/>
+ </Trigger>
+ <Trigger Property="IsPressed" Value="true">
+ <Setter Property="Fill" TargetName="background" Value="{DynamicResource ControlBrushColorKey}"/>
+ </Trigger>
+ <Trigger Property="IsEnabled" Value="false">
+ <Setter Property="Background" TargetName="border" Value="{DynamicResource Button.Disabled.Background}"/>
+ <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button.Disabled.Border}"/>
+ <Setter Property="TextElement.Foreground" TargetName="contentPresenter" Value="{DynamicResource Button.Disabled.Foreground}"/>
+ </Trigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+ </Style.Resources>
</Style>
<Style x:Key="{x:Static ToolBar.SeparatorStyleKey}" TargetType="{x:Type Separator}">
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/TreeViewItem.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/TreeViewItem.xaml
index f37744004..4814368d0 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/TreeViewItem.xaml
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/TreeViewItem.xaml
@@ -1,6 +1,7 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:local="clr-namespace:Tango.Scripting.IDE.Themes">
+ xmlns:local="clr-namespace:Tango.Scripting.IDE.Themes"
+ xmlns:conv="clr-namespace:Tango.Scripting.IDE.Converters">
<Style x:Key="TangoTreeViewStyle" TargetType="{x:Type TreeView}">
<Setter Property="Background" Value="{DynamicResource TreeBackgroundColor}"/>
<Setter Property="BorderBrush" Value="{DynamicResource ListBorder}"/>
@@ -104,22 +105,23 @@
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TreeViewItem}">
- <Grid x:Name="GridTreeItem">
- <Grid.ColumnDefinitions>
- <ColumnDefinition MinWidth="19" Width="Auto"/>
- <ColumnDefinition Width="Auto"/>
- <ColumnDefinition Width="*"/>
- </Grid.ColumnDefinitions>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto"/>
- <RowDefinition/>
- </Grid.RowDefinitions>
- <ToggleButton x:Name="Expander" ClickMode="Press" IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ExpandCollapseToggleStyle}"/>
- <Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Grid.Column="1" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
- <ContentPresenter x:Name="PART_Header" ContentSource="Header" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
+ <ControlTemplate.Resources>
+ <conv:LeftMarginMultiplierConverter Length="19" x:Key="lengthConverter" />
+ </ControlTemplate.Resources>
+ <StackPanel>
+ <Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
+ <Grid x:Name="GridTreeItem" Margin="{Binding Converter={StaticResource lengthConverter},
+ RelativeSource={RelativeSource TemplatedParent}}">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition MinWidth="19" Width="Auto"/>
+ <ColumnDefinition Width="*"/>
+ </Grid.ColumnDefinitions>
+ <ToggleButton x:Name="Expander" ClickMode="Press" IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ExpandCollapseToggleStyle}"/>
+ <ContentPresenter x:Name="PART_Header" ContentSource="Header" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
+ </Grid>
</Border>
- <ItemsPresenter x:Name="ItemsHost" Grid.ColumnSpan="2" Grid.Column="1" Grid.Row="1"/>
- </Grid>
+ <ItemsPresenter x:Name="ItemsHost"/>
+ </StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsExpanded" Value="false">
<Setter Property="Visibility" TargetName="ItemsHost" Value="Collapsed"/>
@@ -127,8 +129,22 @@
<Trigger Property="HasItems" Value="false">
<Setter Property="Visibility" TargetName="Expander" Value="Hidden"/>
</Trigger>
- <Trigger Property="IsSelected" Value="true">
- <Setter Property="Background" TargetName="GridTreeItem" Value="{DynamicResource ControlBrushColorKey}"/>
+ <MultiTrigger>
+ <MultiTrigger.Conditions>
+ <Condition Property="HasHeader" Value="false"/>
+ <Condition Property="Width" Value="Auto"/>
+ </MultiTrigger.Conditions>
+ <Setter TargetName="PART_Header" Property="MinWidth" Value="75"/>
+ </MultiTrigger>
+ <MultiTrigger>
+ <MultiTrigger.Conditions>
+ <Condition Property="HasHeader" Value="false"/>
+ <Condition Property="Height" Value="Auto"/>
+ </MultiTrigger.Conditions>
+ <Setter TargetName="PART_Header" Property="MinHeight" Value="19"/>
+ </MultiTrigger>
+ <Trigger Property="IsSelected" Value="true">
+ <Setter Property="Background" TargetName="Bd" Value="{DynamicResource ControlBrushColorKey}"/>
<Setter Property="Foreground" Value="{DynamicResource HighlightTextBrushKey}"/>
</Trigger>
<MultiTrigger>
@@ -136,11 +152,11 @@
<Condition Property="IsSelected" Value="true"/>
<Condition Property="IsSelectionActive" Value="false"/>
</MultiTrigger.Conditions>
- <Setter Property="Background" TargetName="GridTreeItem" Value="{DynamicResource Inactive.Selection}"/>
- <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"/>
+ <Setter Property="Background" TargetName="GridTreeItem" Value="{DynamicResource ControlBrushColorKey}"/>
+ <Setter Property="Foreground" Value="{DynamicResource HighlightTextBrushKey}"/>
</MultiTrigger>
<Trigger Property="IsEnabled" Value="false">
- <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"/>
+ <Setter Property="Foreground" Value="{DynamicResource Inactive.Selection}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
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..ffe78f49d
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ViewModelLocator.cs
@@ -0,0 +1,26 @@
+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;
+using Tango.Scripting.IDE.Notifications;
+
+namespace Tango.Scripting.IDE
+{
+ /// <summary>
+ /// This class contains static references to all the view models in the
+ /// application and provides an entry point for the bindings.
+ /// </summary>
+ public static class ViewModelLocator
+ {
+ /// <summary>
+ /// Initializes a new instance of the ViewModelLocator class.
+ /// </summary>
+ static ViewModelLocator()
+ {
+ TangoIOC.Default.Register<INotificationManager, DefaultNotificationManager>();
+ }
+ }
+}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Windows/DialogWindow.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Windows/DialogWindow.xaml
new file mode 100644
index 000000000..683391afd
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Windows/DialogWindow.xaml
@@ -0,0 +1,28 @@
+<mahapps:MetroWindow x:Class="Tango.Scripting.IDE.Windows.DialogWindow"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mahapps="http://metro.mahapps.com/winfx/xaml/controls"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:local="clr-namespace:Tango.Scripting.IDE.Windows"
+ mc:Ignorable="d"
+ Title="Some Title" Height="720" Width="1280"
+ SizeToContent="WidthAndHeight"
+ ResizeMode="NoResize"
+ ShowMaxRestoreButton="False"
+ ShowMinButton="False"
+ ShowCloseButton="False"
+ BorderThickness="1" BorderBrush="Gray" TitleCaps="False">
+ <Window.Resources>
+ <ResourceDictionary>
+ <ResourceDictionary.MergedDictionaries>
+ <ResourceDictionary Source="/Tango.Scripting.IDE;component/Themes/DarkThemesColors.xaml"/>
+ <ResourceDictionary Source="/Tango.Scripting.IDE;component/Themes/ButtonStyle.xaml"/>
+ </ResourceDictionary.MergedDictionaries>
+ </ResourceDictionary>
+ </Window.Resources>
+
+ <Grid>
+
+ </Grid>
+</mahapps:MetroWindow>
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Windows/DialogWindow.xaml.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Windows/DialogWindow.xaml.cs
new file mode 100644
index 000000000..cfddd09e3
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Windows/DialogWindow.xaml.cs
@@ -0,0 +1,28 @@
+using MahApps.Metro.Controls;
+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.Shapes;
+
+namespace Tango.Scripting.IDE.Windows
+{
+ /// <summary>
+ /// Interaction logic for DialogWindow.xaml
+ /// </summary>
+ public partial class DialogWindow : MetroWindow
+ {
+ public DialogWindow()
+ {
+ InitializeComponent();
+ }
+ }
+}