aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/TEMP
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2019-04-01 00:14:28 +0300
committerShlomo Hecht <shlomo@twine-s.com>2019-04-01 00:14:28 +0300
commitf53099c8fddc7374857d29ee5521c00d91ec6d70 (patch)
tree4945687b08c716788666a6466a03cdab4becb733 /Software/Visual_Studio/TEMP
parentdf688ddc3e919acd254d79b73eaa22bd73d92062 (diff)
parent09eea5f5f8ab13a98fd4f106180230916d4885b8 (diff)
downloadTango-f53099c8fddc7374857d29ee5521c00d91ec6d70.tar.gz
Tango-f53099c8fddc7374857d29ee5521c00d91ec6d70.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/TEMP')
-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.xaml132
-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.cs40
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs83
-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/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 -> 205 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/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.xaml81
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs28
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Tango.Scripting.IDE.csproj61
-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
39 files changed, 1201 insertions, 33 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..e49925dad
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml
@@ -0,0 +1,132 @@
+<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>
+ <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="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" Visibility="{Binding Path=IsNewSolutionDialog, Converter={StaticResource BoolToVis}}" Text="Location"/>
+ <Border Background="{DynamicResource ListBorder}" Grid.Column="1" Grid.Row="2" Margin="0,2,0,2" BorderBrush="{DynamicResource Button.Static.Border}" Visibility="{Binding Path=IsNewSolutionDialog, Converter={StaticResource BoolToVis}}">
+ <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" Visibility="{Binding Path=IsNewSolutionDialog, Converter={StaticResource BoolToVis}}" Content="Browse..."/>
+ <TextBlock Grid.Column="0" Grid.Row="4" Visibility="{Binding Path=IsNewSolutionDialog, Converter={StaticResource BoolToVis}}" Text="Solution name:"/>
+ <TextBox Grid.Column="1" Grid.Row="4" VerticalAlignment="Center" Text="{Binding SolutionName}" Visibility="{Binding Path=IsNewSolutionDialog, Converter={StaticResource BoolToVis}}"/>
+
+ </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..914740ede 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 x:Name="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..24c9511e7 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs
@@ -1,4 +1,5 @@
-using System;
+
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -18,11 +19,44 @@ 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;
+ Loaded += DialogLoaded;
+
+
+ }
+ private void DialogLoaded(object sender, RoutedEventArgs e)
+ {
+ if (AddNewControl.DataContext is NewProjectDialogVM)
+ {
+ (AddNewControl.DataContext as NewProjectDialogVM).IsNewSolutionDialog = _bNewProject;
+ }
+ }
+
+ private void CancelDialog(object sender, RoutedEventArgs e)
+ {
+ // Dialog box canceled
+ DialogResult = false;
+ }
+
+ private void OKDialog(object sender, RoutedEventArgs e)
+ {
+ // Don't accept the dialog box if there is invalid data
+ // if (!IsValid(this)) return;
+
+ // Dialog box accepted
+ DialogResult = true;
}
}
}
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs
index 3c25e70f3..1dd0e3205 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs
@@ -1,14 +1,95 @@
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(); }
+ }
+
+ bool _isNewSolutionDialog = false;
+ public bool IsNewSolutionDialog { get { return _isNewSolutionDialog; } set { _isNewSolutionDialog = 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/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/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..7d1b1551a
--- /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/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..42e40756e 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/StubProjectType.cs
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/StubProjectType.cs
@@ -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/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..c4cdcc6ab 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/UnitTestProjectType.cs
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ProjectTypes/UnitTestProjectType.cs
@@ -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/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..7dbf5541f 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEView2.xaml
@@ -14,6 +14,7 @@
<ResourceDictionary Source="Themes/DarkThemesColors.xaml"/>
<ResourceDictionary Source="Themes/Shared.xaml"/>
</ResourceDictionary.MergedDictionaries>
+ <BooleanToVisibilityConverter x:Key="BoolToVis" />
</ResourceDictionary>
</UserControl.Resources>
<Grid Background="{DynamicResource Background.Static}">
@@ -24,8 +25,15 @@
</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="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>
@@ -39,7 +47,7 @@
</MenuItem>
<MenuItem Header="SaveAll">
<MenuItem.Icon>
- <Image Source="/Tango.Scripting.IDE;component/Images/SaveAll_16x.png" Height="10"/>
+ <Image Source="/Tango.Scripting.IDE;component/Images/Images/SaveAll_16x.png" Height="10"/>
</MenuItem.Icon>
</MenuItem>
<Separator/>
@@ -62,19 +70,63 @@
<Button Click="Button_Click" ToolTip="Open File">
<Image Source="/Tango.Scripting.IDE;component/Images/OpenFolder_16x.png" Height="16"/>
</Button>
- <Button Click="Button_Click" ToolTip="Open File">
+ <Button Click="Button_Click" ToolTip="Save File">
<Image Source="/Tango.Scripting.IDE;component/Images/Save_16x.png" Height="16"/>
</Button>
- <Button Click="Button_Click" ToolTip="Open File">
+ <Button Click="Button_Click" ToolTip="Save All">
<Image Source="/Tango.Scripting.IDE;component/Images/SaveAll_16x.png" Height="16"/>
</Button>
<Separator ></Separator>
+ <Button Click="Button_Click" ToolTip="Undo">
+ <Image Source="/Tango.Scripting.IDE;component/Images/Undo_16x.png" Height="16"/>
+ </Button>
+ <Button Click="Button_Click" ToolTip="Redo">
+ <Image Source="/Tango.Scripting.IDE;component/Images/Redo_16x.png" Height="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="False">
+ <ToggleButton.Template>
+ <ControlTemplate TargetType="{x:Type ToggleButton}">
+ <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>
+ <ControlTemplate.Triggers>
+ <Trigger Property="IsChecked" Value="True">
+ <Setter Property="Foreground" TargetName="Run_Text" Value="{DynamicResource Inactive.Selection}"/>
+ <Setter Property="Fill" TargetName="RunArrow" Value="{DynamicResource Inactive.Selection}"/>
+ <Setter Property="Text" TargetName="Run_Text" Value="Continue"/>
+ </Trigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </ToggleButton.Template>
+ </ToggleButton>
+ <Button Click="Button_Click" ToolTip="Pause" Visibility="{Binding IsChecked, ElementName=Run_Button, Converter={StaticResource BoolToVis}}">
+ <Image Source="/Tango.Scripting.IDE;component/Images/Pause_16x.png" Height="16"/>
+ </Button>
+ <Button Click="Button_Click" ToolTip="Stop" Visibility="{Binding IsChecked, ElementName=Run_Button, Converter={StaticResource BoolToVis}}">
+ <Image Source="/Tango.Scripting.IDE;component/Images/stop.png" Height="16"/>
+ </Button>
+
</ToolBar>
</ToolBarTray>
<Grid Grid.Row="2">
@@ -111,8 +163,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 +185,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..3fc0ce0e1 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/ScriptIDEViewVM.cs
@@ -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
@@ -48,10 +52,11 @@ namespace Tango.Scripting.IDE
#endregion
#region Commands
-
+ public RelayCommand NewProjectCommand { get; set; }
public RelayCommand<IProjectItem> OpenProjectItemCommand { get; set; }
public RelayCommand<IProjectItem> CloseProjectItemCommand { get; set; }
+ public RelayCommand RunProject { get; set; }
#endregion
@@ -61,15 +66,24 @@ 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);
+ RunProject = new RelayCommand(RunProjectCommand);
+ }
+
+ private void RunProjectCommand(object obj)
+ {
+ MessageBox.Show("You said: RunProjectCommand");
}
#endregion
@@ -102,7 +116,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..0c53ed629 100644
--- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Tango.Scripting.IDE.csproj
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Tango.Scripting.IDE.csproj
@@ -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>
@@ -208,13 +231,47 @@
<Resource Include="Images\Save_16x.png" />
</ItemGroup>
<ItemGroup>
+ <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..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>();
+ }
+ }
+ }
+}