aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE
diff options
context:
space:
mode:
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/Dialogs/AddNewControl.xaml130
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml.cs29
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml33
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs30
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs80
-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/checklist.pngbin0 -> 1053 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist_white126.pngbin0 -> 4060 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/storyboard_white32.pngbin0 -> 1269 bytes
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/storyboard_white_126.pngbin0 -> 4406 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/ProjectType.cs41
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/StubProjectType.cs11
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/UnitTestProjectType.cs12
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml22
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs23
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Tango.Scripting.IDE.csproj39
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ButtonStyle.xaml52
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/DarkThemesColors.xaml32
-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/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/ViewModelLocator.cs33
25 files changed, 1106 insertions, 27 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/Dialogs/AddNewControl.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml
new file mode 100644
index 000000000..e5857e5a5
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml
@@ -0,0 +1,130 @@
+<UserControl x:Class="Tango.Scripting.IDE.Dialogs.AddNewControl"
+ 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" d:DataContext="{d:DesignInstance Type=local:NewProjectDialogVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.NewProjectDialogVM}">
+ <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>
+ </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="5"/>
+ </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" >Location</TextBlock>
+ <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"> Browse...</Button>
+ <TextBlock Grid.Column="0" Grid.Row="4" >Solution name:</TextBlock>
+ <TextBox Grid.Column="1" Grid.Row="4" VerticalAlignment="Center" Text="{Binding SolutionName}"/>
+
+ </Grid>
+ </Border>
+
+ </Grid>
+</UserControl>
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml.cs
new file mode 100644
index 000000000..cdbea2199
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace Tango.Scripting.IDE.Dialogs
+{
+ /// <summary>
+ /// Interaction logic for AddNewControl.xaml
+ /// </summary>
+ public partial class AddNewControl : UserControl
+ {
+ public AddNewControl()
+ {
+ InitializeComponent();
+ }
+
+ }
+}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml
index 7942a7165..9fa8422c9 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml
@@ -1,12 +1,35 @@
-<UserControl x:Class="Tango.Scripting.IDE.Dialogs.NewProjectDialog"
+<Window 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:global="clr-namespace:Tango.Scripting.IDE"
xmlns:local="clr-namespace:Tango.Scripting.IDE.Dialogs"
mc:Ignorable="d"
- d:DesignHeight="450" d:DesignWidth="800">
- <Grid>
-
+ Title="Add New Project"
+ WindowStyle="ToolWindow"
+ ResizeMode="NoResize" ShowInTaskbar="False" WindowStartupLocation="CenterScreen"
+ FontSize="12"
+ Height="630" Width="950" >
+ <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 Background="{DynamicResource Window.Background}">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="*"/>
+ <RowDefinition Height="40"/>
+ </Grid.RowDefinitions>
+ <local:AddNewControl Grid.Row="0" Margin="10,10,10,0"/>
+ <Border Grid.Row="1">
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" >
+ <Button Style="{DynamicResource TangoButtonStyle}" Click="OKDialog" IsDefault="True" Width="80" Height="24">OK</Button>
+ <Button Margin="8,0,15,0" Style="{DynamicResource TangoButtonStyle}" Click="CancelDialog" Width="80" Height="24">Cancel</Button>
+ </StackPanel>
+ </Border>
</Grid>
-</UserControl>
+</Window>
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs
index 376190e3a..f3e05e35f 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs
@@ -1,4 +1,5 @@
-using System;
+
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -18,11 +19,34 @@ namespace Tango.Scripting.IDE.Dialogs
/// <summary>
/// Interaction logic for NewProjectDialog.xaml
/// </summary>
- public partial class NewProjectDialog : UserControl
+ public partial class NewProjectDialog : Window
{
- public NewProjectDialog()
+ static string _sAddNewProjectTitle = "Add New Project";
+ static string _sNewProjectTitle = "New Project";
+ protected bool _bNewProject;
+
+
+ public NewProjectDialog(bool bNewProject)
{
+ _bNewProject = bNewProject;
+
InitializeComponent();
+ Title = bNewProject ? _sAddNewProjectTitle : _sNewProjectTitle;
+
+ }
+ private void CancelDialog(object sender, RoutedEventArgs e)
+ {
+ // Dialog box canceled
+ DialogResult = false;
+ }
+
+ private void OKDialog(object sender, RoutedEventArgs e)
+ {
+ // Don't accept the dialog box if there is invalid data
+ // if (!IsValid(this)) return;
+
+ // Dialog box accepted
+ DialogResult = true;
}
}
}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs
index 3c25e70f3..f7e31b75a 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs
@@ -1,14 +1,92 @@
using System;
using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using System.Windows.Media.Imaging;
+using Tango.Scripting.IDE.ProjectTypes;
using Tango.SharedUI;
namespace Tango.Scripting.IDE.Dialogs
{
- public class NewProjectDialogVM : ViewModel
+ public class NewProjectDialogVM : DialogViewVM
{
+ public ObservableCollection<IProjectType> ProjectTypes { get; set; }
+ public List<String> Locations { get; set; }
+ private IProjectType _selectedProjectType = null;
+ public IProjectType SelectedProjectType
+ {
+ get { return _selectedProjectType; }
+ set { _selectedProjectType = value;
+ RaisePropertyChangedAuto();
+ RaisePropertyChanged("LargeImage");
+ RaisePropertyChanged("SelectedDescription");
+ }
+ }
+ private BitmapSource _defaultLargeImage = ProjectType.GetImage("Images/test.png");
+ public BitmapSource LargeImage
+ {
+ get
+ {
+ if (SelectedProjectType != null)
+ return SelectedProjectType.LargeImage;
+ else return _defaultLargeImage;
+ }
+ }
+ public string SelectedDescription
+ {
+ get
+ {
+ if (SelectedProjectType != null)
+ return SelectedProjectType.Description;
+ return "";
+ }
+ }
+ private String _projectName = "App1";
+ public String ProjectName
+ {
+ get { return _projectName; }
+ set { _projectName = value; RaisePropertyChangedAuto(); }
+ }
+ private String _projectLocation;
+ public String ProjectLocation
+ {
+ get { return _projectLocation; }
+ set { _projectLocation = value; RaisePropertyChangedAuto(); }
+ }
+
+ private String _solutionName = "App1";
+ public String SolutionName
+ {
+ get { return _solutionName; }
+ set { _solutionName = value; RaisePropertyChangedAuto(); }
+ }
+ public NewProjectDialogVM() : base()
+ {
+ ProjectTypes = new ObservableCollection<IProjectType>();
+ RegisterProjectType(new StubProjectType());
+ RegisterProjectType(new UnitTestProjectType());
+
+ _selectedProjectType = ProjectTypes.FirstOrDefault();
+
+ string workingDirectory = Environment.CurrentDirectory;
+ _projectLocation = Directory.GetParent(workingDirectory).Parent.Parent.FullName;
+
+ Locations = new List<string>();
+ Locations.Add(_projectLocation);
+
+ }
+ public void RegisterProjectType(IProjectType projectType)
+ {
+ ProjectTypes.Add(projectType);
+ }
+
+ public void UnRegisterProjectItemHandler(IProjectType projectType)
+ {
+ ProjectTypes.Remove(projectType);
+ }
}
}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IProjectType.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IProjectType.cs
index ed9ff51a8..19a234db3 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IProjectType.cs
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/IProjectType.cs
@@ -16,6 +16,7 @@ namespace Tango.Scripting.IDE
String Description { get; }
- BitmapSource Image { get; }
+ BitmapSource SmallImage { get; }
+ BitmapSource LargeImage { get; }
}
}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist.png
new file mode 100644
index 000000000..fc3e7a416
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist.png
Binary files differ
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist_white126.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist_white126.png
new file mode 100644
index 000000000..a49c21379
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/checklist_white126.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/storyboard_white32.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/storyboard_white32.png
new file mode 100644
index 000000000..875611302
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/storyboard_white32.png
Binary files differ
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/storyboard_white_126.png b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/storyboard_white_126.png
new file mode 100644
index 000000000..a06e8e1c8
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Images/storyboard_white_126.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/ProjectType.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectType.cs
new file mode 100644
index 000000000..4b3f6085b
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectType.cs
@@ -0,0 +1,41 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Media.Imaging;
+using Tango.SharedUI.Helpers;
+
+namespace Tango.Scripting.IDE
+{
+ public abstract class ProjectType : IProjectType
+ {
+ private static Dictionary<String, BitmapSource> _imageCache;
+
+ static ProjectType()
+ {
+ _imageCache = new Dictionary<string, BitmapSource>();
+ }
+
+ public abstract string Name { get; }
+ public abstract string Description { get; }
+ public abstract BitmapSource SmallImage { get; }
+ public abstract BitmapSource LargeImage { get; }
+
+ public static BitmapSource GetImage(String name)
+ {
+ if (_imageCache.ContainsKey(name))
+ {
+ return _imageCache[name];
+ }
+ else
+ {
+ var image = ResourceHelper.GetImageFromResources(name);
+ _imageCache.Add(name, image);
+ return image;
+ }
+ }
+
+ public abstract IProject NewProject(string projectPath);
+ }
+}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/StubProjectType.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/StubProjectType.cs
index 4450f4a39..b26d45cff 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/StubProjectType.cs
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/StubProjectType.cs
@@ -10,9 +10,9 @@ using Tango.Scripting.IDE.Projects;
namespace Tango.Scripting.IDE.ProjectTypes
{
- public class StubProjectType : IProjectType
+ public class StubProjectType : ProjectType
{
- public IProject NewProject(string projectPath)
+ public override IProject NewProject(string projectPath)
{
StubProject project = new StubProject();
@@ -39,8 +39,9 @@ namespace Tango.Scripting.IDE.ProjectTypes
return project;
}
- public string Name => "Unit Test Project";
- public string Description => "Create a unit test project template.";
- public BitmapSource Image { get; }
+ public override string Name => "Stub Project";
+ public override string Description => "Create a stub project template.";
+ public override BitmapSource SmallImage => GetImage("Images/storyboard_white32.png");
+ public override BitmapSource LargeImage => GetImage("Images/storyboard_white_126.png");
}
}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/UnitTestProjectType.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/UnitTestProjectType.cs
index 4519e5aca..01926a2ba 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/UnitTestProjectType.cs
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/UnitTestProjectType.cs
@@ -10,9 +10,9 @@ using Tango.Scripting.IDE.Projects;
namespace Tango.Scripting.IDE.ProjectTypes
{
- public class UnitTestProjectType : IProjectType
+ public class UnitTestProjectType : ProjectType
{
- public IProject NewProject(string projectPath)
+ public override IProject NewProject(string projectPath)
{
UnitTestProject project = new UnitTestProject();
@@ -36,8 +36,10 @@ namespace Tango.Scripting.IDE.ProjectTypes
return project;
}
- public string Name => "Unit Test Project";
- public string Description => "Create a unit test project template.";
- public BitmapSource Image { get; }
+ public override string Name => "Unit Test Project";
+ public override string Description => "Create a unit test project template.";
+ public override BitmapSource SmallImage => GetImage("Images/checklist_white_32.png");
+ public override BitmapSource LargeImage => GetImage("Images/checklist_white126.png");
+
}
}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml
index a28101a17..e2f7de2ad 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml
@@ -24,7 +24,10 @@
</Grid.RowDefinitions>
<Menu Grid.Row="0" HorizontalAlignment="Stretch" Margin="0,0,0,0" Style="{DynamicResource TangoMenuStyle}">
<MenuItem Header="File">
- <MenuItem Header="New"></MenuItem>
+ <MenuItem Header="New">
+ <MenuItem Header="New Project" Command="{Binding NewProjectCommand}">
+ </MenuItem>
+ </MenuItem>
<MenuItem Header="Open"></MenuItem>
<MenuItem Header="Start page"></MenuItem>
<Separator/>
@@ -111,8 +114,19 @@
<Grid Grid.Row="2" Background="{DynamicResource Background.Static}">
<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">
+ <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"/>
+ </TabItem>
+ <TabItem Header="Output">
+ <ListBox ScrollViewer.VerticalScrollBarVisibility="Visible"
+ ScrollViewer.HorizontalScrollBarVisibility="Visible">
+
+ </ListBox>
+ </TabItem>
</TabControl>
</Border>
</Grid>
@@ -122,7 +136,7 @@
<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}" >
+ <TreeView Style="{DynamicResource TangoTreeViewStyle}" ItemsSource="{Binding Solution.Projects}" Background="{DynamicResource TabItem.Content.Static}" Padding="0,8,0,0">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Path=Items}" DataType="{x:Type local:IProject}">
<controls:SolutionItemControl SolutionItem="{Binding}" OpenCommand="{Binding ElementName=control,Path=DataContext.OpenProjectItemCommand}" />
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs
index e52b58775..634b4d64d 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs
@@ -4,7 +4,10 @@ using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Media.Imaging;
using Tango.Core.Commands;
+using Tango.Scripting.IDE.Controls;
using Tango.Scripting.IDE.Projects;
using Tango.Scripting.IDE.ProjectTypes;
using Tango.SharedUI;
@@ -14,6 +17,7 @@ namespace Tango.Scripting.IDE
public class ScriptIDEViewVM : ViewModel
{
private List<IProjectType> _projectTypes;
+ public ObservableCollection<ErrorData> ErrorList { get; set; }
#region Properties
@@ -44,11 +48,11 @@ namespace Tango.Scripting.IDE
get { return _openProjectItems; }
set { _openProjectItems = value; RaisePropertyChangedAuto(); }
}
-
+
#endregion
#region Commands
-
+ public RelayCommand NewProjectCommand { get; set; }
public RelayCommand<IProjectItem> OpenProjectItemCommand { get; set; }
public RelayCommand<IProjectItem> CloseProjectItemCommand { get; set; }
@@ -61,13 +65,16 @@ namespace Tango.Scripting.IDE
{
_projectTypes = new List<IProjectType>();
OpenProjectItems = new ObservableCollection<IProjectItem>();
+ ErrorList = new ObservableCollection<ErrorData>();
RegisterProjectType(new StubProjectType());
+ RegisterProjectType(new UnitTestProjectType());
Solution = new Solution();
Solution.Projects.Add(_projectTypes.First().NewProject("Test Project.stub"));
//Init Commands
+ NewProjectCommand = new RelayCommand(AddNewProject);
OpenProjectItemCommand = new RelayCommand<IProjectItem>(OpenProjectItem);
CloseProjectItemCommand = new RelayCommand<IProjectItem>(CloseProjectItem);
}
@@ -102,7 +109,17 @@ namespace Tango.Scripting.IDE
{
_projectTypes.Remove(projectType);
}
-
+ /// <summary>
+ /// Open a dialog to create a new project
+ /// </summary>
+ private void AddNewProject()
+ {
+ Dialogs.NewProjectDialog dialog = new Dialogs.NewProjectDialog(true);
+ if(dialog.ShowDialog() == true)
+ {
+ MessageBox.Show("You said: OK");
+ }
+ }
#endregion
}
}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Tango.Scripting.IDE.csproj b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Tango.Scripting.IDE.csproj
index 5dde283e0..645978cac 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Tango.Scripting.IDE.csproj
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Tango.Scripting.IDE.csproj
@@ -37,6 +37,7 @@
<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="PresentationFramework.Aero2" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
@@ -65,9 +66,13 @@
<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\AddNewControl.xaml.cs">
+ <DependentUpon>AddNewControl.xaml</DependentUpon>
+ </Compile>
<Compile Include="Dialogs\NewProjectDialog.xaml.cs">
<DependentUpon>NewProjectDialog.xaml</DependentUpon>
</Compile>
@@ -86,6 +91,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,6 +103,11 @@
<Compile Include="ScriptIDEViewVM.cs" />
<Compile Include="Solution.cs" />
<Compile Include="Projects\StubProject.cs" />
+ <Compile Include="ViewModelLocator.cs" />
+ <Page Include="Dialogs\AddNewControl.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
<Page Include="Dialogs\NewProjectDialog.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -117,6 +128,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 +140,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 +156,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>
@@ -216,5 +239,21 @@
<ItemGroup>
<Resource Include="Images\OpenFolder_16x.png" />
</ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\checklist.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\checklist_white_32.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\checklist_white126.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\storyboard_white32.png" />
+ <Resource Include="Images\storyboard_white_126.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\test.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..21ed3b4b8
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/ButtonStyle.xaml
@@ -0,0 +1,52 @@
+<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="Background" TargetName="border" Value="{DynamicResource Button.MouseOver.Background}"/>
+ <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>
+
+</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..011b26c0d 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/DarkThemesColors.xaml
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Themes/DarkThemesColors.xaml
@@ -11,6 +11,8 @@
<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"/>
@@ -62,4 +64,34 @@
<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"/>
+
</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/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/ViewModelLocator.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ViewModelLocator.cs
new file mode 100644
index 000000000..71cb6cd19
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ViewModelLocator.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.Core.DI;
+using Tango.Scripting.IDE.Dialogs;
+
+namespace Tango.Scripting.IDE
+{
+ /// <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<NewProjectDialogVM>();
+ }
+
+ public static NewProjectDialogVM NewProjectDialogVM
+ {
+ get
+ {
+ return TangoIOC.Default.GetInstance<NewProjectDialogVM>();
+ }
+ }
+ }
+}