diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2018-06-15 15:22:11 +0300 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2018-06-15 15:22:11 +0300 |
| commit | 84700eb44cffe4b503a9ad22b1dfa8c703f356d2 (patch) | |
| tree | 53b152ffd2e2ac09d4e30e72c26cb9441049ce9b /Software | |
| parent | 52da473c1a7bf1f3e1c3d7690f980d5afdc3f960 (diff) | |
| download | Tango-84700eb44cffe4b503a9ad22b1dfa8c703f356d2.tar.gz Tango-84700eb44cffe4b503a9ad22b1dfa8c703f356d2.zip | |
Improved LightTouchDataGrid Selection.
Diffstat (limited to 'Software')
18 files changed, 1088 insertions, 102 deletions
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Views/JobsView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Views/JobsView.xaml index dd76d0ed5..1686aef84 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Views/JobsView.xaml +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Views/JobsView.xaml @@ -60,7 +60,7 @@ <Grid Grid.Row="1"> <touch:LightTouchDataGrid x:Name="dataGridJobs" OnDragAndDropCommand="{Binding JobDragedDroppedCommand}" ItemsSource="{Binding JobsCollectionView}" ItemSelectedCommand="{Binding JobSelectedCommand}" Margin="10"> <touch:LightTouchDataGrid.Columns> - <touch:LightTouchDataGridColumn> + <touch:LightTouchDataGridColumn Width="50"> <touch:LightTouchDataGridColumn.Header> <Image Source="../Images/warning.png" Width="24" /> </touch:LightTouchDataGridColumn.Header> @@ -70,14 +70,14 @@ </DataTemplate> </touch:LightTouchDataGridColumn.CellTemplate> </touch:LightTouchDataGridColumn> - <touch:LightTouchDataGridColumn Width="90" Header="Status" SortMember="JobStatus"> + <touch:LightTouchDataGridColumn Width="100" Header="Status" SortMember="JobStatus"> <touch:LightTouchDataGridColumn.CellTemplate> <DataTemplate> <TextBlock IsHitTestVisible="False" Text="{Binding JobStatus,Converter={StaticResource EnumToDescriptionConverter}}"></TextBlock> </DataTemplate> </touch:LightTouchDataGridColumn.CellTemplate> </touch:LightTouchDataGridColumn> - <touch:LightTouchDataGridColumn Width="240" Header="Name" SortMember="Name"> + <touch:LightTouchDataGridColumn Width="1*" Header="Name" SortMember="Name" HorizontalContentAlignment="Left"> <touch:LightTouchDataGridColumn.CellTemplate> <DataTemplate> <TextBlock IsHitTestVisible="False" Text="{Binding Name}"></TextBlock> diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Resources/Styles.xaml b/Software/Visual_Studio/PPC/Tango.PPC.Common/Resources/Styles.xaml index 5ffaa4c80..57eb78a52 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Resources/Styles.xaml +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Resources/Styles.xaml @@ -8,7 +8,7 @@ <Setter Property="Background" Value="{StaticResource TangoMidAccentBrush}"></Setter> <Setter Property="Foreground" Value="{StaticResource TangoLightForegroundBrush}"></Setter> <Setter Property="BorderThickness" Value="1"></Setter> - <Setter Property="BorderBrush" Value="{StaticResource TangoLightBorderBrush}"></Setter> + <Setter Property="BorderBrush" Value="{StaticResource TangoLowerAccentBrush}"></Setter> <Setter Property="Height" Value="68"></Setter> <Setter Property="Margin" Value="5 0 5 5"></Setter> <Setter Property="CornerRadius" Value="5"></Setter> diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/MainWindow.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/MainWindow.xaml index 289d0cdf2..cabd05265 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/MainWindow.xaml +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/MainWindow.xaml @@ -6,15 +6,11 @@ xmlns:local="clr-namespace:Tango.PPC.UI" xmlns:views="clr-namespace:Tango.PPC.UI.Views" mc:Ignorable="d" - Title="MainWindow" Height="1000" Stylus.IsTapFeedbackEnabled="False" Stylus.IsPressAndHoldEnabled="False" Stylus.IsTouchFeedbackEnabled="False" Width="625" WindowStyle="None" ResizeMode="NoResize" + Title="MainWindow" Height="1000" Stylus.IsTapFeedbackEnabled="False" Stylus.IsPressAndHoldEnabled="False" Stylus.IsTouchFeedbackEnabled="False" Width="800" WindowStyle="SingleBorderWindow" ResizeMode="CanResize" WindowStartupLocation="CenterScreen" FontFamily="{StaticResource TangoFlexoFontFamily}" FontSize="{StaticResource TangoDefaultFontSize}" Foreground="{StaticResource TangoDarkForegroundBrush}"> <Grid> - <Viewbox Stretch="Fill"> - <Grid Height="1280" Width="800"> - <views:MainView/> - </Grid> - </Viewbox> + <views:MainView/> </Grid> </Window> diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/MainWindow.xaml.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/MainWindow.xaml.cs index 42ea21123..26fe06c5f 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/MainWindow.xaml.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/MainWindow.xaml.cs @@ -29,12 +29,12 @@ namespace Tango.PPC.UI InitializeComponent(); - WindowStartupLocation = WindowStartupLocation.Manual; - var lastMonitor = Screen.AllScreens.LastOrDefault(); - Left = lastMonitor.Bounds.Left; - Top = lastMonitor.Bounds.Top; - Width = lastMonitor.Bounds.Width; - Height = lastMonitor.Bounds.Height; + //WindowStartupLocation = WindowStartupLocation.Manual; + //var lastMonitor = Screen.AllScreens.LastOrDefault(); + //Left = lastMonitor.Bounds.Left; + //Top = lastMonitor.Bounds.Top; + //Width = lastMonitor.Bounds.Width; + //Height = lastMonitor.Bounds.Height; } } } diff --git a/Software/Visual_Studio/SideChains/RealTimeGraphEx/DirectXGraphs/RealTimeGraphExDirectXLineScroll.cs b/Software/Visual_Studio/SideChains/RealTimeGraphEx/DirectXGraphs/RealTimeGraphExDirectXLineScroll.cs index e85d56a4d..0d1284c19 100644 --- a/Software/Visual_Studio/SideChains/RealTimeGraphEx/DirectXGraphs/RealTimeGraphExDirectXLineScroll.cs +++ b/Software/Visual_Studio/SideChains/RealTimeGraphEx/DirectXGraphs/RealTimeGraphExDirectXLineScroll.cs @@ -45,17 +45,6 @@ namespace RealTimeGraphEx.DirectXGraphs #region Properties - /// <summary> - /// Gets or sets the maximum vectorsCollection to display on the graph (default 1000, affects performance). - /// </summary> - public int MaxPoints - { - get { return (int)GetValue(MaxPointsProperty); } - set { SetValue(MaxPointsProperty, value); } - } - public static readonly DependencyProperty MaxPointsProperty = - DependencyProperty.Register("MaxPoints", typeof(int), typeof(RealTimeGraphExDirectXLineScroll), new PropertyMetadata(1000, new PropertyChangedCallback(CrossModelChanged))); - /// <summary> /// Gets or sets the graph fill color. diff --git a/Software/Visual_Studio/SideChains/RealTimeGraphEx/ReachGraphs/RealTimeGraphExReachLineScroll.cs b/Software/Visual_Studio/SideChains/RealTimeGraphEx/ReachGraphs/RealTimeGraphExReachLineScroll.cs index 77ac77479..d4026f7c3 100644 --- a/Software/Visual_Studio/SideChains/RealTimeGraphEx/ReachGraphs/RealTimeGraphExReachLineScroll.cs +++ b/Software/Visual_Studio/SideChains/RealTimeGraphEx/ReachGraphs/RealTimeGraphExReachLineScroll.cs @@ -37,17 +37,6 @@ namespace RealTimeGraphEx.ReachGraphs #region Properties /// <summary> - /// Gets or sets the maximum points to display on the graph (default 1000, affects performance). - /// </summary> - public int MaxPoints - { - get { return (int)GetValue(MaxPointsProperty); } - set { SetValue(MaxPointsProperty, value); } - } - public static readonly DependencyProperty MaxPointsProperty = - DependencyProperty.Register("MaxPoints", typeof(int), typeof(RealTimeGraphExReachLineScroll), new PropertyMetadata(1000, new PropertyChangedCallback(CrossModelChanged))); - - /// <summary> /// Gets or sets the graph strokes color. /// </summary> public Brush Stroke diff --git a/Software/Visual_Studio/SideChains/RealTimeGraphEx/WriteableBitmap/WriteableBitmapBlitExtensions.cs b/Software/Visual_Studio/SideChains/RealTimeGraphEx/WriteableBitmap/WriteableBitmapBlitExtensions.cs index 4219983d2..f52b515b8 100644 --- a/Software/Visual_Studio/SideChains/RealTimeGraphEx/WriteableBitmap/WriteableBitmapBlitExtensions.cs +++ b/Software/Visual_Studio/SideChains/RealTimeGraphEx/WriteableBitmap/WriteableBitmapBlitExtensions.cs @@ -382,8 +382,6 @@ namespace System.Windows.Media.Imaging internal static void Blit(BitmapContext destContext, int dpw, int dph, Rect destRect, BitmapContext srcContext, Rect sourceRect, int sourceWidth) { - const BlendMode blendMode = BlendMode.Alpha; - int dw = (int)destRect.Width; int dh = (int)destRect.Height; diff --git a/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs b/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs index 69f27e180..de184cee7 100644 --- a/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs +++ b/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs @@ -22,7 +22,7 @@ namespace Tango.PMR.Common { static MessageTypeReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "ChFNZXNzYWdlVHlwZS5wcm90bxIQVGFuZ28uUE1SLkNvbW1vbirXIgoLTWVz", + "ChFNZXNzYWdlVHlwZS5wcm90bxIQVGFuZ28uUE1SLkNvbW1vbirPIwoLTWVz", "c2FnZVR5cGUSCAoETm9uZRAAEhEKDUVycm9yUmVzcG9uc2UQARIUChBDYWxj", "dWxhdGVSZXF1ZXN0EAMSFQoRQ2FsY3VsYXRlUmVzcG9uc2UQBBITCg9Qcm9n", "cmVzc1JlcXVlc3QQBRIUChBQcm9ncmVzc1Jlc3BvbnNlEAYSHAoYU3R1YkNh", @@ -79,50 +79,53 @@ namespace Tango.PMR.Common { "bFRpbWVVc2FnZVJlcXVlc3QQVRIdChlTdHViUmVhbFRpbWVVc2FnZVJlc3Bv", "bnNlEFYSGQoVU3R1YkludEFEQ1JlYWRSZXF1ZXN0EFcSGgoWU3R1YkludEFE", "Q1JlYWRSZXNwb25zZRBYEhkKFVN0dWJUZW1wU2Vuc29yUmVxdWVzdBBZEhoK", - "FlN0dWJUZW1wU2Vuc29yUmVzcG9uc2UQWhIlCiBFeHRlcm5hbEJyaWRnZVVk", - "cERpc2NvdmVyeVBhY2tldBDoBxIfChpFeHRlcm5hbENsaWVudExvZ2luUmVx", - "dWVzdBDpBxIgChtFeHRlcm5hbENsaWVudExvZ2luUmVzcG9uc2UQ6gcSIQoc", - "RGlyZWN0U3luY2hyb25pemF0aW9uUmVxdWVzdBDrBxIiCh1EaXJlY3RTeW5j", - "aHJvbml6YXRpb25SZXNwb25zZRDsBxIcChdPdmVycmlkZURhdGFCYXNlUmVx", - "dWVzdBDtBxIdChhPdmVycmlkZURhdGFCYXNlUmVzcG9uc2UQ7gcSHAoXU3Rh", - "cnREaWFnbm9zdGljc1JlcXVlc3QQ0A8SHQoYU3RhcnREaWFnbm9zdGljc1Jl", - "c3BvbnNlENEPEhwKF01vdG9yQWJvcnRIb21pbmdSZXF1ZXN0ENIPEh0KGE1v", - "dG9yQWJvcnRIb21pbmdSZXNwb25zZRDTDxIXChJNb3RvckhvbWluZ1JlcXVl", - "c3QQ1A8SGAoTTW90b3JIb21pbmdSZXNwb25zZRDVDxIYChNNb3RvckpvZ2dp", - "bmdSZXF1ZXN0ENYPEhkKFE1vdG9ySm9nZ2luZ1Jlc3BvbnNlENcPEh0KGE1v", - "dG9yQWJvcnRKb2dnaW5nUmVxdWVzdBDYDxIeChlNb3RvckFib3J0Sm9nZ2lu", - "Z1Jlc3BvbnNlENkPEiAKG0Rpc3BlbnNlckFib3J0SG9taW5nUmVxdWVzdBDa", - "DxIhChxEaXNwZW5zZXJBYm9ydEhvbWluZ1Jlc3BvbnNlENsPEhsKFkRpc3Bl", - "bnNlckhvbWluZ1JlcXVlc3QQ3A8SHAoXRGlzcGVuc2VySG9taW5nUmVzcG9u", - "c2UQ3Q8SHAoXRGlzcGVuc2VySm9nZ2luZ1JlcXVlc3QQ3g8SHQoYRGlzcGVu", - "c2VySm9nZ2luZ1Jlc3BvbnNlEN8PEiEKHERpc3BlbnNlckFib3J0Sm9nZ2lu", - "Z1JlcXVlc3QQ4A8SIgodRGlzcGVuc2VyQWJvcnRKb2dnaW5nUmVzcG9uc2UQ", - "4Q8SGQoUU2V0RGlnaXRhbE91dFJlcXVlc3QQ4g8SGgoVU2V0RGlnaXRhbE91", - "dFJlc3BvbnNlEOMPEhkKFFRocmVhZEpvZ2dpbmdSZXF1ZXN0EOQPEhoKFVRo", - "cmVhZEpvZ2dpbmdSZXNwb25zZRDlDxIeChlUaHJlYWRBYm9ydEpvZ2dpbmdS", - "ZXF1ZXN0EOYPEh8KGlRocmVhZEFib3J0Sm9nZ2luZ1Jlc3BvbnNlEOcPEh0K", - "GFNldENvbXBvbmVudFZhbHVlUmVxdWVzdBDoDxIeChlTZXRDb21wb25lbnRW", - "YWx1ZVJlc3BvbnNlEOkPEhgKE1Jlc29sdmVFdmVudFJlcXVlc3QQ6g8SGQoU", - "UmVzb2x2ZUV2ZW50UmVzcG9uc2UQ6w8SGwoWU3RvcERpYWdub3N0aWNzUmVx", - "dWVzdBDsDxIcChdTdG9wRGlhZ25vc3RpY3NSZXNwb25zZRDtDxIPCgpKb2JS", - "ZXF1ZXN0ELgXEhAKC0pvYlJlc3BvbnNlELkXEhQKD0Fib3J0Sm9iUmVxdWVz", - "dBC6FxIVChBBYm9ydEpvYlJlc3BvbnNlELsXEiMKHlVwbG9hZFByb2Nlc3NQ", - "YXJhbWV0ZXJzUmVxdWVzdBC8FxIkCh9VcGxvYWRQcm9jZXNzUGFyYW1ldGVy", - "c1Jlc3BvbnNlEL0XEhkKFFN0YXJ0RGVidWdMb2dSZXF1ZXN0EKAfEhoKFVN0", - "YXJ0RGVidWdMb2dSZXNwb25zZRChHxIYChNTdG9wRGVidWdMb2dSZXF1ZXN0", - "EKIfEhkKFFN0b3BEZWJ1Z0xvZ1Jlc3BvbnNlEKMfEicKIlVwbG9hZEhhcmR3", - "YXJlQ29uZmlndXJhdGlvblJlcXVlc3QQiCcSKAojVXBsb2FkSGFyZHdhcmVD", - "b25maWd1cmF0aW9uUmVzcG9uc2UQiScSFwoSU3lzdGVtUmVzZXRSZXF1ZXN0", - "EIonEhgKE1N5c3RlbVJlc2V0UmVzcG9uc2UQiycSFQoQS2VlcEFsaXZlUmVx", - "dWVzdBDwLhIWChFLZWVwQWxpdmVSZXNwb25zZRDxLhITCg5Db25uZWN0UmVx", - "dWVzdBDyLhIUCg9Db25uZWN0UmVzcG9uc2UQ8y4SFgoRRGlzY29ubmVjdFJl", - "cXVlc3QQ9C4SFwoSRGlzY29ubmVjdFJlc3BvbnNlEPUuEhYKEUZpbGVVcGxv", - "YWRSZXF1ZXN0ENg2EhcKEkZpbGVVcGxvYWRSZXNwb25zZRDZNhIbChZGaWxl", - "Q2h1bmtVcGxvYWRSZXF1ZXN0ENo2EhwKF0ZpbGVDaHVua1VwbG9hZFJlc3Bv", - "bnNlENs2EhoKFUV4ZWN1dGVQcm9jZXNzUmVxdWVzdBDcNhIbChZFeGVjdXRl", - "UHJvY2Vzc1Jlc3BvbnNlEN02EhcKEktpbGxQcm9jZXNzUmVxdWVzdBDeNhIY", - "ChNLaWxsUHJvY2Vzc1Jlc3BvbnNlEN82QhwKGmNvbS50d2luZS50YW5nby5w", - "bXIuY29tbW9uYgZwcm90bzM=")); + "FlN0dWJUZW1wU2Vuc29yUmVzcG9uc2UQWhIbChdTdHViSTJDUmVhZEJ5dGVz", + "UmVxdWVzdBBbEhwKGFN0dWJJMkNSZWFkQnl0ZXNSZXNwb25zZRBcEhwKGFN0", + "dWJJMkNXcml0ZUJ5dGVzUmVxdWVzdBBdEh0KGVN0dWJJMkNXcml0ZUJ5dGVz", + "UmVzcG9uc2UQXhIlCiBFeHRlcm5hbEJyaWRnZVVkcERpc2NvdmVyeVBhY2tl", + "dBDoBxIfChpFeHRlcm5hbENsaWVudExvZ2luUmVxdWVzdBDpBxIgChtFeHRl", + "cm5hbENsaWVudExvZ2luUmVzcG9uc2UQ6gcSIQocRGlyZWN0U3luY2hyb25p", + "emF0aW9uUmVxdWVzdBDrBxIiCh1EaXJlY3RTeW5jaHJvbml6YXRpb25SZXNw", + "b25zZRDsBxIcChdPdmVycmlkZURhdGFCYXNlUmVxdWVzdBDtBxIdChhPdmVy", + "cmlkZURhdGFCYXNlUmVzcG9uc2UQ7gcSHAoXU3RhcnREaWFnbm9zdGljc1Jl", + "cXVlc3QQ0A8SHQoYU3RhcnREaWFnbm9zdGljc1Jlc3BvbnNlENEPEhwKF01v", + "dG9yQWJvcnRIb21pbmdSZXF1ZXN0ENIPEh0KGE1vdG9yQWJvcnRIb21pbmdS", + "ZXNwb25zZRDTDxIXChJNb3RvckhvbWluZ1JlcXVlc3QQ1A8SGAoTTW90b3JI", + "b21pbmdSZXNwb25zZRDVDxIYChNNb3RvckpvZ2dpbmdSZXF1ZXN0ENYPEhkK", + "FE1vdG9ySm9nZ2luZ1Jlc3BvbnNlENcPEh0KGE1vdG9yQWJvcnRKb2dnaW5n", + "UmVxdWVzdBDYDxIeChlNb3RvckFib3J0Sm9nZ2luZ1Jlc3BvbnNlENkPEiAK", + "G0Rpc3BlbnNlckFib3J0SG9taW5nUmVxdWVzdBDaDxIhChxEaXNwZW5zZXJB", + "Ym9ydEhvbWluZ1Jlc3BvbnNlENsPEhsKFkRpc3BlbnNlckhvbWluZ1JlcXVl", + "c3QQ3A8SHAoXRGlzcGVuc2VySG9taW5nUmVzcG9uc2UQ3Q8SHAoXRGlzcGVu", + "c2VySm9nZ2luZ1JlcXVlc3QQ3g8SHQoYRGlzcGVuc2VySm9nZ2luZ1Jlc3Bv", + "bnNlEN8PEiEKHERpc3BlbnNlckFib3J0Sm9nZ2luZ1JlcXVlc3QQ4A8SIgod", + "RGlzcGVuc2VyQWJvcnRKb2dnaW5nUmVzcG9uc2UQ4Q8SGQoUU2V0RGlnaXRh", + "bE91dFJlcXVlc3QQ4g8SGgoVU2V0RGlnaXRhbE91dFJlc3BvbnNlEOMPEhkK", + "FFRocmVhZEpvZ2dpbmdSZXF1ZXN0EOQPEhoKFVRocmVhZEpvZ2dpbmdSZXNw", + "b25zZRDlDxIeChlUaHJlYWRBYm9ydEpvZ2dpbmdSZXF1ZXN0EOYPEh8KGlRo", + "cmVhZEFib3J0Sm9nZ2luZ1Jlc3BvbnNlEOcPEh0KGFNldENvbXBvbmVudFZh", + "bHVlUmVxdWVzdBDoDxIeChlTZXRDb21wb25lbnRWYWx1ZVJlc3BvbnNlEOkP", + "EhgKE1Jlc29sdmVFdmVudFJlcXVlc3QQ6g8SGQoUUmVzb2x2ZUV2ZW50UmVz", + "cG9uc2UQ6w8SGwoWU3RvcERpYWdub3N0aWNzUmVxdWVzdBDsDxIcChdTdG9w", + "RGlhZ25vc3RpY3NSZXNwb25zZRDtDxIPCgpKb2JSZXF1ZXN0ELgXEhAKC0pv", + "YlJlc3BvbnNlELkXEhQKD0Fib3J0Sm9iUmVxdWVzdBC6FxIVChBBYm9ydEpv", + "YlJlc3BvbnNlELsXEiMKHlVwbG9hZFByb2Nlc3NQYXJhbWV0ZXJzUmVxdWVz", + "dBC8FxIkCh9VcGxvYWRQcm9jZXNzUGFyYW1ldGVyc1Jlc3BvbnNlEL0XEhkK", + "FFN0YXJ0RGVidWdMb2dSZXF1ZXN0EKAfEhoKFVN0YXJ0RGVidWdMb2dSZXNw", + "b25zZRChHxIYChNTdG9wRGVidWdMb2dSZXF1ZXN0EKIfEhkKFFN0b3BEZWJ1", + "Z0xvZ1Jlc3BvbnNlEKMfEicKIlVwbG9hZEhhcmR3YXJlQ29uZmlndXJhdGlv", + "blJlcXVlc3QQiCcSKAojVXBsb2FkSGFyZHdhcmVDb25maWd1cmF0aW9uUmVz", + "cG9uc2UQiScSFwoSU3lzdGVtUmVzZXRSZXF1ZXN0EIonEhgKE1N5c3RlbVJl", + "c2V0UmVzcG9uc2UQiycSFQoQS2VlcEFsaXZlUmVxdWVzdBDwLhIWChFLZWVw", + "QWxpdmVSZXNwb25zZRDxLhITCg5Db25uZWN0UmVxdWVzdBDyLhIUCg9Db25u", + "ZWN0UmVzcG9uc2UQ8y4SFgoRRGlzY29ubmVjdFJlcXVlc3QQ9C4SFwoSRGlz", + "Y29ubmVjdFJlc3BvbnNlEPUuEhYKEUZpbGVVcGxvYWRSZXF1ZXN0ENg2EhcK", + "EkZpbGVVcGxvYWRSZXNwb25zZRDZNhIbChZGaWxlQ2h1bmtVcGxvYWRSZXF1", + "ZXN0ENo2EhwKF0ZpbGVDaHVua1VwbG9hZFJlc3BvbnNlENs2EhoKFUV4ZWN1", + "dGVQcm9jZXNzUmVxdWVzdBDcNhIbChZFeGVjdXRlUHJvY2Vzc1Jlc3BvbnNl", + "EN02EhcKEktpbGxQcm9jZXNzUmVxdWVzdBDeNhIYChNLaWxsUHJvY2Vzc1Jl", + "c3BvbnNlEN82QhwKGmNvbS50d2luZS50YW5nby5wbXIuY29tbW9uYgZwcm90", + "bzM=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { }, new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tango.PMR.Common.MessageType), }, null)); @@ -230,10 +233,11 @@ namespace Tango.PMR.Common { [pbr::OriginalName("StubIntADCReadRequest")] StubIntAdcreadRequest = 87, [pbr::OriginalName("StubIntADCReadResponse")] StubIntAdcreadResponse = 88, [pbr::OriginalName("StubTempSensorRequest")] StubTempSensorRequest = 89, - /// <summary> - ///------------------------------------ - /// </summary> [pbr::OriginalName("StubTempSensorResponse")] StubTempSensorResponse = 90, + [pbr::OriginalName("StubI2CReadBytesRequest")] StubI2CreadBytesRequest = 91, + [pbr::OriginalName("StubI2CReadBytesResponse")] StubI2CreadBytesResponse = 92, + [pbr::OriginalName("StubI2CWriteBytesRequest")] StubI2CwriteBytesRequest = 93, + [pbr::OriginalName("StubI2CWriteBytesResponse")] StubI2CwriteBytesResponse = 94, /// <summary> ///Integration /// </summary> diff --git a/Software/Visual_Studio/Tango.PMR/Stubs/StubI2CReadBytesRequest.cs b/Software/Visual_Studio/Tango.PMR/Stubs/StubI2CReadBytesRequest.cs new file mode 100644 index 000000000..7f20d8841 --- /dev/null +++ b/Software/Visual_Studio/Tango.PMR/Stubs/StubI2CReadBytesRequest.cs @@ -0,0 +1,218 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: StubI2CReadBytesRequest.proto +#pragma warning disable 1591, 0612, 3021 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace Tango.PMR.Stubs { + + /// <summary>Holder for reflection information generated from StubI2CReadBytesRequest.proto</summary> + public static partial class StubI2CReadBytesRequestReflection { + + #region Descriptor + /// <summary>File descriptor for StubI2CReadBytesRequest.proto</summary> + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static StubI2CReadBytesRequestReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "Ch1TdHViSTJDUmVhZEJ5dGVzUmVxdWVzdC5wcm90bxIPVGFuZ28uUE1SLlN0", + "dWJzIlsKF1N0dWJJMkNSZWFkQnl0ZXNSZXF1ZXN0Eg0KBUkyQ0lkGAEgASgN", + "EhQKDFNsYXZlQWRkcmVzcxgCIAEoDRIbChNOdW1iZXJPZkJ5dGVzVG9SZWFk", + "GAMgASgNQhsKGWNvbS50d2luZS50YW5nby5wbXIuc3R1YnNiBnByb3RvMw==")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Stubs.StubI2CReadBytesRequest), global::Tango.PMR.Stubs.StubI2CReadBytesRequest.Parser, new[]{ "I2CId", "SlaveAddress", "NumberOfBytesToRead" }, null, null, null) + })); + } + #endregion + + } + #region Messages + public sealed partial class StubI2CReadBytesRequest : pb::IMessage<StubI2CReadBytesRequest> { + private static readonly pb::MessageParser<StubI2CReadBytesRequest> _parser = new pb::MessageParser<StubI2CReadBytesRequest>(() => new StubI2CReadBytesRequest()); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser<StubI2CReadBytesRequest> Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::Tango.PMR.Stubs.StubI2CReadBytesRequestReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StubI2CReadBytesRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StubI2CReadBytesRequest(StubI2CReadBytesRequest other) : this() { + i2CId_ = other.i2CId_; + slaveAddress_ = other.slaveAddress_; + numberOfBytesToRead_ = other.numberOfBytesToRead_; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StubI2CReadBytesRequest Clone() { + return new StubI2CReadBytesRequest(this); + } + + /// <summary>Field number for the "I2CId" field.</summary> + public const int I2CIdFieldNumber = 1; + private uint i2CId_; + /// <summary> + /// </summary> + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint I2CId { + get { return i2CId_; } + set { + i2CId_ = value; + } + } + + /// <summary>Field number for the "SlaveAddress" field.</summary> + public const int SlaveAddressFieldNumber = 2; + private uint slaveAddress_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint SlaveAddress { + get { return slaveAddress_; } + set { + slaveAddress_ = value; + } + } + + /// <summary>Field number for the "NumberOfBytesToRead" field.</summary> + public const int NumberOfBytesToReadFieldNumber = 3; + private uint numberOfBytesToRead_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint NumberOfBytesToRead { + get { return numberOfBytesToRead_; } + set { + numberOfBytesToRead_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as StubI2CReadBytesRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(StubI2CReadBytesRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (I2CId != other.I2CId) return false; + if (SlaveAddress != other.SlaveAddress) return false; + if (NumberOfBytesToRead != other.NumberOfBytesToRead) return false; + return true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + if (I2CId != 0) hash ^= I2CId.GetHashCode(); + if (SlaveAddress != 0) hash ^= SlaveAddress.GetHashCode(); + if (NumberOfBytesToRead != 0) hash ^= NumberOfBytesToRead.GetHashCode(); + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + if (I2CId != 0) { + output.WriteRawTag(8); + output.WriteUInt32(I2CId); + } + if (SlaveAddress != 0) { + output.WriteRawTag(16); + output.WriteUInt32(SlaveAddress); + } + if (NumberOfBytesToRead != 0) { + output.WriteRawTag(24); + output.WriteUInt32(NumberOfBytesToRead); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + if (I2CId != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(I2CId); + } + if (SlaveAddress != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SlaveAddress); + } + if (NumberOfBytesToRead != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NumberOfBytesToRead); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(StubI2CReadBytesRequest other) { + if (other == null) { + return; + } + if (other.I2CId != 0) { + I2CId = other.I2CId; + } + if (other.SlaveAddress != 0) { + SlaveAddress = other.SlaveAddress; + } + if (other.NumberOfBytesToRead != 0) { + NumberOfBytesToRead = other.NumberOfBytesToRead; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + input.SkipLastField(); + break; + case 8: { + I2CId = input.ReadUInt32(); + break; + } + case 16: { + SlaveAddress = input.ReadUInt32(); + break; + } + case 24: { + NumberOfBytesToRead = input.ReadUInt32(); + break; + } + } + } + } + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/Software/Visual_Studio/Tango.PMR/Stubs/StubI2CReadBytesResponse.cs b/Software/Visual_Studio/Tango.PMR/Stubs/StubI2CReadBytesResponse.cs new file mode 100644 index 000000000..a57b54d22 --- /dev/null +++ b/Software/Visual_Studio/Tango.PMR/Stubs/StubI2CReadBytesResponse.cs @@ -0,0 +1,274 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: StubI2CReadBytesResponse.proto +#pragma warning disable 1591, 0612, 3021 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace Tango.PMR.Stubs { + + /// <summary>Holder for reflection information generated from StubI2CReadBytesResponse.proto</summary> + public static partial class StubI2CReadBytesResponseReflection { + + #region Descriptor + /// <summary>File descriptor for StubI2CReadBytesResponse.proto</summary> + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static StubI2CReadBytesResponseReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "Ch5TdHViSTJDUmVhZEJ5dGVzUmVzcG9uc2UucHJvdG8SD1RhbmdvLlBNUi5T", + "dHVicyJ2ChhTdHViSTJDUmVhZEJ5dGVzUmVzcG9uc2USDQoFSTJDSWQYASAB", + "KA0SFAoMU2xhdmVBZGRyZXNzGAIgASgNEhEKCVJlYWRCeXRlcxgDIAMoDRIO", + "CgZTdGF0dXMYBCABKAkSEgoKU3RhdHVzV29yZBgFIAEoDUIbChljb20udHdp", + "bmUudGFuZ28ucG1yLnN0dWJzYgZwcm90bzM=")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Stubs.StubI2CReadBytesResponse), global::Tango.PMR.Stubs.StubI2CReadBytesResponse.Parser, new[]{ "I2CId", "SlaveAddress", "ReadBytes", "Status", "StatusWord" }, null, null, null) + })); + } + #endregion + + } + #region Messages + public sealed partial class StubI2CReadBytesResponse : pb::IMessage<StubI2CReadBytesResponse> { + private static readonly pb::MessageParser<StubI2CReadBytesResponse> _parser = new pb::MessageParser<StubI2CReadBytesResponse>(() => new StubI2CReadBytesResponse()); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser<StubI2CReadBytesResponse> Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::Tango.PMR.Stubs.StubI2CReadBytesResponseReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StubI2CReadBytesResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StubI2CReadBytesResponse(StubI2CReadBytesResponse other) : this() { + i2CId_ = other.i2CId_; + slaveAddress_ = other.slaveAddress_; + readBytes_ = other.readBytes_.Clone(); + status_ = other.status_; + statusWord_ = other.statusWord_; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StubI2CReadBytesResponse Clone() { + return new StubI2CReadBytesResponse(this); + } + + /// <summary>Field number for the "I2CId" field.</summary> + public const int I2CIdFieldNumber = 1; + private uint i2CId_; + /// <summary> + /// </summary> + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint I2CId { + get { return i2CId_; } + set { + i2CId_ = value; + } + } + + /// <summary>Field number for the "SlaveAddress" field.</summary> + public const int SlaveAddressFieldNumber = 2; + private uint slaveAddress_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint SlaveAddress { + get { return slaveAddress_; } + set { + slaveAddress_ = value; + } + } + + /// <summary>Field number for the "ReadBytes" field.</summary> + public const int ReadBytesFieldNumber = 3; + private static readonly pb::FieldCodec<uint> _repeated_readBytes_codec + = pb::FieldCodec.ForUInt32(26); + private readonly pbc::RepeatedField<uint> readBytes_ = new pbc::RepeatedField<uint>(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public pbc::RepeatedField<uint> ReadBytes { + get { return readBytes_; } + } + + /// <summary>Field number for the "Status" field.</summary> + public const int StatusFieldNumber = 4; + private string status_ = ""; + /// <summary> + /// Passed/Failed + /// </summary> + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public string Status { + get { return status_; } + set { + status_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// <summary>Field number for the "StatusWord" field.</summary> + public const int StatusWordFieldNumber = 5; + private uint statusWord_; + /// <summary> + /// Error number/bit when the status is Failed + /// </summary> + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint StatusWord { + get { return statusWord_; } + set { + statusWord_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as StubI2CReadBytesResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(StubI2CReadBytesResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (I2CId != other.I2CId) return false; + if (SlaveAddress != other.SlaveAddress) return false; + if(!readBytes_.Equals(other.readBytes_)) return false; + if (Status != other.Status) return false; + if (StatusWord != other.StatusWord) return false; + return true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + if (I2CId != 0) hash ^= I2CId.GetHashCode(); + if (SlaveAddress != 0) hash ^= SlaveAddress.GetHashCode(); + hash ^= readBytes_.GetHashCode(); + if (Status.Length != 0) hash ^= Status.GetHashCode(); + if (StatusWord != 0) hash ^= StatusWord.GetHashCode(); + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + if (I2CId != 0) { + output.WriteRawTag(8); + output.WriteUInt32(I2CId); + } + if (SlaveAddress != 0) { + output.WriteRawTag(16); + output.WriteUInt32(SlaveAddress); + } + readBytes_.WriteTo(output, _repeated_readBytes_codec); + if (Status.Length != 0) { + output.WriteRawTag(34); + output.WriteString(Status); + } + if (StatusWord != 0) { + output.WriteRawTag(40); + output.WriteUInt32(StatusWord); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + if (I2CId != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(I2CId); + } + if (SlaveAddress != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SlaveAddress); + } + size += readBytes_.CalculateSize(_repeated_readBytes_codec); + if (Status.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Status); + } + if (StatusWord != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(StatusWord); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(StubI2CReadBytesResponse other) { + if (other == null) { + return; + } + if (other.I2CId != 0) { + I2CId = other.I2CId; + } + if (other.SlaveAddress != 0) { + SlaveAddress = other.SlaveAddress; + } + readBytes_.Add(other.readBytes_); + if (other.Status.Length != 0) { + Status = other.Status; + } + if (other.StatusWord != 0) { + StatusWord = other.StatusWord; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + input.SkipLastField(); + break; + case 8: { + I2CId = input.ReadUInt32(); + break; + } + case 16: { + SlaveAddress = input.ReadUInt32(); + break; + } + case 26: + case 24: { + readBytes_.AddEntriesFrom(input, _repeated_readBytes_codec); + break; + } + case 34: { + Status = input.ReadString(); + break; + } + case 40: { + StatusWord = input.ReadUInt32(); + break; + } + } + } + } + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/Software/Visual_Studio/Tango.PMR/Stubs/StubI2CResponse.cs b/Software/Visual_Studio/Tango.PMR/Stubs/StubI2CResponse.cs index 31031d3da..0ee294f27 100644 --- a/Software/Visual_Studio/Tango.PMR/Stubs/StubI2CResponse.cs +++ b/Software/Visual_Studio/Tango.PMR/Stubs/StubI2CResponse.cs @@ -24,7 +24,7 @@ namespace Tango.PMR.Stubs { string.Concat( "ChVTdHViSTJDUmVzcG9uc2UucHJvdG8SD1RhbmdvLlBNUi5TdHVicyJWCg9T", "dHViSTJDUmVzcG9uc2USDQoFSTJDSWQYASABKA0SEAoIUmVhZEJ5dGUYAiAB", - "KA0SDgoGU3RhdHVzGAUgASgJEhIKClN0YXR1c1dvcmQYBiABKA1CGwoZY29t", + "KA0SDgoGU3RhdHVzGAMgASgJEhIKClN0YXR1c1dvcmQYBCABKA1CGwoZY29t", "LnR3aW5lLnRhbmdvLnBtci5zdHVic2IGcHJvdG8z")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { }, @@ -96,7 +96,7 @@ namespace Tango.PMR.Stubs { } /// <summary>Field number for the "Status" field.</summary> - public const int StatusFieldNumber = 5; + public const int StatusFieldNumber = 3; private string status_ = ""; /// <summary> /// Passed/Failed @@ -110,7 +110,7 @@ namespace Tango.PMR.Stubs { } /// <summary>Field number for the "StatusWord" field.</summary> - public const int StatusWordFieldNumber = 6; + public const int StatusWordFieldNumber = 4; private uint statusWord_; /// <summary> /// Error number/bit when the status is Failed @@ -169,11 +169,11 @@ namespace Tango.PMR.Stubs { output.WriteUInt32(ReadByte); } if (Status.Length != 0) { - output.WriteRawTag(42); + output.WriteRawTag(26); output.WriteString(Status); } if (StatusWord != 0) { - output.WriteRawTag(48); + output.WriteRawTag(32); output.WriteUInt32(StatusWord); } } @@ -231,11 +231,11 @@ namespace Tango.PMR.Stubs { ReadByte = input.ReadUInt32(); break; } - case 42: { + case 26: { Status = input.ReadString(); break; } - case 48: { + case 32: { StatusWord = input.ReadUInt32(); break; } diff --git a/Software/Visual_Studio/Tango.PMR/Stubs/StubI2CWriteBytesRequest.cs b/Software/Visual_Studio/Tango.PMR/Stubs/StubI2CWriteBytesRequest.cs new file mode 100644 index 000000000..de44468de --- /dev/null +++ b/Software/Visual_Studio/Tango.PMR/Stubs/StubI2CWriteBytesRequest.cs @@ -0,0 +1,211 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: StubI2CWriteBytesRequest.proto +#pragma warning disable 1591, 0612, 3021 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace Tango.PMR.Stubs { + + /// <summary>Holder for reflection information generated from StubI2CWriteBytesRequest.proto</summary> + public static partial class StubI2CWriteBytesRequestReflection { + + #region Descriptor + /// <summary>File descriptor for StubI2CWriteBytesRequest.proto</summary> + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static StubI2CWriteBytesRequestReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "Ch5TdHViSTJDV3JpdGVCeXRlc1JlcXVlc3QucHJvdG8SD1RhbmdvLlBNUi5T", + "dHVicyJUChhTdHViSTJDV3JpdGVCeXRlc1JlcXVlc3QSDQoFSTJDSWQYASAB", + "KA0SFAoMU2xhdmVBZGRyZXNzGAIgASgNEhMKC0J5dGVzVFdyaXRlGAMgAygN", + "QhsKGWNvbS50d2luZS50YW5nby5wbXIuc3R1YnNiBnByb3RvMw==")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Stubs.StubI2CWriteBytesRequest), global::Tango.PMR.Stubs.StubI2CWriteBytesRequest.Parser, new[]{ "I2CId", "SlaveAddress", "BytesTWrite" }, null, null, null) + })); + } + #endregion + + } + #region Messages + public sealed partial class StubI2CWriteBytesRequest : pb::IMessage<StubI2CWriteBytesRequest> { + private static readonly pb::MessageParser<StubI2CWriteBytesRequest> _parser = new pb::MessageParser<StubI2CWriteBytesRequest>(() => new StubI2CWriteBytesRequest()); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser<StubI2CWriteBytesRequest> Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::Tango.PMR.Stubs.StubI2CWriteBytesRequestReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StubI2CWriteBytesRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StubI2CWriteBytesRequest(StubI2CWriteBytesRequest other) : this() { + i2CId_ = other.i2CId_; + slaveAddress_ = other.slaveAddress_; + bytesTWrite_ = other.bytesTWrite_.Clone(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StubI2CWriteBytesRequest Clone() { + return new StubI2CWriteBytesRequest(this); + } + + /// <summary>Field number for the "I2CId" field.</summary> + public const int I2CIdFieldNumber = 1; + private uint i2CId_; + /// <summary> + /// </summary> + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint I2CId { + get { return i2CId_; } + set { + i2CId_ = value; + } + } + + /// <summary>Field number for the "SlaveAddress" field.</summary> + public const int SlaveAddressFieldNumber = 2; + private uint slaveAddress_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint SlaveAddress { + get { return slaveAddress_; } + set { + slaveAddress_ = value; + } + } + + /// <summary>Field number for the "BytesTWrite" field.</summary> + public const int BytesTWriteFieldNumber = 3; + private static readonly pb::FieldCodec<uint> _repeated_bytesTWrite_codec + = pb::FieldCodec.ForUInt32(26); + private readonly pbc::RepeatedField<uint> bytesTWrite_ = new pbc::RepeatedField<uint>(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public pbc::RepeatedField<uint> BytesTWrite { + get { return bytesTWrite_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as StubI2CWriteBytesRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(StubI2CWriteBytesRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (I2CId != other.I2CId) return false; + if (SlaveAddress != other.SlaveAddress) return false; + if(!bytesTWrite_.Equals(other.bytesTWrite_)) return false; + return true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + if (I2CId != 0) hash ^= I2CId.GetHashCode(); + if (SlaveAddress != 0) hash ^= SlaveAddress.GetHashCode(); + hash ^= bytesTWrite_.GetHashCode(); + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + if (I2CId != 0) { + output.WriteRawTag(8); + output.WriteUInt32(I2CId); + } + if (SlaveAddress != 0) { + output.WriteRawTag(16); + output.WriteUInt32(SlaveAddress); + } + bytesTWrite_.WriteTo(output, _repeated_bytesTWrite_codec); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + if (I2CId != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(I2CId); + } + if (SlaveAddress != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SlaveAddress); + } + size += bytesTWrite_.CalculateSize(_repeated_bytesTWrite_codec); + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(StubI2CWriteBytesRequest other) { + if (other == null) { + return; + } + if (other.I2CId != 0) { + I2CId = other.I2CId; + } + if (other.SlaveAddress != 0) { + SlaveAddress = other.SlaveAddress; + } + bytesTWrite_.Add(other.bytesTWrite_); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + input.SkipLastField(); + break; + case 8: { + I2CId = input.ReadUInt32(); + break; + } + case 16: { + SlaveAddress = input.ReadUInt32(); + break; + } + case 26: + case 24: { + bytesTWrite_.AddEntriesFrom(input, _repeated_bytesTWrite_codec); + break; + } + } + } + } + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/Software/Visual_Studio/Tango.PMR/Stubs/StubI2CWriteBytesResponse.cs b/Software/Visual_Studio/Tango.PMR/Stubs/StubI2CWriteBytesResponse.cs new file mode 100644 index 000000000..dd25c1b7c --- /dev/null +++ b/Software/Visual_Studio/Tango.PMR/Stubs/StubI2CWriteBytesResponse.cs @@ -0,0 +1,253 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: StubI2CWriteBytesResponse.proto +#pragma warning disable 1591, 0612, 3021 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace Tango.PMR.Stubs { + + /// <summary>Holder for reflection information generated from StubI2CWriteBytesResponse.proto</summary> + public static partial class StubI2CWriteBytesResponseReflection { + + #region Descriptor + /// <summary>File descriptor for StubI2CWriteBytesResponse.proto</summary> + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static StubI2CWriteBytesResponseReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "Ch9TdHViSTJDV3JpdGVCeXRlc1Jlc3BvbnNlLnByb3RvEg9UYW5nby5QTVIu", + "U3R1YnMiZAoZU3R1YkkyQ1dyaXRlQnl0ZXNSZXNwb25zZRINCgVJMkNJZBgB", + "IAEoDRIUCgxTbGF2ZUFkZHJlc3MYAiABKA0SDgoGU3RhdHVzGAMgASgJEhIK", + "ClN0YXR1c1dvcmQYBCABKA1CGwoZY29tLnR3aW5lLnRhbmdvLnBtci5zdHVi", + "c2IGcHJvdG8z")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Stubs.StubI2CWriteBytesResponse), global::Tango.PMR.Stubs.StubI2CWriteBytesResponse.Parser, new[]{ "I2CId", "SlaveAddress", "Status", "StatusWord" }, null, null, null) + })); + } + #endregion + + } + #region Messages + public sealed partial class StubI2CWriteBytesResponse : pb::IMessage<StubI2CWriteBytesResponse> { + private static readonly pb::MessageParser<StubI2CWriteBytesResponse> _parser = new pb::MessageParser<StubI2CWriteBytesResponse>(() => new StubI2CWriteBytesResponse()); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser<StubI2CWriteBytesResponse> Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::Tango.PMR.Stubs.StubI2CWriteBytesResponseReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StubI2CWriteBytesResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StubI2CWriteBytesResponse(StubI2CWriteBytesResponse other) : this() { + i2CId_ = other.i2CId_; + slaveAddress_ = other.slaveAddress_; + status_ = other.status_; + statusWord_ = other.statusWord_; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StubI2CWriteBytesResponse Clone() { + return new StubI2CWriteBytesResponse(this); + } + + /// <summary>Field number for the "I2CId" field.</summary> + public const int I2CIdFieldNumber = 1; + private uint i2CId_; + /// <summary> + /// </summary> + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint I2CId { + get { return i2CId_; } + set { + i2CId_ = value; + } + } + + /// <summary>Field number for the "SlaveAddress" field.</summary> + public const int SlaveAddressFieldNumber = 2; + private uint slaveAddress_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint SlaveAddress { + get { return slaveAddress_; } + set { + slaveAddress_ = value; + } + } + + /// <summary>Field number for the "Status" field.</summary> + public const int StatusFieldNumber = 3; + private string status_ = ""; + /// <summary> + /// Passed/Failed + /// </summary> + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public string Status { + get { return status_; } + set { + status_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// <summary>Field number for the "StatusWord" field.</summary> + public const int StatusWordFieldNumber = 4; + private uint statusWord_; + /// <summary> + /// Error number/bit when the status is Failed + /// </summary> + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public uint StatusWord { + get { return statusWord_; } + set { + statusWord_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as StubI2CWriteBytesResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(StubI2CWriteBytesResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (I2CId != other.I2CId) return false; + if (SlaveAddress != other.SlaveAddress) return false; + if (Status != other.Status) return false; + if (StatusWord != other.StatusWord) return false; + return true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + if (I2CId != 0) hash ^= I2CId.GetHashCode(); + if (SlaveAddress != 0) hash ^= SlaveAddress.GetHashCode(); + if (Status.Length != 0) hash ^= Status.GetHashCode(); + if (StatusWord != 0) hash ^= StatusWord.GetHashCode(); + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + if (I2CId != 0) { + output.WriteRawTag(8); + output.WriteUInt32(I2CId); + } + if (SlaveAddress != 0) { + output.WriteRawTag(16); + output.WriteUInt32(SlaveAddress); + } + if (Status.Length != 0) { + output.WriteRawTag(26); + output.WriteString(Status); + } + if (StatusWord != 0) { + output.WriteRawTag(32); + output.WriteUInt32(StatusWord); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + if (I2CId != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(I2CId); + } + if (SlaveAddress != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SlaveAddress); + } + if (Status.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Status); + } + if (StatusWord != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(StatusWord); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(StubI2CWriteBytesResponse other) { + if (other == null) { + return; + } + if (other.I2CId != 0) { + I2CId = other.I2CId; + } + if (other.SlaveAddress != 0) { + SlaveAddress = other.SlaveAddress; + } + if (other.Status.Length != 0) { + Status = other.Status; + } + if (other.StatusWord != 0) { + StatusWord = other.StatusWord; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + input.SkipLastField(); + break; + case 8: { + I2CId = input.ReadUInt32(); + break; + } + case 16: { + SlaveAddress = input.ReadUInt32(); + break; + } + case 26: { + Status = input.ReadString(); + break; + } + case 32: { + StatusWord = input.ReadUInt32(); + break; + } + } + } + } + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/Software/Visual_Studio/Tango.Touch/Controls/LightTouchDataGrid.cs b/Software/Visual_Studio/Tango.Touch/Controls/LightTouchDataGrid.cs index 410ed6056..8355995d6 100644 --- a/Software/Visual_Studio/Tango.Touch/Controls/LightTouchDataGrid.cs +++ b/Software/Visual_Studio/Tango.Touch/Controls/LightTouchDataGrid.cs @@ -235,9 +235,10 @@ namespace Tango.Touch.Controls if (row != _firstMultiSelectionRow) { row.IsSelected = !row.IsSelected; - _firstMultiSelectionRow = null; } + _firstMultiSelectionRow = null; + if (!row.IsSelected && otherRows.All(x => !x.IsSelected)) { IsMultiSelecting = false; diff --git a/Software/Visual_Studio/Tango.Touch/Controls/LightTouchDataGrid.xaml b/Software/Visual_Studio/Tango.Touch/Controls/LightTouchDataGrid.xaml index bbbc48724..623ead7b0 100644 --- a/Software/Visual_Studio/Tango.Touch/Controls/LightTouchDataGrid.xaml +++ b/Software/Visual_Studio/Tango.Touch/Controls/LightTouchDataGrid.xaml @@ -42,16 +42,45 @@ <Style TargetType="{x:Type local:LightTouchDataGridRow}"> <Setter Property="VerticalContentAlignment" Value="Center"></Setter> <Setter Property="HorizontalContentAlignment" Value="Center"></Setter> + <Setter Property="RenderTransform"> + <Setter.Value> + <ScaleTransform ScaleX="1" ScaleY="1" /> + </Setter.Value> + </Setter> + <Setter Property="SelectedMaskTemplate"> + <Setter.Value> + <DataTemplate> + <Grid HorizontalAlignment="Left" VerticalAlignment="Top" Margin="-5 -5 0 0"> + <Ellipse Width="24" Height="24" Fill="#56B814"></Ellipse> + <fa:ImageAwesome Width="10" Height="10" Icon="Check" Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center" /> + </Grid> + </DataTemplate> + </Setter.Value> + </Setter> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type local:LightTouchDataGridRow}"> - <Border Background="{TemplateBinding Background}" + <Grid> + <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}" Padding="{TemplateBinding Padding}"> - <ContentPresenter Content="{TemplateBinding Content}" /> - </Border> + <ContentPresenter Content="{TemplateBinding Content}" /> + </Border> + <ContentControl x:Name="mask" IsHitTestVisible="False" Content="{Binding}" ContentTemplate="{TemplateBinding SelectedMaskTemplate}"> + <ContentControl.Style> + <Style TargetType="ContentControl"> + <Setter Property="Visibility" Value="Hidden"></Setter> + <Style.Triggers> + <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=local:LightTouchDataGridRow},Path=IsSelected}" Value="True"> + <Setter Property="Visibility" Value="Visible"></Setter> + </DataTrigger> + </Style.Triggers> + </Style> + </ContentControl.Style> + </ContentControl> + </Grid> </ControlTemplate> </Setter.Value> </Setter> @@ -63,6 +92,23 @@ </MultiDataTrigger.Conditions> <Setter Property="Background" Value="{StaticResource TangoLightSelectedBrush}"></Setter> + + <MultiDataTrigger.EnterActions> + <BeginStoryboard> + <Storyboard> + <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX" To="0.98" Duration="00:00:0.1" /> + <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" To="0.98" Duration="00:00:0.1" /> + </Storyboard> + </BeginStoryboard> + </MultiDataTrigger.EnterActions> + <MultiDataTrigger.ExitActions> + <BeginStoryboard> + <Storyboard> + <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX" To="1" Duration="00:00:0.1" /> + <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" To="1" Duration="00:00:0.1" /> + </Storyboard> + </BeginStoryboard> + </MultiDataTrigger.ExitActions> </MultiDataTrigger> </Style.Triggers> </Style> diff --git a/Software/Visual_Studio/Tango.Touch/Controls/LightTouchDataGridRow.cs b/Software/Visual_Studio/Tango.Touch/Controls/LightTouchDataGridRow.cs index a22567278..c0bb2c45d 100644 --- a/Software/Visual_Studio/Tango.Touch/Controls/LightTouchDataGridRow.cs +++ b/Software/Visual_Studio/Tango.Touch/Controls/LightTouchDataGridRow.cs @@ -24,6 +24,16 @@ namespace Tango.Touch.Controls public static readonly DependencyProperty IsSelectedProperty = DependencyProperty.Register("IsSelected", typeof(bool), typeof(LightTouchDataGridRow), new PropertyMetadata(false)); + public DataTemplate SelectedMaskTemplate + { + get { return (DataTemplate)GetValue(SelectedMaskTemplateProperty); } + set { SetValue(SelectedMaskTemplateProperty, value); } + } + public static readonly DependencyProperty SelectedMaskTemplateProperty = + DependencyProperty.Register("SelectedMaskTemplate", typeof(DataTemplate), typeof(LightTouchDataGridRow), new PropertyMetadata(null)); + + + static LightTouchDataGridRow() { DefaultStyleKeyProperty.OverrideMetadata(typeof(LightTouchDataGridRow), new FrameworkPropertyMetadata(typeof(LightTouchDataGridRow))); diff --git a/Software/Visual_Studio/Tango.Touch/Tango.Touch.csproj b/Software/Visual_Studio/Tango.Touch/Tango.Touch.csproj index 02e287828..9dd79de83 100644 --- a/Software/Visual_Studio/Tango.Touch/Tango.Touch.csproj +++ b/Software/Visual_Studio/Tango.Touch/Tango.Touch.csproj @@ -34,9 +34,6 @@ <Reference Include="FontAwesome.WPF, Version=4.7.0.37774, Culture=neutral, PublicKeyToken=0758b07a11a4f466, processorArchitecture=MSIL"> <HintPath>..\packages\FontAwesome.WPF.4.7.0.9\lib\net40\FontAwesome.WPF.dll</HintPath> </Reference> - <Reference Include="Microsoft.Surface, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" /> - <Reference Include="Microsoft.Surface.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" /> - <Reference Include="Microsoft.Surface.Presentation, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" /> <Reference Include="PresentationFramework.Aero" /> <Reference Include="System" /> <Reference Include="System.Data" /> diff --git a/Software/Visual_Studio/Web/Tango.MachineService/App_Data/Tango.db b/Software/Visual_Studio/Web/Tango.MachineService/App_Data/Tango.db Binary files differindex 336f96dcf..59973a131 100644 --- a/Software/Visual_Studio/Web/Tango.MachineService/App_Data/Tango.db +++ b/Software/Visual_Studio/Web/Tango.MachineService/App_Data/Tango.db |
