aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Modules/Tango.PPC.Events/Views/MainView.xaml.cs
blob: aef2f5c5f86c636bcfec08f89f2e86acbae27960 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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.PPC.Events.Views
{
    /// <summary>
    /// Interaction logic for MainView.xaml
    /// </summary>
    public partial class MainView : UserControl
    {
        public MainView()
        {
            InitializeComponent();
        }

        private void dataGridEvent_SelectionChanged(object sender, EventArgs e)
        {
            Task.Delay(100).ContinueWith((x) =>
            {
                this.BeginInvoke(() =>
                {
                    dataGridEvent.LayoutRows(false);

                    var selected_row = dataGridEvent.GetRows().FirstOrDefault(y => y.IsSelected);

                    if (selected_row != null)
                    {
                        dataGridEvent.ScrollViewer.ScrollToElement(selected_row);
                    }
                });
            });
        }

        private void gridEventsHistory_SelectionChanged(object sender, EventArgs e)
        {
            Task.Delay(100).ContinueWith((x) =>
            {
                this.BeginInvoke(() =>
                {
                    gridEventsHistory.LayoutRows(false);

                    var selected_row = gridEventsHistory.GetRows().FirstOrDefault(y => y.IsSelected);

                    if (selected_row != null)
                    {
                        gridEventsHistory.ScrollViewer.ScrollToElement(selected_row);
                    }
                });
            });
        }
    }
}
">double.IsNaN(grid.Height)) { grid.BeginAnimation(Grid.HeightProperty, heightAnimation); } else { grid.Height = Graph.gridLinesAndImageWrapperGrid.ActualHeight; } grid.VerticalAlignment = System.Windows.VerticalAlignment.Top; ThicknessAnimation marginAni = new ThicknessAnimation() { Duration = new Duration(TimeSpan.FromSeconds(animationTime)) }; marginAni.To = new Thickness(0, Graph.gridLinesAndImageWrapperGrid.Margin.Top, 0, 0); if (!double.IsNaN(grid.Height)) { grid.BeginAnimation(MarginProperty, marginAni); } else { grid.Margin = new Thickness(0, Graph.gridLinesAndImageWrapperGrid.Margin.Top, 0, 0); } this.ClipToBounds = true; this.Content = grid; double height = double.IsNaN(Graph.gridLinesAndImageWrapperGrid.Height) ? Graph.gridLinesAndImageWrapperGrid.ActualHeight : Graph.gridLinesAndImageWrapperGrid.Height; int interval = (int)Math.Round((Interval * (((height * 100) / Graph.gridMain.ActualHeight) / 100)), MidpointRounding.ToEven); grid.RowDefinitions.Clear(); grid.Children.Clear(); for (int i = 0; i < interval; i++) { RowDefinition rowLabels = new RowDefinition(); rowLabels.Height = new GridLength(1, GridUnitType.Star); grid.RowDefinitions.Add(rowLabels); } for (int i = 0; i < interval; i++) { AddLabel(Math.Abs((graph.Maximum - (i * ((graph.Maximum + Math.Abs(graph.Minimum)) / (interval / 2))))).ToString(StringFormat), graph, grid, i, System.Windows.VerticalAlignment.Top); } AddLabel(graph.Maximum.ToString(StringFormat), graph, grid, interval - 1, System.Windows.VerticalAlignment.Bottom); } protected override void OnGraphZoomComplete(Point transformOrigin, double scaleX, double scaleY) { Render(Graph, true); } protected override void OnGraphPanningComplete(Point translate) { if (innerGrid != null) { var renderBounds = Graph.GetGraphRenderBounds(); innerGrid.BeginAnimation(MarginProperty, null); innerGrid.Margin = new Thickness(0, renderBounds.Top, 0, 0); } } } }