aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2019-04-23 22:25:54 +0300
committerShlomo Hecht <shlomo@twine-s.com>2019-04-23 22:25:54 +0300
commitebcb9ce27131e4bbd14c96b5f897a67bc752aaeb (patch)
tree293aee8b1751ce7fce542645722c0f1a96b73097 /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common
parent52967e858bd52621208f6360e84f4c47ec435816 (diff)
parent636ad730569dfef1a4ee04c8d716d510bcc47ee1 (diff)
downloadTango-ebcb9ce27131e4bbd14c96b5f897a67bc752aaeb.tar.gz
Tango-ebcb9ce27131e4bbd14c96b5f897a67bc752aaeb.zip
merge alarm handling from remote
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/IRealTimeGraph.cs35
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/MachineView.xaml268
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/MachineView.xaml.cs28
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/RealTimeGraphControl.xaml65
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/WpfGraphControl.cs (renamed from Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/RealTimeGraphControl.xaml.cs)83
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/android.pngbin0 -> 1416 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/app.pngbin0 -> 1211 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/application-firmware.pngbin0 -> 953 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/cartridge.pngbin0 -> 818 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/dispenser.pngbin0 -> 11951 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/embedded-software.pngbin0 -> 768 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/embedded.pngbin0 -> 560 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/formula.pngbin0 -> 853 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/hardware.pngbin0 -> 1005 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/injection.pngbin0 -> 901 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/liquid.pngbin0 -> 1043 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/machine-full-fx.pngbin0 -> 217186 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/mid-tank.pngbin0 -> 2164 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/tablet.pngbin0 -> 792 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/tank.pngbin0 -> 684 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/ti-tm4c129x.pngbin0 -> 271765 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Resources/MaterialDesign.xaml29
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj78
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Themes/Generic.xaml87
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Video/DefaultVideoCaptureProvider.cs17
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/app.config24
26 files changed, 517 insertions, 197 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/IRealTimeGraph.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/IRealTimeGraph.cs
deleted file mode 100644
index dcf2cdf81..000000000
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/IRealTimeGraph.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using RealTimeGraphEx;
-using RealTimeGraphEx.Controllers;
-using RealTimeGraphX;
-using RealTimeGraphX.WPF.DataSeries;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Tango.MachineStudio.Common.Controls
-{
- public interface IRealTimeGraph
- {
- /// <summary>
- /// Gets or sets the name of the sensor.
- /// </summary>
- String DisplayName { get; set; }
-
- /// <summary>
- /// Gets or sets the tag.
- /// </summary>
- Object Tag { get; set; }
-
- /// <summary>
- /// Gets or sets the sensor units.
- /// </summary>
- String DisplayUnits { get; set; }
-
- /// <summary>
- /// Gets or sets the inner graph controller.
- /// </summary>
- IGraphController<WpfDataSeries> Controller { get; set; }
- }
-}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/MachineView.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/MachineView.xaml
new file mode 100644
index 000000000..6f352f35c
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/MachineView.xaml
@@ -0,0 +1,268 @@
+<UserControl x:Class="Tango.MachineStudio.Common.Controls.MachineView"
+ 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:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
+ xmlns:sharedConverters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
+ xmlns:local="clr-namespace:Tango.MachineStudio.Common.Controls"
+ mc:Ignorable="d"
+ d:DesignHeight="720" d:DesignWidth="1280">
+
+ <UserControl.Resources>
+ <sharedConverters:ColorToIntegerConverter x:Key="ColorToIntegerConverter" />
+
+ <Style TargetType="Expander" BasedOn="{StaticResource {x:Type Expander}}">
+ <Setter Property="HeaderTemplate">
+ <Setter.Value>
+ <DataTemplate>
+ <TextBlock Text="{Binding}" FontSize="13"></TextBlock>
+ </DataTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+ </UserControl.Resources>
+
+ <Grid>
+ <Viewbox MaxWidth="1200" Grid.Row="1" >
+ <Grid VerticalAlignment="Top">
+
+ <Image IsHitTestVisible="False" Source="../Images/machine-full-fx.png" MaxWidth="800" RenderOptions.BitmapScalingMode="Fant">
+ <Image.Effect>
+ <DropShadowEffect ShadowDepth="0" BlurRadius="20" Opacity="1" RenderingBias="Performance" Color="DimGray"></DropShadowEffect>
+ </Image.Effect>
+ </Image>
+
+ <Canvas ClipToBounds="False" x:Name="canvas">
+
+ <Grid x:Name="hardwareGrid" Width="118" Height="27" Canvas.Left="342" Canvas.Top="80" Background="#6B303030" IsHitTestVisible="True">
+ <Border BorderBrush="#6C6C6C" BorderThickness="1" IsHitTestVisible="False">
+ <StackPanel Orientation="Horizontal">
+ <Image Source="../Images/hardware.png" Width="10" VerticalAlignment="Center" Margin="5" RenderOptions.BitmapScalingMode="Fant"></Image>
+ <TextBlock Padding="2 0 2 0" VerticalAlignment="Center" TextAlignment="Center" Foreground="Gainsboro" IsHitTestVisible="False" FontSize="6" TextWrapping="Wrap">
+ <Run Text="{Binding Configuration.HardwareVersion.Name}"></Run>
+ <Run Text="{Binding Configuration.HardwareVersion.Version}"></Run>
+ </TextBlock>
+ </StackPanel>
+ </Border>
+ </Grid>
+
+ <TextBlock Canvas.Left="532" FontStyle="Italic" Foreground="Gray" Canvas.Top="-22">Hardware</TextBlock>
+ <Grid Width="97" Height="90" Canvas.Left="431" Canvas.Top="-13">
+ <Rectangle Stroke="Gray" VerticalAlignment="Top" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
+ <Rectangle Stroke="Gray" HorizontalAlignment="Left" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
+ </Grid>
+
+ <UniformGrid Width="310" Canvas.Top="295" Canvas.Left="420" Rows="1" Columns="8" TextElement.FontSize="9">
+ <TextBlock HorizontalAlignment="Center">1</TextBlock>
+ <TextBlock HorizontalAlignment="Center">2</TextBlock>
+ <TextBlock HorizontalAlignment="Center">3</TextBlock>
+ <TextBlock HorizontalAlignment="Center">4</TextBlock>
+ <TextBlock HorizontalAlignment="Center">5</TextBlock>
+ <TextBlock HorizontalAlignment="Center">6</TextBlock>
+ <TextBlock HorizontalAlignment="Center">7</TextBlock>
+ <TextBlock HorizontalAlignment="Center">8</TextBlock>
+ </UniformGrid>
+
+ <Grid x:Name="gridIds" Width="310" Height="195" Canvas.Top="314" Canvas.Left="420">
+ <ListBox ItemsSource="{Binding Configuration.IdsPacks}" ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
+ <ListBox.ItemContainerStyle>
+ <Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
+ <Setter Property="Padding" Value="0"></Setter>
+ <Setter Property="VerticalContentAlignment" Value="Stretch"></Setter>
+ <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
+ </Style>
+ </ListBox.ItemContainerStyle>
+ <ItemsControl.ItemsPanel>
+ <ItemsPanelTemplate>
+ <UniformGrid Columns="8"></UniformGrid>
+ </ItemsPanelTemplate>
+ </ItemsControl.ItemsPanel>
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <Grid>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="1*"/>
+ <RowDefinition Height="30"/>
+ </Grid.RowDefinitions>
+ <UniformGrid Columns="1" Rows="2">
+ <Grid Margin="2">
+ <Image IsHitTestVisible="False" Source="../Images/dispenser.png" RenderOptions.BitmapScalingMode="Fant">
+ <Image.Style>
+ <Style TargetType="Image">
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding Dispenser}" Value="{x:Null}">
+ <Setter Property="Opacity" Value="0.2"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Image.Style>
+ </Image>
+ <Rectangle IsHitTestVisible="False" Margin="14 25 13 34">
+ <Rectangle.Fill>
+ <LinearGradientBrush StartPoint="0,0" EndPoint="0,0.8" Opacity="0.8">
+ <GradientStop Offset="0" Color="Transparent" />
+ <GradientStop Offset="1" Color="{Binding LiquidType.Color,Converter={StaticResource ColorToIntegerConverter}}"/>
+ </LinearGradientBrush>
+ </Rectangle.Fill>
+ </Rectangle>
+ </Grid>
+
+ <Grid Margin="2">
+ <Image IsHitTestVisible="False" Stretch="Fill" Source="../Images/mid-tank.png" RenderOptions.BitmapScalingMode="Fant">
+ <Image.Style>
+ <Style TargetType="Image">
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding MidTankType}" Value="{x:Null}">
+ <Setter Property="Opacity" Value="0.2"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Image.Style>
+ </Image>
+ <Rectangle IsHitTestVisible="False" Margin="4 25 4 1">
+ <Rectangle.Fill>
+ <LinearGradientBrush StartPoint="0,0" EndPoint="0,0.8" Opacity="0.8">
+ <GradientStop Offset="0" Color="Transparent" />
+ <GradientStop Offset="1" Color="{Binding LiquidType.Color,Converter={StaticResource ColorToIntegerConverter}}"/>
+ </LinearGradientBrush>
+ </Rectangle.Fill>
+ </Rectangle>
+ </Grid>
+ </UniformGrid>
+
+ <Grid Grid.Row="1" Margin="3" IsHitTestVisible="False">
+ <Grid.Style>
+ <Style TargetType="Grid">
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding CartridgeType}" Value="{x:Null}">
+ <Setter Property="Opacity" Value="0.2"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Grid.Style>
+ <Border BorderBrush="#252525" BorderThickness="1" CornerRadius="3">
+ <Border.Background>
+ <LinearGradientBrush>
+ <GradientStop Color="#FF252525"/>
+ <GradientStop Color="#FF838383" Offset="1"/>
+ </LinearGradientBrush>
+ </Border.Background>
+ </Border>
+ <Border BorderBrush="#252525" BorderThickness="1" CornerRadius="3">
+ <Border.Background>
+ <LinearGradientBrush Opacity="0.7">
+ <GradientStop Offset="0" Color="Transparent" />
+ <GradientStop Offset="1" Color="{Binding LiquidType.Color,Converter={StaticResource ColorToIntegerConverter}}"/>
+ </LinearGradientBrush>
+ </Border.Background>
+ </Border>
+ </Grid>
+ </Grid>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ListBox>
+
+ <Grid Margin="0 50 0 0">
+ <Grid.Style>
+ <Style TargetType="Grid">
+ <Setter Property="Visibility" Value="Hidden"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding Configuration.IdsPacks.Count}" Value="0">
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Grid.Style>
+ <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="20" FontWeight="Bold" Foreground="Gainsboro">NO IDS PACKS</TextBlock>
+ </Grid>
+
+ <Rectangle VerticalAlignment="Bottom" Stroke="DimGray" StrokeThickness="1">
+ <Rectangle.Effect>
+ <DropShadowEffect ShadowDepth="1" Opacity="1" Color="Black" />
+ </Rectangle.Effect>
+ </Rectangle>
+ </Grid>
+
+ <Grid x:Name="gridEmbedded" Width="70" Height="100" Canvas.Left="80" Canvas.Top="331" IsHitTestVisible="True" SnapsToDevicePixels="True">
+ <Image Source="../Images/ti-tm4c129x.png" RenderOptions.BitmapScalingMode="Fant"></Image>
+ </Grid>
+
+ <Grid Width="61" IsHitTestVisible="True" SnapsToDevicePixels="True" ClipToBounds="True" Height="42" Canvas.Left="85" Canvas.Top="385">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="1*" />
+ </Grid.RowDefinitions>
+
+ <StackPanel Orientation="Horizontal">
+ <Image Source="../Images/embedded.png" Width="10" VerticalAlignment="Center" Margin="1" RenderOptions.BitmapScalingMode="Fant"></Image>
+ <TextBlock VerticalAlignment="Center" Padding="1" Foreground="Gainsboro" IsHitTestVisible="False" FontSize="5" TextAlignment="Center" TextWrapping="Wrap" Height="15" Margin="0,6,0,0" Width="47"><Run Text="{Binding Configuration.EmbeddedFirmwareVersion.Name}"/><Run Text=" "/><Run Text="{Binding Configuration.EmbeddedFirmwareVersion.Version}"/></TextBlock>
+ </StackPanel>
+ </Grid>
+
+ <TextBlock Canvas.Top="163" Canvas.Left="288" FontStyle="Italic" Foreground="Gray">Touch Panel</TextBlock>
+ <Grid Width="53" Height="55" Canvas.Top="184" Canvas.Left="279">
+ <Rectangle Stroke="Gray" VerticalAlignment="Bottom" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
+ <Rectangle Stroke="Gray" HorizontalAlignment="Right" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
+ </Grid>
+
+ <TextBlock Canvas.Top="441" Canvas.Left="156" FontStyle="Italic" Foreground="Gray">Embedded Firmware</TextBlock>
+ <Grid Width="82" Height="26" Canvas.Top="410" Canvas.Left="158">
+ <Rectangle Stroke="Gray" VerticalAlignment="Top" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
+ <Rectangle Stroke="Gray" HorizontalAlignment="Right" StrokeThickness="1" StrokeDashArray="6" RenderTransformOrigin="0.5,0.5"/>
+ </Grid>
+
+ <TextBlock Canvas.Top="310" Canvas.Left="340" FontStyle="Italic" Foreground="Gray">Dispensers</TextBlock>
+ <Grid Width="53" Height="20" Canvas.Top="331" Canvas.Left="377">
+ <Rectangle Stroke="Gray" VerticalAlignment="Bottom" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
+ <Rectangle Stroke="Gray" HorizontalAlignment="Left" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
+ </Grid>
+
+ <TextBlock Canvas.Top="395" Canvas.Left="331" FontStyle="Italic" Foreground="Gray">Mid Tanks</TextBlock>
+ <Grid Width="62" Height="29" Canvas.Top="418" Canvas.Left="357">
+ <Rectangle Stroke="Gray" VerticalAlignment="Bottom" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
+ <Rectangle Stroke="Gray" HorizontalAlignment="Left" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
+ </Grid>
+
+ <TextBlock Canvas.Top="469" Canvas.Left="304" FontStyle="Italic" Foreground="Gray">Cartridges</TextBlock>
+ <Grid Width="87" Height="10" Canvas.Top="487" Canvas.Left="332">
+ <Rectangle Stroke="Gray" VerticalAlignment="Bottom" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
+ <Rectangle Stroke="Gray" HorizontalAlignment="Left" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
+ </Grid>
+
+ <Grid x:Name="gridTablet" Width="67" IsHitTestVisible="True" SnapsToDevicePixels="True" ClipToBounds="True" Height="90" Canvas.Left="188" Canvas.Top="198">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="1*" />
+ <RowDefinition Height="1*" />
+ <RowDefinition Height="1*" />
+ </Grid.RowDefinitions>
+
+ <StackPanel>
+ <Image Source="../Images/tablet.png" Width="10" Margin="2" RenderOptions.BitmapScalingMode="Fant"></Image>
+ <TextBlock Padding="2 0 2 0" Foreground="Gainsboro" IsHitTestVisible="False" FontSize="6" TextAlignment="Center" TextWrapping="Wrap">
+ <Run Text="{Binding Configuration.ApplicationDisplayPanelVersion.Name}"></Run>
+ <Run Text="{Binding Configuration.ApplicationDisplayPanelVersion.Version}"></Run>
+ </TextBlock>
+ </StackPanel>
+
+
+ <StackPanel Grid.Row="3" >
+ <Image Source="../Images/application-firmware.png" Width="10" Margin="2" RenderOptions.BitmapScalingMode="Fant"></Image>
+ <TextBlock Padding="2 0 2 0" IsHitTestVisible="False" Foreground="Gainsboro" FontSize="6" TextAlignment="Center" TextWrapping="Wrap">
+ <Run Text="{Binding Configuration.ApplicationFirmwareVersion.Name}"></Run>
+ <Run Text="{Binding Configuration.ApplicationFirmwareVersion.Version}"></Run>
+ </TextBlock>
+ </StackPanel>
+
+ <StackPanel Grid.Row="1" >
+ <Image Source="../Images/android.png" Width="10" Margin="2" RenderOptions.BitmapScalingMode="Fant"></Image>
+ <TextBlock Padding="2 0 2 0" IsHitTestVisible="False" Foreground="Gainsboro" FontSize="6" TextAlignment="Center" TextWrapping="Wrap">
+ <Run Text="{Binding Configuration.ApplicationOsVersion.Name}"></Run>
+ <Run Text="{Binding Configuration.ApplicationOsVersion.Version}"></Run>
+ </TextBlock>
+ </StackPanel>
+ </Grid>
+ </Canvas>
+ </Grid>
+ </Viewbox>
+ </Grid>
+</UserControl>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/MachineView.xaml.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/MachineView.xaml.cs
new file mode 100644
index 000000000..9d400549b
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/MachineView.xaml.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace Tango.MachineStudio.Common.Controls
+{
+ /// <summary>
+ /// Interaction logic for MachineView.xaml
+ /// </summary>
+ public partial class MachineView : UserControl
+ {
+ public MachineView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/RealTimeGraphControl.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/RealTimeGraphControl.xaml
deleted file mode 100644
index b5e809a3e..000000000
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/RealTimeGraphControl.xaml
+++ /dev/null
@@ -1,65 +0,0 @@
-<UserControl x:Class="Tango.MachineStudio.Common.Controls.RealTimeGraphControl"
- 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:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
- xmlns:graphEx="clr-namespace:RealTimeGraphEx.FastGraphs;assembly=RealTimeGraphEx"
- xmlns:graphX="clr-namespace:RealTimeGraphX.WPF.Surfaces;assembly=RealTimeGraphX.WPF"
- xmlns:componentsX="clr-namespace:RealTimeGraphX.WPF.Components;assembly=RealTimeGraphX.WPF"
- xmlns:components="clr-namespace:RealTimeGraphEx.Components;assembly=RealTimeGraphEx"
- xmlns:converters="clr-namespace:Tango.MachineStudio.Common.Converters"
- xmlns:local="clr-namespace:Tango.MachineStudio.Common.Controls"
- mc:Ignorable="d"
- d:DesignHeight="150" d:DesignWidth="300">
-
- <UserControl.Resources>
- <ResourceDictionary>
- <ResourceDictionary.MergedDictionaries>
- <ResourceDictionary Source="../Resources/MaterialDesign.xaml"></ResourceDictionary>
- </ResourceDictionary.MergedDictionaries>
- </ResourceDictionary>
- </UserControl.Resources>
-
- <Grid >
- <Border Background="{DynamicResource graphBackground}" Padding="20" CornerRadius="5" BorderThickness="1" BorderBrush="DodgerBlue">
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="41*"/>
- <RowDefinition Height="30"/>
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="55"/>
- <ColumnDefinition Width="438*"/>
- </Grid.ColumnDefinitions>
-
- <Border BorderBrush="{StaticResource AccentColorBrush}" Margin="0 1 0 2">
- <componentsX:GraphAxisControl Foreground="DodgerBlue" Orientation="Vertical" FontSize="10" Surface="{Binding ElementName=Graph}" StringFormat="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=StringFormat}" />
- </Border>
- <Border Grid.Column="1" BorderThickness="1" BorderBrush="#43A0E7FF" Margin="1 0 0 0">
- <Grid>
-
- <componentsX:GraphGridLines Foreground="#9B545454" />
-
- <graphX:WpfGraphSurface x:Name="Graph" x:FieldModifier="public">
-
- </graphX:WpfGraphSurface>
-
- <Grid>
- <Label Style="{StaticResource graphLabel}">
- <StackPanel Orientation="Horizontal">
- <TextBlock Foreground="Gainsboro" FontSize="11" VerticalAlignment="Center" Text="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DisplayName,FallbackValue='Dispenser Motor'}"></TextBlock>
- <TextBlock Foreground="Gray" Margin="10 0 0 0" FontSize="11" FontFamily="Sylfaen Regular" VerticalAlignment="Center" Text="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DisplayUnits,FallbackValue='(hz)'}"></TextBlock>
- </StackPanel>
- </Label>
- </Grid>
- </Grid>
- </Border>
-
- <Border BorderBrush="{StaticResource AccentColorBrush}" Grid.Row="1" Grid.Column="1" Margin="3 0 2 0">
- <componentsX:GraphAxisControl Foreground="DodgerBlue" Orientation="Horizontal" FontSize="10" Surface="{Binding ElementName=Graph}" StringFormat="hh\:mm\:ss" />
- </Border>
- </Grid>
- </Border>
- </Grid>
-</UserControl>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/RealTimeGraphControl.xaml.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/WpfGraphControl.cs
index f82196fed..68db76cd5 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/RealTimeGraphControl.xaml.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/WpfGraphControl.cs
@@ -1,6 +1,6 @@
-using System;
+using RealTimeGraphX;
+using System;
using System.Collections.Generic;
-using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -10,68 +10,79 @@ using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
-using System.Windows.Media.Animation;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
-using RealTimeGraphEx;
-using RealTimeGraphEx.Controllers;
-using RealTimeGraphX;
-using RealTimeGraphX.WPF.DataSeries;
namespace Tango.MachineStudio.Common.Controls
{
- /// <summary>
- /// Interaction logic for RealTimeGraphControl.xaml
- /// </summary>
- public partial class RealTimeGraphControl : UserControl, IRealTimeGraph
+ public class WpfGraphControl : Control
{
- #region Properties
-
- public String DisplayName
+ /// <summary>
+ /// Gets or sets the graph controller.
+ /// </summary>
+ public IGraphController Controller
{
- get { return (String)GetValue(DisplayNameProperty); }
- set { SetValue(DisplayNameProperty, value); }
+ get { return (IGraphController)GetValue(ControllerProperty); }
+ set { SetValue(ControllerProperty, value); }
}
- public static readonly DependencyProperty DisplayNameProperty =
- DependencyProperty.Register("DisplayName", typeof(String), typeof(RealTimeGraphControl), new PropertyMetadata(null));
+ public static readonly DependencyProperty ControllerProperty =
+ DependencyProperty.Register("Controller", typeof(IGraphController), typeof(WpfGraphControl), new PropertyMetadata(null));
- public String DisplayUnits
- {
- get { return (String)GetValue(DisplayUnitsProperty); }
- set { SetValue(DisplayUnitsProperty, value); }
- }
- public static readonly DependencyProperty DisplayUnitsProperty =
- DependencyProperty.Register("DisplayUnits", typeof(String), typeof(RealTimeGraphControl), new PropertyMetadata(null));
+ /// <summary>
+ /// Gets or sets the string format of the y-axis.
+ /// </summary>
public String StringFormat
{
get { return (String)GetValue(StringFormatProperty); }
set { SetValue(StringFormatProperty, value); }
}
public static readonly DependencyProperty StringFormatProperty =
- DependencyProperty.Register("StringFormat", typeof(String), typeof(RealTimeGraphControl), new PropertyMetadata("0.0"));
+ DependencyProperty.Register("StringFormat", typeof(String), typeof(WpfGraphControl), new PropertyMetadata("0.0"));
+ /// <summary>
+ /// Gets or sets the display name.
+ /// </summary>
+ public String DisplayName
+ {
+ get { return (String)GetValue(DisplayNameProperty); }
+ set { SetValue(DisplayNameProperty, value); }
+ }
+ public static readonly DependencyProperty DisplayNameProperty =
+ DependencyProperty.Register("DisplayName", typeof(String), typeof(WpfGraphControl), new PropertyMetadata(null));
+
- public IGraphController<WpfDataSeries> Controller
+ /// <summary>
+ /// Gets or sets the display units.
+ /// </summary>
+ public String DisplayUnits
{
- get { return (IGraphController<WpfDataSeries>)GetValue(ControllerProperty); }
- set { SetValue(ControllerProperty, value); }
+ get { return (String)GetValue(DisplayUnitsProperty); }
+ set { SetValue(DisplayUnitsProperty, value); }
}
- public static readonly DependencyProperty ControllerProperty =
- DependencyProperty.Register("Controller", typeof(IGraphController<WpfDataSeries>), typeof(RealTimeGraphControl), new PropertyMetadata(null,(d,e) => (d as RealTimeGraphControl).OnControllerChanged()));
+ public static readonly DependencyProperty DisplayUnitsProperty =
+ DependencyProperty.Register("DisplayUnits", typeof(String), typeof(WpfGraphControl), new PropertyMetadata(null));
- private void OnControllerChanged()
+ /// <summary>
+ /// Gets or sets the graph label visibility.
+ /// </summary>
+ public Visibility GraphLabelVisibility
{
- Controller.Output.Output.ConnectOutput(Graph);
+ get { return (Visibility)GetValue(GraphLabelVisibilityProperty); }
+ set { SetValue(GraphLabelVisibilityProperty, value); }
}
+ public static readonly DependencyProperty GraphLabelVisibilityProperty =
+ DependencyProperty.Register("GraphLabelVisibility", typeof(Visibility), typeof(WpfGraphControl), new PropertyMetadata(Visibility.Visible));
- #endregion
- public RealTimeGraphControl()
+ /// <summary>
+ /// Initializes the <see cref="WpfGraphControl"/> class.
+ /// </summary>
+ static WpfGraphControl()
{
- InitializeComponent();
+ DefaultStyleKeyProperty.OverrideMetadata(typeof(WpfGraphControl), new FrameworkPropertyMetadata(typeof(WpfGraphControl)));
}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/android.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/android.png
new file mode 100644
index 000000000..7fc5fbfe1
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/android.png
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/app.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/app.png
new file mode 100644
index 000000000..9798ed866
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/app.png
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/application-firmware.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/application-firmware.png
new file mode 100644
index 000000000..110ae36aa
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/application-firmware.png
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/cartridge.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/cartridge.png
new file mode 100644
index 000000000..e3a9116fa
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/cartridge.png
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/dispenser.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/dispenser.png
new file mode 100644
index 000000000..a070c94e0
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/dispenser.png
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/embedded-software.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/embedded-software.png
new file mode 100644
index 000000000..b6a2087aa
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/embedded-software.png
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/embedded.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/embedded.png
new file mode 100644
index 000000000..d0b917b44
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/embedded.png
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/formula.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/formula.png
new file mode 100644
index 000000000..6f476e79c
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/formula.png
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/hardware.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/hardware.png
new file mode 100644
index 000000000..856cf1ec7
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/hardware.png
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/injection.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/injection.png
new file mode 100644
index 000000000..af1b3d575
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/injection.png
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/liquid.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/liquid.png
new file mode 100644
index 000000000..7c5a4bceb
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/liquid.png
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/machine-full-fx.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/machine-full-fx.png
new file mode 100644
index 000000000..b3c497546
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/machine-full-fx.png
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/mid-tank.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/mid-tank.png
new file mode 100644
index 000000000..4da752a42
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/mid-tank.png
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/tablet.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/tablet.png
new file mode 100644
index 000000000..1a09683eb
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/tablet.png
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/tank.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/tank.png
new file mode 100644
index 000000000..59440e1e5
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/tank.png
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/ti-tm4c129x.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/ti-tm4c129x.png
new file mode 100644
index 000000000..e414e3355
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/ti-tm4c129x.png
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Resources/MaterialDesign.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Resources/MaterialDesign.xaml
index 2f65fe817..d90d03545 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Resources/MaterialDesign.xaml
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Resources/MaterialDesign.xaml
@@ -235,39 +235,12 @@
<GradientStop Color="#FF333333" Offset="1"/>
</LinearGradientBrush>
- <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0" x:Key="graphLabelBackground" Opacity="0.7">
- <GradientStop Color="#252525"/>
- <GradientStop Color="#FF4E4E4E" Offset="1"/>
- </LinearGradientBrush>
- <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0" x:Key="graphLegendBackground" Opacity="0.7">
- <GradientStop Color="#FF848484"/>
- <GradientStop Color="#FF282828" Offset="1"/>
- </LinearGradientBrush>
<SolidColorBrush Color="#FFF1F1F1" x:Key="topBarBackgroundBrush"></SolidColorBrush>
<!--Brushes-->
- <!--Graph Label-->
- <Style x:Key="graphLabel" TargetType="Label">
- <Style.Setters>
- <Setter Property="IsHitTestVisible" Value="False"></Setter>
- <Setter Property="Margin" Value="-1 -1 0 0"></Setter>
- <Setter Property="HorizontalAlignment" Value="Left"></Setter>
- <Setter Property="VerticalAlignment" Value="Top"></Setter>
- <Setter Property="Padding" Value="0"></Setter>
- <Setter Property="ContentTemplate">
- <Setter.Value>
- <DataTemplate>
- <Border Width="Auto" Padding="0 0 20 0" Height="25" BorderBrush="{StaticResource AccentColorBrush}" BorderThickness="1" CornerRadius="0 0 30 0" Background="{StaticResource graphLabelBackground}" >
- <Label Margin="5 0 0 0" HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="12" Content="{Binding}"></Label>
- </Border>
- </DataTemplate>
- </Setter.Value>
- </Setter>
- </Style.Setters>
- </Style>
- <!--Graph Label-->
+
<!--Graph Ticks Template-->
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj
index 2af5c37ec..e2bf7792d 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj
@@ -60,6 +60,7 @@
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Data" />
+ <Reference Include="System.Drawing" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.Speech" />
@@ -84,6 +85,10 @@
<Link>GlobalVersionInfo.cs</Link>
</Compile>
<Compile Include="Authentication\AuthenticationLoginResult.cs" />
+ <Compile Include="Controls\MachineView.xaml.cs">
+ <DependentUpon>MachineView.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Controls\WpfGraphControl.cs" />
<Compile Include="Converters\UserRoleToBooleanConverter.cs" />
<Compile Include="Converters\UserRoleToVisibilityConverter.cs" />
<Compile Include="Web\LoginRequest.cs" />
@@ -97,11 +102,7 @@
<Compile Include="Controls\HiveComboControl.xaml.cs">
<DependentUpon>HiveComboControl.xaml</DependentUpon>
</Compile>
- <Compile Include="Controls\IRealTimeGraph.cs" />
<Compile Include="Controls\LoadingPanel.cs" />
- <Compile Include="Controls\RealTimeGraphControl.xaml.cs">
- <DependentUpon>RealTimeGraphControl.xaml</DependentUpon>
- </Compile>
<Compile Include="Controls\TableGrid.cs" />
<Compile Include="Converters\PermissionToVisibilityConverter.cs" />
<None Include="Converters\SecondsToGraphPointsConverter.cs" />
@@ -155,6 +156,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
+ <Page Include="Controls\MachineView.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </Page>
<Page Include="Controls\MdiContainerControl.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -170,10 +175,6 @@
<Compile Include="Navigation\INavigationManager.cs" />
<Compile Include="Navigation\NavigationView.cs" />
<Compile Include="Notifications\INotificationProvider.cs" />
- <Page Include="Controls\RealTimeGraphControl.xaml">
- <SubType>Designer</SubType>
- <Generator>MSBuild:Compile</Generator>
- </Page>
<Page Include="Resources\GradientOffsetSlider.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -216,16 +217,12 @@
</None>
</ItemGroup>
<ItemGroup>
- <ProjectReference Include="..\..\SideChains\RealTimeGraphEx\RealTimeGraphEx.csproj">
- <Project>{b9ae25d6-be35-492f-9079-21a7f3e6f7cc}</Project>
- <Name>RealTimeGraphEx</Name>
- </ProjectReference>
- <ProjectReference Include="..\..\SideChains\RealTimeGraphX.WPF\RealTimeGraphX.WPF.csproj">
- <Project>{99d233c5-fee7-418e-9c25-d4584cb52e28}</Project>
+ <ProjectReference Include="..\..\SideChains\RealTimeGraphX-master\RealTimeGraphX.WPF\RealTimeGraphX.WPF.csproj">
+ <Project>{6b9774f7-960d-438e-ad81-c6b9be328d50}</Project>
<Name>RealTimeGraphX.WPF</Name>
</ProjectReference>
- <ProjectReference Include="..\..\SideChains\RealTimeGraphX\RealTimeGraphX.csproj">
- <Project>{6d55a3b8-46d3-493a-a143-aebd2b98d683}</Project>
+ <ProjectReference Include="..\..\SideChains\RealTimeGraphX-master\RealTimeGraphX\RealTimeGraphX.csproj">
+ <Project>{f13a489c-80ee-4cd0-bdd4-92d959215646}</Project>
<Name>RealTimeGraphX</Name>
</ProjectReference>
<ProjectReference Include="..\..\SideChains\Tango.AutoComplete\Tango.AutoComplete.csproj">
@@ -328,7 +325,54 @@
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
</ItemGroup>
- <ItemGroup />
+ <ItemGroup>
+ <Resource Include="Images\android.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\app.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\application-firmware.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\cartridge.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\dispenser.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\embedded-software.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\embedded.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\formula.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\hardware.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\injection.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\liquid.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\machine-full-fx.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\mid-tank.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\tablet.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\tank.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Images\ti-tm4c129x.png" />
+ </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Themes/Generic.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Themes/Generic.xaml
index 9cc398753..79245745e 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Themes/Generic.xaml
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Themes/Generic.xaml
@@ -2,6 +2,7 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mahApps="http://metro.mahapps.com/winfx/xaml/controls"
+ xmlns:realTimeGraphX="clr-namespace:RealTimeGraphX.WPF;assembly=RealTimeGraphX.WPF"
xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
xmlns:local="clr-namespace:Tango.MachineStudio.Common.Controls">
@@ -28,4 +29,90 @@
</Setter.Value>
</Setter>
</Style>
+
+ <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0" x:Key="graphLabelBackground" Opacity="0.7">
+ <GradientStop Color="#252525"/>
+ <GradientStop Color="#FF4E4E4E" Offset="1"/>
+ </LinearGradientBrush>
+
+ <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0" x:Key="graphLegendBackground" Opacity="0.7">
+ <GradientStop Color="#FF848484"/>
+ <GradientStop Color="#FF282828" Offset="1"/>
+ </LinearGradientBrush>
+
+ <!--Graph Label-->
+ <Style x:Key="graphLabel" TargetType="Label">
+ <Style.Setters>
+ <Setter Property="IsHitTestVisible" Value="False"></Setter>
+ <Setter Property="Margin" Value="-1 -1 0 0"></Setter>
+ <Setter Property="HorizontalAlignment" Value="Left"></Setter>
+ <Setter Property="VerticalAlignment" Value="Top"></Setter>
+ <Setter Property="Padding" Value="0"></Setter>
+ <Setter Property="ContentTemplate">
+ <Setter.Value>
+ <DataTemplate>
+ <Border Width="Auto" Padding="0 0 20 0" Height="25" BorderBrush="DodgerBlue" BorderThickness="1" CornerRadius="0 0 30 0" Background="{StaticResource graphLabelBackground}" >
+ <Label Margin="5 0 0 0" HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="12" Content="{Binding}"></Label>
+ </Border>
+ </DataTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style.Setters>
+ </Style>
+ <!--Graph Label-->
+
+ <Style TargetType="{x:Type local:WpfGraphControl}">
+ <Setter Property="BorderThickness" Value="1"></Setter>
+ <Setter Property="BorderBrush" Value="#FF2E2E2E"></Setter>
+ <Setter Property="Padding" Value="20 20 30 20"></Setter>
+ <Setter Property="FontSize" Value="11"></Setter>
+ <Setter Property="Foreground" Value="DodgerBlue"></Setter>
+ <Setter Property="Background">
+ <Setter.Value>
+ <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0" >
+ <GradientStop Color="Black"/>
+ <GradientStop Color="#FF333333" Offset="1"/>
+ </LinearGradientBrush>
+ </Setter.Value>
+ </Setter>
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type local:WpfGraphControl}">
+ <Border Background="{TemplateBinding Background}"
+ BorderBrush="{TemplateBinding BorderBrush}"
+ BorderThickness="{TemplateBinding BorderThickness}"
+ CornerRadius="5"
+ Padding="{TemplateBinding Padding}">
+ <Grid>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="1*"/>
+ <RowDefinition Height="35"/>
+ </Grid.RowDefinitions>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="70"/>
+ <ColumnDefinition Width="1*"/>
+ </Grid.ColumnDefinitions>
+
+ <Grid Grid.Column="1">
+ <realTimeGraphX:WpfGraphGridLines Controller="{TemplateBinding Controller}" Foreground="#FF2E2E2E" />
+ <realTimeGraphX:WpfGraphSurface x:Name="surface" Controller="{TemplateBinding Controller}" BorderThickness="1 0 0 1" BorderBrush="{TemplateBinding Foreground}" />
+
+ <Grid IsHitTestVisible="False" Visibility="{TemplateBinding GraphLabelVisibility}">
+ <Label Style="{StaticResource graphLabel}">
+ <StackPanel Orientation="Horizontal">
+ <TextBlock Foreground="Gainsboro" FontSize="11" VerticalAlignment="Center" Text="{TemplateBinding DisplayName}"></TextBlock>
+ <TextBlock Foreground="Gray" Margin="10 0 0 0" FontSize="11" FontFamily="Sylfaen Regular" VerticalAlignment="Center" Text="{TemplateBinding DisplayUnits}"></TextBlock>
+ </StackPanel>
+ </Label>
+ </Grid>
+ </Grid>
+
+ <realTimeGraphX:WpfGraphAxisControl Orientation="Vertical" Controller="{TemplateBinding Controller}" StringFormat="{TemplateBinding StringFormat}" />
+ <realTimeGraphX:WpfGraphAxisControl Orientation="Horizontal" Controller="{TemplateBinding Controller}" Grid.Column="1" Grid.Row="1" StringFormat="hh\:mm\:ss"/>
+ </Grid>
+ </Border>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
</ResourceDictionary>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Video/DefaultVideoCaptureProvider.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Video/DefaultVideoCaptureProvider.cs
index 3aa9d4c88..f710cf082 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Video/DefaultVideoCaptureProvider.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Video/DefaultVideoCaptureProvider.cs
@@ -28,16 +28,17 @@ namespace Tango.MachineStudio.Common.Video
var availableDevices = CaptureDevice.GetAvailableCaptureDevices();
- for (int i = 0; i < 3; i++)
+ for (int i = 0; i < availableDevices.Count; i++)
{
- if (i > availableDevices.Count - 1)
- {
- AvailableCaptureDevices.Add(new CaptureDevice() { Device = null });
- }
- else
+ AvailableCaptureDevices.Add(new CaptureDevice() { Device = availableDevices[i] });
+ }
+
+ while (AvailableCaptureDevices.Count < 3)
+ {
+ AvailableCaptureDevices.Add(new CaptureDevice()
{
- AvailableCaptureDevices.Add(new CaptureDevice() { Device = availableDevices[i] });
- }
+ Device = null,
+ });
}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/app.config b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/app.config
index fa31bbb95..ff251eb7d 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/app.config
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/app.config
@@ -20,7 +20,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
- <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
@@ -28,31 +28,31 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
- <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
+ <bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
- <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
- <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
- <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Console" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
- <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
- <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
- <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Data.Edm" publicKeyToken="31bf3856ad364e35" culture="neutral" />
@@ -78,6 +78,14 @@
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
</dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Security.Cryptography.Algorithms" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding.CodePages" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
+ </dependentAssembly>
</assemblyBinding>
</runtime>
<entityFramework>